Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
  You are not logged in - nap
Portal   [2023]

Portal Released by :
Grue

Release Date :
30 March 2023

Type :
IDE64 Release

User rating:awaiting 8 votes (4 left)   See votestatistics

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
Advanced
Navigate
Prev - Random - Next
Detailed Info
· Summaries (2)
· User Comments (5)
· Production Notes
Fun Stuff
· Goofs
· Hidden Parts
· Trivia
Forum
· Discuss this release
Support CSDb
Help keep CSDb running:



Funding status:




About this site:
CSDb (Commodore 64 Scene Database) is a website which goal is to gather as much information and material about the scene around the commodore 64 computer - the worlds most popular home computer throughout time. Here you can find almost anything which was ever made for the commodore 64, and more is being added every day. As this website is scene related, you can mostly find demos, music and graphics made by the people who made the scene (the sceners), but you can also find a lot of the old classic games here. Try out the search box in the top right corner, or check out the CSDb main page for the latest additions.
Home - Disclaimer
Copyright © No Name 2001-2024
Page generated in: 0.091 sec.