sean-gugler / u4remasteredA2

Ultima IV Remastered for the Apple II
57 stars 7 forks source link

Update Player's character name in Ultima IV #12

Closed wyatt-wong closed 2 years ago

wyatt-wong commented 2 years ago

How do I update player's character name in Ultima IV ? For example, to correct the player's character name from "HAMBURGE" to "BURGER" ?

sean-gugler commented 2 years ago

There is no way within normal game play to change it.

Instead you can run an Ultima IV editor program on your Apple (or emulator). I recommend "Ulti-Mate", found in menu option B on the "Ultima_IV_Cheats" disk (https://archive.org/details/zm_Ultima_IV_Cheats)

Another way is to use a binary hex editor to directly edit the bytes on the disk (or disk image). The player's name is in the first 16 bytes of the file ROST on the Britannia disk. In Remaster version 1.2.6 that file is on Track 29, Sector 4, and the name is at byte offsets 4 through 20 of the raw sector data. If you are hex editing the "u4britannia.do" disk image on a modern machine, that same location is at byte offsets 0x0001D404 through 0x0001D414.

sean-gugler commented 2 years ago

If you are hex editing, be aware that the text representation on Apple is like ASCII but with the high bit set. For example, "HAMBURGE" in ASCII would be 48 41 4D 42 55 52 47 45 but on Apple it would be C8 C1 CD C2 D5 D2 C7 C5

wyatt-wong commented 2 years ago

There is no way within normal game play to change it.

Instead you can run an Ultima IV editor program on your Apple (or emulator). I recommend "Ulti-Mate", found in menu option B on the "Ultima_IV_Cheats" disk (https://archive.org/details/zm_Ultima_IV_Cheats)

Another way is to use a binary hex editor to directly edit the bytes on the disk (or disk image). The player's name is in the first 16 bytes of the file ROST on the Britannia disk. In Remaster version 1.2.6 that file is on Track 29, Sector 4, and the name is at byte offsets 4 through 20 of the raw sector data. If you are hex editing the "u4britannia.do" disk image on a modern machine, that same location is at byte offsets 0x0001D404 through 0x0001D414.

I knew it is impossible to change it during normal game play. I couldn't find the Ultima IV editor for Apple II so I may use a hex editor to manually update it but I need to know the filename and the location.

Not sure if I have the "Ulti-Mate" program but I seem to seeing that file yesterday in my MacBook Pro, I have to double check on it again.

sean-gugler commented 2 years ago

"Ulti-Mate" is a program that runs on the Apple II. You can find it at the link I provided.

Happy editing!

wyatt-wong commented 2 years ago

"Ulti-Mate" is a program that runs on the Apple II. You can find it at the link I provided.

Happy editing!

The "Uti-Mate" corrupted my Ultima IV Save Game and I have to restart the game from the beginning.

wyatt-wong commented 2 years ago

Just found that after saving the game once, when I reload the game, the game will be corrupted.

sean-gugler commented 2 years ago

Yikes! Sorry to hear you had such trouble.

I just now tested Ulti-Mate with all 3 editions we have discussed and found no problem. I was able to edit and save on Remaster 1.2.6, 4am Crack, and woz-a-day, and the game was not corrupted. I also found no trouble using the game's own "Quit-and-Save" command in Remaster 1.2.6, it was not corrupted.

Did you make any hex edits to the disk before trying Ulti-Mate? Is it possible that caused corruption?

Are able to repeat the problem with a fresh download of Remaster 1.2.6?

wyatt-wong commented 2 years ago

Yikes! Sorry to hear you had such trouble.

I just now tested Ulti-Mate with all 3 editions we have discussed and found no problem. I was able to edit and save on Remaster 1.2.6, 4am Crack, and woz-a-day, and the game was not corrupted. I also found no trouble using the game's own "Quit-and-Save" command in Remaster 1.2.6, it was not corrupted.

Did you make any hex edits to the disk before trying Ulti-Mate? Is it possible that caused corruption?

Are able to repeat the problem with a fresh download of Remaster 1.2.6?

I was using the hard disk version of Ultima IV which I mentioned in https://github.com/sean-gugler/u4remasteredA2/issues/11. Since you mentioned the save game was stored in the ROST file in the Britannia disk. I copied the ROST file from the Britannia folder of the Ultima IV hard disk image into a newly formatted DOS 3.3 floppy disk image, then I ran the menu option B on the "Ultima_IV_Cheats" disk, but it got some errors. So I re-created the DOS 3.3 floppy disk image and this time I copied ALL the files from the Britannia folder of the Ultima 4 hard disk image, then re-run the menu option B on the "Ultima_IV_Cheats" disk. This time I was able to edit the player's character name.

After I saved the changes to the disk, I copied the ROST file back to the Britannia folder of the Ultima 4 hard disk image. When I started Ultima 4 again from the hard disk image and press "J" Journey Onwards, I got some garbage characters on the upper right portion of the Ultima IV screen and the players character name were all messed up. The lower right portion of the Ultima IV screen showed "All is Dark...." It seems that the saved game was a resurrection of the whole team of dead members.

Finally I boot up Ultima IV from the original hard disk image and start playing again, I pressed Q to "Quit & Save" the game, then reboot the Ultima IV hard disk image and press "J" Journey Onwards and checked the previously saved game was successfully loaded.

sean-gugler commented 2 years ago

I see. Since the problem you experienced is unrelated to this Remaster project then, I will close this issue thread as resolved.