[hatari-devel] Union demo abort with new EmuTOS?
Eero Tamminen
oak at helsinkinet.fi
Thu Nov 10 00:13:42 CET 2011
Hi,
I was testing the new EmuTOS with Hatari and bumbed
into wierd error.
When starting the Union demo from Persistance of Vision
disk containing that:
hatari --machine st -s 4 --fast-forward yes --tos etos512k.img pov-union.st
Pressing 1 to select the Union demo and then pressing space to
proceed, Hatari aborts with this:
hatari: /home/eero/work/hatari/src/vdi.c:769: VDI_Complete: Assertion
`VDI_isWorkstationOpen(VDIOpCode)' failed.
Aborted
I definitely didn't have VDI mode on, or Bios intercept enabled
so that e.g. emulated programs could enable VDI mode with Xbios().
This is competely reproducible with EmuTOS 0.8.6, but it doesn't
happen with normal TOS or earlier EmuTOS version[1].
VDI_Complete() should be called only sometime after this:
if (bVdiAesIntercept && nr == 0x22)
{
/* Intercept VDI & AES exceptions (Trap #2) */
if(VDI_AES_Entry())
{
/* Set 'PC' to address of 'VDI_OPCODE' illegal instruction.
* This will call OpCode_VDI() after completion of Trap call!
* This is used to modify specific VDI return vectors contents.
*/
VDI_OldPC = currpc;
currpc = CART_VDI_OPCODE_ADDR;
}
}
Maybe OpCode_VDI() should call VDI_Complete() only if VDI_OldPC is
non-zero and zero the variable after completing the VDI call?
- Eero
[1] EmuTOS 0.8.5 gives in about same place:
M68000 Bus Error writing at address $0.
More information about the hatari-devel
mailing list