| |
Credits :
Code | .... | Grue of Beyond Force, Extend, Kasettilamerit |
Crack | .... | Grue of Beyond Force, Extend, Kasettilamerit |
Original Supply | .... | John York of Yleisradio |
Bug-Fix | .... | Grue of Beyond Force, Extend, Kasettilamerit |
Loader | .... | Grue of Beyond Force, Extend, Kasettilamerit |
Ripping | .... | Grue of Beyond Force, Extend, Kasettilamerit |
Test | .... | Grue of Beyond Force, Extend, Kasettilamerit |
| | Trurl of Extend |
Help | .... | TNT of Beyond Force, Kasettilamerit |
Download :
Look for downloads on external sites:
Pokefinder.org
Summary Submitted by ChristopherJam on 30 March 2023
Any chance of a copy of some data that failed to round-trip using nucrunch, and the initcode you used to call the decrunch? I wouldn't mind the opportunity to investigate what went wrong. | Summary Submitted by Grue on 30 March 2023
Portal for IDE64 by Grue
Portal is a lovely computerized novel, but it's a bit painful to play from floppies when you're used to the convenience of a hard drive, so I decided to take a shot at it. The crack itself was pretty easy. The 1541 code was on the first sector of the first track, which then loaded the actual loader code into 1541memory, decrypted and started it. Decryption was easy as the code was already there and I deciphered it with my c64. It could have been done with an emulator, but I enjoy using my C64.
The more challenging part was that the data on the floppies is encrypted, which needs to be taken care of to get to the data, and interleaved which means the data must be rearranged so that it can be loaded linearly.
The decryption key was different for each sector, and the current track number is also a part of the equation for calculating the key. It was pretty simple in the end, but doing the actual decryption on the pc was beyond my skill set. While I could easily calculate the correct key on a c64, I couldn't do that on the pc. There were some decrypted portal disk images already available, but playing the game from those revealed that there are errors. Some gfx and some text strings are corrupted. I ended up writing a decrypter and a deinterleaver on the c64. It takes some time to process the data on the c64, but then again, the U64 offers a cpu speeder, and the ide64 is reasonably fast. Decrypting the data revealed that many of the portal cracks on the net had incorrectly named disk images. For example, the filename suggests that portal4.d64 is side4, but the id on the sectors tells that it's side 2, and so on. No wonder there's confusion about which cracks are working.
The game reads the sector IDs to verify that the correct disk side is inserted. I wanted to have all of the disk sides in one data file for the IDE64 version, so I had to fool the loader to take the disk side info into account. After some reverse engineering of the game code, I found a place where the requested disk side information is kept and adapted my loader to add the disk side address into the index when accessing sides 1-5. Later while testing, we noticed that it wasn't that simple. The game had a dummy file entry, which told it where to load the next text index address from the floppy and then modify it to find the next piece of text. This resulted in the wrong text appearing in some rare situations, but after some more reverse engineering, I found a workaround for that as well.
During the testing Trurl found some corrupted characters and those were leftover characters from the original word processor, also removed those for this release.
This is the most complicated ide64 fix I have made so far.
Thanks must go to TNT for making the scripts for the 010 Editor for decrypting and deinterleaving the data. Too bad a minor bug led to more confusion and caused me to write my own decrypter and deinterleaver for the c64. Those scripts were still useful when comparing different .d64s of the game.
Trurl did a huge work in testing this release and starting a new game over and over again to find cases that caused anomalies in the output. Needless to say that you can thank Trurl for this release. Trurl reminded me that Portal is the game that would gain a lot from IDE64 loading. And I cannot disagree. This game is almost nonplayable from a floppy as it is so slow.
Extra super duper thanks go to John York of Yleisradio for submitting a 100% error-free copy of the original disk of the game. Without John, we still would be in tears trying to figure out whether the corrupted txt/gfx is due to an unreliable copy or bugs in the code (we saw both).
Jope did some proofreading of this text and made it more understandable.
Tools used for this production:
010 Editor
6502Bench
Ghidra
Vscode editor
64tass
IDE64
RetroDebugger
c1541
Vice (still keeps crashing randomly on start, what a piece of..)
Exomizer
Avoid using nucrunch. It failed for some reason, randomly causing my otherwise working builds to crash when run. |
|
|
|
| Search CSDb |
| Navigate | |
|
| Detailed Info | |
|
| Fun Stuff | |
· Goofs · Hidden Parts · Trivia
|
|
| Forum | |
|
| Support CSDb | |
|
| |
|