Previous Thread
Next Thread
Print Thread
#113743 08/01/18 09:22 PM
Joined: Apr 2012
Posts: 328
Likes: 28
Pernod Online Content OP
Senior Member
OP Online Content
Senior Member
Joined: Apr 2012
Posts: 328
Likes: 28
After the recent overhaul of the Acorn System machines I'm now looking at the Microtan 65. The current Microtan emulation is actually very preliminary, or regressed over the years. It boots but little else.

Current attempt at running BASIC:
[Linked Image]

I'm slotifying the various cards that make up the system, starting with the TANEX (ROM/RAM expansion) card that contains BASIC:
[Linked Image]
Note: Video RAM is now randomised at startup for the authentic look.

The TANEX card can also contain FORTH:
[Linked Image]

There are also various version of the monitor ROM (defaults to TANBUG V2.3) such as TANBUG V.3B which is intended to be used with a separate Mousepackets Designs Colour VDU card (with SAA5050):
[Linked Image]

There's also TUGBUG V1.1 for use with a 80/82 Video terminal card (not yet fully working):
[Linked Image]

In 1984 Ralph Allen Engineering produced a 6809 CPU card for the Microtan system, running their own RALBUG monitor. This didn't have it's own video output so requires the Ralph Allen Colour VDU card (with SAA5055):
[Linked Image]
Note: I knew the other SAA505X characters sets would come in handy one day smile

In 1980 in Electronics Today International there was a project to create a standalone game Space Invasion based upon the Microtan hardware, with dedicated sound hardware:
[Linked Image]

There are a few Microtan games out there but are in .M65 snapshot format. These will be softlisted, and here's Moon Rescue:
[Linked Image]

Current development status of various cards:
TANEX - Good, adds extra RAM and ROM configurations.
TANRAM - Good, adds more RAM.
TANDOS - Preliminary, awaiting floppy images for testing.
Mousepackets Colour VDU - Good.
Ralph Allen Colour VDU - Good (for use with 6809).
Microtanic 80/82 Video - Preliminary.
Bulldog Sound Generator - Good, contains 2xAY8910 and used by various games. Moon Cresta plays classic Rydeen!

There are a few software/toolkit ROM images out there that could be softlisted. The problem is that they each require mapping to different locations, and some (BASIC, FORTH, etc.) are two ROMs that only work if both are inserted into correct slots. This could get confusing to a user that doesn't know the system, ie. which ROMs should be in each slot, which configurations are valid, etc.

To simplify this I intend to implement pre-populated TANEX/COMBO cards (both contain switchable ROM/RAM sets) with machine configuration to select ROMs. I currently have a TANEX board implemented with following configuration (this is a real hardware example):
Code
PORT_START("CONFIG")
PORT_CONFNAME(0x03, 0x00, "H2 Extension Eprom Board")
PORT_CONFSETTING(0x00, "Microsoft BASIC")
PORT_CONFSETTING(0x01, "Microtanic FORTH")
PORT_CONFSETTING(0x02, "2-Pass Assembler")
PORT_CONFNAME(0x1c, 0x00, "E2 Extension Eprom Board")
PORT_CONFSETTING(0x00, "Toolkit")
PORT_CONFSETTING(0x04, "High Resolution Graphics")
PORT_CONFSETTING(0x08, "ETI Space Invasion")
PORT_CONFSETTING(0x10, "<empty>")


Last edited by Pernod; 08/01/18 09:29 PM.

BBC Model B, ATPL Sidewise, Acorn Speech, 2xWatford Floppy Drives, AMX Mouse, Viglen case, etc.
Pernod #113746 08/02/18 11:42 AM
Joined: Apr 2012
Posts: 328
Likes: 28
Pernod Online Content OP
Senior Member
OP Online Content
Senior Member
Joined: Apr 2012
Posts: 328
Likes: 28
The minimum configuration for a Microtan system is a CPU card which has it's own chunky video output, as seen in the first screenshots above. Some of the alternative video cards have their own video output in which case I add another screen for them. But other video cards send their video through the bus for the CPU card to output.

There are also HiRes boards that can be used singularly for monochrome output or as a set of 3 to produce RGB colour, and this can be mixed with the CPU card output to mix text and graphics. The HiRes and CPU cards both output 256x256. Any suggestions on how this can be implemented?


BBC Model B, ATPL Sidewise, Acorn Speech, 2xWatford Floppy Drives, AMX Mouse, Viglen case, etc.
Pernod #113747 08/02/18 12:45 PM
Joined: Mar 2001
Posts: 16,942
Likes: 69
R
Very Senior Member
Offline
Very Senior Member
R
Joined: Mar 2001
Posts: 16,942
Likes: 69
MAME is currently really bad at letting a second source take over an existing screen (I have a similar issue with 80-column cards on the Apple II). Perhaps this is something Vas can improve while he's messing with the layout stuff.

Pernod #113748 08/02/18 02:12 PM
Joined: Apr 2012
Posts: 328
Likes: 28
Pernod Online Content OP
Senior Member
OP Online Content
Senior Member
Joined: Apr 2012
Posts: 328
Likes: 28
I'm in no rush for the HiRes cards anyway, as I'm not aware of any available software that uses them.

Just fixed a very long standing and annoying bug that makes all snapshots from http://www.geoff.org.uk/microtan/game_pack_1.htm now playable. The snapshot image contains a single byte for the stack pointer which was being applied to the 6502, but the 6502 stack is in page 1 so needed 0x100 adding, doh!


BBC Model B, ATPL Sidewise, Acorn Speech, 2xWatford Floppy Drives, AMX Mouse, Viglen case, etc.
Pernod #113800 08/10/18 09:08 PM
Joined: Apr 2012
Posts: 328
Likes: 28
Pernod Online Content OP
Senior Member
OP Online Content
Senior Member
Joined: Apr 2012
Posts: 328
Likes: 28
Some more progress:
- Microtan 6809 System: now has working keyboard, awaiting 4 more ROM images to complete the system.
- TANDOS: I'm in contact with an owner at http://www.microtan.ukpc.net/pageProducts.html#DOS who has provided some floppy images in HxC format, they are FM 80trk, 10spt (same as BBC). I see we support them in hxchfe.dsk but how well are they supported? The 1793 FDC is struggling to seek a sector and not sure whether it's my implementation or a hxchfe.dsk issue. I'm tempted to extract RAW from HFE and define a new format using build_wd_track_fm to rule out hxchfe.dsk.
- Space Invasion: Looking for advice on how to implement the sound effects, schematic at http://www.microtan.ukpc.net/Software/SpaceInvasionETI.pdf. I contacted the emulator author at http://www.geoff.org.uk/microtan/download.htm but he's never heard the actual hardware, and his sounds are borrowed from MAME Space Invaders (almost 20 years ago), so not much help.


BBC Model B, ATPL Sidewise, Acorn Speech, 2xWatford Floppy Drives, AMX Mouse, Viglen case, etc.
Pernod #114957 03/28/19 12:02 PM
Joined: Apr 2012
Posts: 328
Likes: 28
Pernod Online Content OP
Senior Member
OP Online Content
Senior Member
Joined: Apr 2012
Posts: 328
Likes: 28
The Microtan system has a CPU board and various other boards connected via a backplane motherboard, the 6MHz clock from the CPU board is shared with all other boards via the backplane. I've setup the card slot devices similar to the Acorn System bus, see https://github.com/mamedev/mame/blob/master/src/devices/bus/acorn/bus.h.

I'm defining the clock for the TANBUS device but would like each TANBUS_SLOT to inherit the clock from TANBUS, so that I can use DERIVED_CLOCK in the actual cards, is this possible? Alternatively, I could easily add the clock parameter to each TANBUS_SLOT, but would prefer to only set the clock once rather than for each slot.
Code
TANBUS(config, m_tanbus, 6_MHz_XTAL);
m_tanbus->set_space(m_maincpu, AS_PROGRAM);
m_tanbus->out_irq_callback().set(m_irq_line, FUNC(input_merger_device::in_w<IRQ_TANBUS>));
m_tanbus->out_so_callback().set_inputline(m_maincpu, M6502_SET_OVERFLOW);
m_tanbus->out_nmi_callback().set_inputline(m_maincpu, M6502_NMI_LINE);

TANBUS_SLOT(config, "tanex", m_tanbus, tanex_devices, "tanex");
TANBUS_SLOT(config, "tanbus0", m_tanbus, tanbus0_devices, "tanram");
TANBUS_SLOT(config, "tanbus1", m_tanbus, tanbus65_devices, "tandos");
...


BBC Model B, ATPL Sidewise, Acorn Speech, 2xWatford Floppy Drives, AMX Mouse, Viglen case, etc.
Pernod #121582 11/18/22 08:22 PM
Joined: Apr 2012
Posts: 328
Likes: 28
Pernod Online Content OP
Senior Member
OP Online Content
Senior Member
Joined: Apr 2012
Posts: 328
Likes: 28
It's been a few years since I last looked at the Microtan, so after seeing one in action at the recent Retro Computer Festival in Cambridge I was encouraged to see what else could be improved.

Firstly, I've slotified the keyboard/keypad devices, which leaves the main driver much cleaner.

The real breakthrough is getting the 6809 system running, and booting a floppy, both of which are now working!

The 6809 system has built in help, type HEL for system commands:
[Linked Image from i.imgur.com]

Currently only have a single bootable disk image, type SYB to boot a system disk:
[Linked Image from i.imgur.com]

I'd never heard of SK*DOS before so not familiar with what it can do, but am expecting another floppy Small 'C' to try soon.


BBC Model B, ATPL Sidewise, Acorn Speech, 2xWatford Floppy Drives, AMX Mouse, Viglen case, etc.
5 members like this: R. Belmont, robcfg, Walker, Kale, Duke
Pernod #121583 11/18/22 11:32 PM
Joined: May 2008
Posts: 41
Likes: 3
W
Member
Offline
Member
W
Joined: May 2008
Posts: 41
Likes: 3


Link Copied to Clipboard
Who's Online Now
3 members (Reznor007, Vas Crabb, Pernod), 50 guests, and 5 robots.
Key: Admin, Global Mod, Mod
ShoutChat
Comment Guidelines: Do post respectful and insightful comments. Don't flame, hate, spam.
Forum Statistics
Forums9
Topics9,130
Posts119,633
Members5,026
Most Online890
Jan 17th, 2020
Our Sponsor
These forums are sponsored by Superior Solitaire, an ad-free card game collection for macOS and iOS. Download it today!

Superior Solitaire
Forum hosted by www.retrogamesformac.com