Viewing Issue Advanced Details Jump to Notes ] oric.cpp
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
06306 Known Issues/To-Do's Feature Always Jul 18, 2016, 05:43 Aug 30, 2016, 11:07
Tester Tafoid View Status Public Platform MESS (Official Binary)
Assigned To Ryan Holtz Resolution Fixed OS Windows Vista/7/8 (64-bit)
Status [?] Resolved   Driver oric.cpp
Version 0.175 Fixed in Version 0.177 Build Normal
Summary MESS-specific 06306: telstrat: telstrat -ext slot doesn't work
Description Crash has been fixed as of 0.177, but the -ext bus is not implemented properly on the Telestrat so BUS-EXT peripherals don't work.

When using this one machine, use of -ext causes a crash. Note that all the sets using this seem to work ok (oric1, orica, prav8d, prav8dd)
0x01d2ddfa in oricext_device::device_start ()
    at ../../../../../src/devices/bus/oricext/oricext.cpp:75
75 rom = (UINT8 *)machine().root_device().memregion(cputag)->base();

#0 0x01d2ddfa in oricext_device::device_start ()
    at ../../../../../src/devices/bus/oricext/oricext.cpp:75
#1 0x02ca2483 in jasmin_device::device_start ()
    at ../../../../../src/devices/bus/oricext/jasmin.cpp:57
#2 0x02e2b473 in device_t::start () at ../../../../../src/emu/device.cpp:379
#3 0x02eac31f in running_machine::start_all_devices ()
    at ../../../../../src/emu/machine.cpp:966
#4 0x02eb1c80 in running_machine::start ()
    at ../../../../../src/emu/machine.cpp:258
#5 0x02eb2019 in running_machine::run ()
    at ../../../../../src/emu/machine.cpp:301
#6 0x01a7bbe5 in mame_machine_manager::execute ()
    at ../../../../../src/frontend/mame/mame.cpp:228
#7 0x01ada0dc in cli_frontend::execute ()
    at ../../../../../src/frontend/mame/clifront.cpp:598
#8 0x01a7ab04 in emulator_info::start_frontend ()
    at ../../../../../src/frontend/mame/mame.cpp:327
#9 0x019da6d6 in utf8_main ()
    at ../../../../../src/osd/windows/winmain.cpp:300
#10 0x0329bad1 in wmain () at ../../../../../src/osd/windows/main.cpp:45
#11 0x004013f0 in __tmainCRTStartup ()
    at C:/repo/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/crtexe.c:329
#12 0x7682338a in KERNEL32!BaseThreadInitThunk ()
Steps To Reproduce telstrat -ext jasmin
Additional Information 0.169 and prior:
FATALERROR: memory_bank::set_base called NULL base
0.170 starts to show this specific device_start() message - prior message may still exist underneath.
Flags
Regression Version 0.170
Affected Sets / Systems telstrat
Attached Files
 


-  Notes
User avatar
No.12961
Osso
(Developer)
Jul 18, 2016, 15:57
This is because the telstrat has no rom region tagged "maincpu", which ext expects to find.
User avatar
No.13090
cuavas
(Administrator)
Aug 30, 2016, 11:04
The Oric Telestrat has the bus-ext connector as the Atmos, but apparently it isn't mapped in the same ways - there's a comment in oric.cpp saying that the Telestrat can only bank ROM/RAM in a 16kb page at c000-ffff. As a result, there are no memory regions for the other banks when running the telstrat driver, and -ext jasmin and such fail due to attempting to call set_base on memory_region pointers that are null. It's likely c000-ffff is decoded and presented out to the bus-ext connector, and then the devices themselves choose which section to respond at, and the ROM/RAM switch on the Telstrat probably just selects between internal RAM and external bus.