Has anyone here played Ultima I (the 1981 version from California Pacific, not the 1986 remake) and successfully finished the outer space section? It does not appear that I can ever hit the enemy ships playing on AppleWin, no matter how slow the emulation, or how apparently direct the hit. I've tried for a long time now. The code is in BASIC on the desk, and I see there is a PEEK to memory location 7405 to see if it is FF, but as far as I can tell this memory is never POKEd. Now, I can find a line in the assembly in the debug window where FF is written to that location, but similarly I cannot figure out where that is in the BASIC program. Any enlightenment would be appreciated! -Zac
I played that game years ago. I still have the original disk. I have no clue about your problem, but thanks for the memory. -- MSauer "Ophidian" <zacwbond@vt.edu> wrote in message news:er9net$449$1@solaris.cc.vt.edu... > Has anyone here played Ultima I (the 1981 version from California Pacific, not > the 1986 remake) and successfully finished the outer space section? It does > not appear that I can ever hit the enemy ships playing on AppleWin, no matter > how slow the emulation, or how apparently direct the hit. I've tried for a > long time now. > > The code is in BASIC on the desk, and I see there is a PEEK to memory location > 7405 to see if it is FF, but as far as I can tell this memory is never POKEd. > Now, I can find a line in the assembly in the debug window where FF is written > to that location, but similarly I cannot figure out where that is in the BASIC > program. > > Any enlightenment would be appreciated! > > -Zac
On Feb 18, 11:21 pm, Ophidian <zacwb...@vt.edu> wrote: > Has anyone here played Ultima I (the 1981 version from California > Pacific, not the 1986 remake) and successfully finished the outer space > section? It does not appear that I can ever hit the enemy ships playing > on AppleWin, no matter how slow the emulation, or how apparently direct > the hit. I've tried for a long time now. > > The code is in BASIC on the desk, and I see there is a PEEK to memory > location 7405 to see if it is FF, but as far as I can tell this memory > is never POKEd. Now, I can find a line in the assembly in the debug > window where FF is written to that location, but similarly I cannot > figure out where that is in the BASIC program. > > Any enlightenment would be appreciated! > > -Zac This is a bug in Ultima. There is a patch available, but I wonder if you could first try something simple ... assuming you are using the latest AppleWin. Change the machine type to Apple II+ and see if the problem is fixed. It should be. Cheers, Nick.
ysicklittlemonkey wrote: > This is a bug in Ultima. There is a patch available, but I wonder if > you could first try something simple ... assuming you are using the > latest AppleWin. Change the machine type to Apple II+ and see if the > problem is fixed. It should be. Wow, I thought this was a hopeless query for certain. Switching the system did not seem to work, and I haven't found a patch yet. I've hacked around some other annoying behavior in the game. I would have been surprised that switching the system would fix the problem, because the assembly I looked at didn't seem like it would work (it waits for values to become equal before the lasers can hit the ship, but they only seem to become equal at the edge of the screen). And I thought the later Ultima games were buggy :-P Thanks, -Zac
Hi Zac. > Wow, I thought this was a hopeless query for certain. Switching the > system did not seem to work, and I haven't found a patch yet. I've > hacked around some other annoying behavior in the game. Thanks for checking with "Apple II+" selected. Was that with the latest AppleWin? (Version 1.13.1.) > I would have been surprised that switching the system would fix the > problem, because the assembly I looked at didn't seem like it would work > (it waits for values to become equal before the lasers can hit the ship, > but they only seem to become equal at the edge of the screen). The "bug" is that the code uses an undocumented opcode. Sorry for withholding the patch until now, but I *really* wanted you to try AppleWin's undocumented opcode implementation (taken from VICE). ;-) Maybe this needs closer inspection. Anyway, you will find reference to the patch if you search c.s.a2 on Google Groups for "ultima space bug". Or just click here: http://groups.google.ca/group/comp.sys.apple2/msg/f54a2fd34a27b967 Cheers, Nick.
"Ophidian" <zacwbond@vt.edu> wrote in message news:erbsvp$7vd$1@solaris.cc.vt.edu... : ysicklittlemonkey wrote: : : > This is a bug in Ultima. There is a patch : > available, but I wonder if you could first : > try something simple ... assuming you are : > using the latest AppleWin. Change the machine : > type to Apple II+ and see if the problem is : > fixed. It should be. : : Wow, I thought this was a hopeless query for : certain. Switching the system did not seem : to work, and I haven't found a patch yet. I've : hacked around some other annoying behavior in : the game. Simply switching the machine type isn't enough. There is a II+ ROM that needs to be in place. Did you change to that ROM?? William Garber Email Address - willy46pa@garberstreet.com Alt. Email - willy46pa@comcast.net Web address - http://www.garberstreet.com
On Feb 19, 6:07 am, "William Garber" <willy4...@garberstreet.com> wrote: > Simply switching the machine type isn't enough. > There is a II+ ROM that needs to be in place. > Did you change to that ROM?? Actually the ROMs isn't the problem either. The problem is that the section of code in question uses an undocumented opcde. The original game works with a 6502 but the opcode was changed with the 65c02 and thus the bug. I posted the fix that Nick mentioned 10 years ago. Wow....time goes fast! -- Mark Diskmaker 8 http://www.gamebits.net/mark/DM8/
On Feb 19, 9:57 pm, "Mark Percival" <perc...@gmail.com> wrote: > Actually the ROMs isn't the problem either. The problem is that the > section of code in question uses an undocumented opcde. The original > game works with a 6502 but the opcode was changed with the 65c02 and > thus the bug. I posted the fix that Nick mentioned 10 years ago. > Wow....time goes fast! And that should work ... in the *next* release of AppleWin! Oops, I didn't realise the undocumented opcode support wasn't in the wild yet. Time does indeed fly. It's been nearly 12 years since I posted my summary document of undocumented opcodes to this newsgroup. ;-) Cheers, Nick.
sicklittlemonkey wrote: > The "bug" is that the code uses an undocumented opcode. Sorry for > withholding the patch until now, but I *really* wanted you to try > AppleWin's undocumented opcode implementation (taken from VICE). ;-) > Maybe this needs closer inspection. Ah, now I see--I thought it was two NOPs, as that's what Applewin displays in the debugger, although they did not match the opcode for NOP. The NOP it displayed for 47 was colored red, though, perhaps suggesting AppleWin is aware that it's an undocumented opcode? The patch did not seem to work--for whatever reason, the files is saved but without the new information. I extracted the file and fixed it in Windows, and it works! Thanks, -Zac
On Feb 20, 6:41 am, Ophidian <zacwb...@vt.edu> wrote: > Ah, now I see--I thought it was two NOPs, as that's what Applewin > displays in the debugger, although they did not match the opcode for > NOP. The NOP it displayed for 47 was colored red, though, perhaps > suggesting AppleWin is aware that it's an undocumented opcode? Yes, you're right. That version of AppleWin just shows NOPs. I didn't realise the new AppleWin undocumented opcode support hadn't been released yet. > The patch did not seem to work--for whatever reason, the files is saved > but without the new information. I extracted the file and fixed it in > Windows, and it works! Glad you fixed it. It's great that others (Mark etc) documented this - many such gems are still locked away in heads, or hard to find. Cheers, Nick.
sicklittlemonkey wrote: >> The patch did not seem to work--for whatever reason, the files is saved >> but without the new information. I extracted the file and fixed it in >> Windows, and it works! > > Glad you fixed it. It's great that others (Mark etc) documented this - > many such gems are still locked away in heads, or hard to find. Perhaps you can answer this query as well: After I become a Space Ace, and try to land back on the planet, I get a "TYPE 14 ERROR IN LINE 1650", which is the line where OUT MOV is run. Evidently it thinks OUT MOV is too large...But it works just fine when I land on the planet prior to becoming a space ace :-/ I am going on an odyssey, playing through the whole Ultima series, and I never expected Ultima 1 would be this challenging, lol. -Zac
On Feb 20, 1:58 pm, Ophidian <zacwb...@vt.edu> wrote: > Perhaps you can answer this query as well: After I become a Space Ace, > and try to land back on the planet, I get a "TYPE 14 ERROR IN LINE > 1650", which is the line where OUT MOV is run. Evidently it thinks OUT > MOV is too large...But it works just fine when I land on the planet > prior to becoming a space ace :-/ Sorry, I didn't really play Ultima I, so no idea. Hopefully others can help with this problem. Cheers, Nick.