I've now got ROMs for the Torch Graduate device for the BBC Micro. I don't have schematics and the only info currently available is at http://chrisacorns.computinghistory.org.uk/8bit_Upgrades/Torch_Graduate.html
. It's basically an IBM-PC with keyboard and video handled by the BBC. On the referenced page there's a link to a 'hires' image of the circuit board, it contains three ROMs. The 8088 is obviously the "bios" for the I8088, the 6502 "boot" is presented to the BBC on the 1MHz bus on pressing BREAK and transfers itself to the BBC to handle communication. I'm not sure about the ROM to the left of the I8088, my dump is labelled ibmz80 and contains 16 byte blocks of data. All ROMs are 8KB.
After looking through the rest of MAME for IBM-PC compatibles it looks like I should be using genpc.cpp as without any further info it contains all devices on the board and should be a known good implementation of the hardware. So what I have is:
MCFG_CPU_ADD("maincpu", I8088, XTAL_15MHz / 3)
MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("mb:pic8259", pic8259_device, inta_cb)
MCFG_ISA8_SLOT_ADD("mb:isa", "isa1", pc_isa8_cards, nullptr, false)
MCFG_ISA8_SLOT_ADD("mb:isa", "isa2", pc_isa8_cards, nullptr, false)
I'm using PCNOPPI for now as I'll add the 8255 separately. When run I get:
Starting Torch Graduate ':1mhzbus:graduate'
Starting I8088 ':1mhzbus:graduate:maincpu'
Starting PCNOPPI_MOTHERBOARD ':1mhzbus:graduate:mb'
Starting Intel 8253 PIT ':1mhzbus:graduate:mb:pit8253'
Starting AM9517A ':1mhzbus:graduate:mb:dma8237'
Starting Intel 8259 PIC ':1mhzbus:graduate:mb:pic8259'
Starting 8-bit ISA bus ':1mhzbus:graduate:mb:isa'
Fatal error: assert: ../../../../../src/emu/dimemory.h:93: index >= 0 && index < int(m_addrspace.size()) && m_addrspace[index]
It's failing when looking for AS_IO space of "maincpu" to add the ISA mapping, but finding "maincpu" of the 6502 in bbcb. I tried changing the I8088 tag to something else but then complained of not finding required_device "maincpu". It looks like ibm5160_mb_device is hardcoded to require "maincpu" even though you specify it with MCFG_PCNOPPI_MOTHERBOARD_ADD("mb", "maincpu").
What are my options here?
I don't expect to get this 100% working until schematics are provided, but will be content for now with MS-DOS 2.11 booting on the PC side and the 6502 code being transferred and running on the BBC side.