Closed apenney closed 5 days ago
Maybe your CAPS LOCK key is off? It must be on to play Ultima IV.
If that's not the issue, I'd be interested in working with you to figure out the problem. On the other hand, if you just want to play the game, I can show you how to patch it so the trainer always starts, without needing to press T at all.
Caps lock was definitely on (I tried both ways, tried pressing t constantly, holding it, etc over a number of boots).
I would try booting from a real disk but unfortunately my disk ][ appears bust so I can’t write it out to a real floppy to try that way either!
Does the game otherwise work? It responds to key presses normally?
If you want to try patching to force the trainer to appear, here are two ways. I've tested these on the Release 1.2.10 disk images in the AppleWin emulator.
If you are comfortable using a hex editor, edit the 'u4program.do' file with your favorite utility. At offset 0x0001A860 you'll find this run of bytes:
C1 A4 C5 B4 B0 B0 8D 00 AD 00 C0 C9 54 F0 16 20
Change the two bytes at 0x0001A86B from C9 54
to to A9 00
.
Alternatively, you can make the same patch directly on your Apple IIe. Boot your machine with a standard DOS 3.3 disk. Insert the Ultima IV Program disk, and from the Applesoft prompt issue this series of commands:
]BLOAD INIT
]POKE 16743,169
]POKE 16744,0
]UNLOCK INIT
]BSAVE INIT,A$4000,L$1E6
]LOCK INIT
I'm curious what the following Applesoft program will do on your machine. If you can make a blank disk image, boot up with DOS 3.3 and then init your blank with the following program:
10 PRINT PEEK (49152)
20 PRINT "BOOTING..."
30 FOR A = 1 TO 2000: NEXT
40 PRINT PEEK (49152)
50 GET I$
60 PRINT I$
]INIT HELLO
On the emulator, this program prints a 0 before "BOOTING" and then, if I press T when I see that message, it prints 212 after a two-second delay.
If I press T immediately upon booting, before I see the message, it prints 212 before the message instead of 0.
What does yours do?
Ok, on further testing, I find that spamming the T button will cause the menu to not appear, even in the emulator.
Can you try with the release disk image, unpatched, just pressing T once during startup? If this works, then I know what to fix and can release an update.
Turns out that's exactly it! My own impatience made me press it too many times, not sure if anything was happening. A single press and then nothing does indeed bring up the menu after a while!
Awesome! Thank you for bringing this to my attention.
Fixed in Release 1.2.11 - mashing the T button will now work as well as pressing it just once. The keypress detection is no longer timing sensitive.
No matter what I do I'm unable to get the trainer to work on a real 2e. I'm booting off a floppy emu, and mashing T during the boot process but I never get to any kind of trainer menu, despite trying several times.
Any debugging I could do to help figure out what might be going on?