VOGONS


Trains (1983)

Topic actions

First post, by exofreeze

User metadata
Rank Member
Rank
Member

Got another old game here. I appear to have the tandy version.

I have switched the machine type to tandy and set the cycles down to like 300.

When I run the file however, it just hangs.

Specifically, the debug gives the error:
CPU:Illegal Unhandled Interrupt Called 5

and scrolls this nonstop.

Reply 1 of 3, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

The "BIOS:Disk 0 is NULL" debug message is telling you to try mounting a floppy image as the A: drive. Might not work if there is copy protection extant, but by now you've seen enough cases where it does work. Yes, there is a flood of additional messages, but you can capture the messages into a log file.

Reply 2 of 3, by VileR

User metadata
Rank l33t
Rank
l33t

Had to try this myself, and indeed it runs fine from a floppy image mounted as A:. Curiously, if you *boot* an MS-DOS 3.30 floppy image with the game on it, it fails with the same symptoms mentioned above.

[ WEB ] - [ BLOG ] - [ TUBE ] - [ CODE ]

Reply 3 of 3, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Yep, the game tries to write an IRET instruction at the INT 13h handler address, then calls INT 13h to read a sector with the carry flag set in advance, so an error will appear to be returned if the INT 13h handler is in RAM instead of in ROM. Fun fact: DOS version 2.x and earlier leave INT 13h pointing to the BIOS handler in ROM, but later versions point it to a DOS handler in RAM that chains to the BIOS handler in ROM. So, I think what the game is doing is anti-deprotect rather than anti-DOS, particularly because it uses DOS FCB functions, but the mechanism only works correctly on the oldest versions of DOS (and in DOSBox, because it has the handler in ROM).