You are not logged in -
nap
CSDb User Forums
Forums
>
CSDb Entries
>
Release id #160782 : Tink's Adventure +D
2017-12-09
16:14
Pitcher
Registered: Aug 2006
Posts: 61
Release id #160782 : Tink's Adventure +D
I know many won't read the docs included with the game, And the work involved was more than we ever anticipated, so here's some copy and paste info from the docs about the work involved with the crack :
The master we found was a plain d64 which worked under emulators and this indicates that it might have been deprotected by someone. We don't want to release this without giving relevant credits to the person who presumably removed the protection. In a publication called "The little Black Book Mommy told you about" by The Archiver, there are instructions on how to remove the copy protection for this game. This *could* have been used, so without knowing anything better, we credit him for the small patch.
Let's be honest - this was a bitch! It might not look like much, but it was quite a feat to do it.
A) It's loader uses $80 byte sized "sectors" with a two byte index. Also the consecutive indexes jump over track 18, so invalidating any easy mapping between index and track+sector over index 2cb or thereabout.
B) The same data could go to different places in memory, depending on where in the game it is accessed. This as the data has no load address. Sometimes the load address is set for a file, and sometimes it merely continues filling data where the last file left off. So it's imperative to use the games own pointers before load and updating it after load.
C) The same sector could be part of different files. Sometimes it loaded index x, with the length of 2, and sometimes index x+1, length 1. I needed to make that into two files.
D) The first file of a game section was called with different length for the respective calls. I presume the last sector is init data. For example loading sector x with the length of 0a for init, and length 09 for no init. I needed to make that into two files.
E) The total number of unique combinations of index + length is well over 200. A 1541 can only fit 144 files. So we needed to find a structure to join files or get rid of files. We have found a reasonably smart way to do this and we only use just over 130 files. Having said this, loading the files referenced in the last few sectors will be slow given the time it scans the directory to find them before the load.
Thanks for taking the time to read!
2017-12-09
17:18
6R6
Registered: Feb 2002
Posts: 245
:) Old game loaders can be tricky. They did many innovative things back then to keep hackers away.
2017-12-09
18:46
Bacchus
Registered: Jan 2002
Posts: 156
6R6: Not sure this is done to make it tricky. The $80 sector is with many old games - especially those released for other platforms as well. I have a hunch it's a compatibility thing where they make an abstraction layer to make the same data work on multiple platforms. Tink was also on Atari and they had $80 bytes sectors.
This series of games uses the same core. Some small differences which makes them not binary exact but quite close.
The data loaded is some sort of meta data that scripts what will happen later. Parameter $54 indicates that it's a new file and then it feeds data of what to be loaded to the process. $53 says that it's more data coming up and that data should go starting from where the previous one left off (so no new start adress). But other parameters could be to move objects and so on.
So in short I think they did this for their own sake, and only as a side effect was it difficult for us...
2017-12-09
19:04
Pitcher
Registered: Aug 2006
Posts: 61
Only other thing I can add is, this started getting looked at when I released Zamzara, and that got put out on the 1st of august.
So its been along time in the making, and that wasn't through us being lazy.
I'm sure there's been much blood, sweat and beers gone through to get it to this stage :).
We have joked between ourselves it would have been easier to rewrite the game for what it actually is.
Refresh
Subscribe to this thread:
You need to be logged in to post in the forum.
Search the forum:
Search
All forums
C64 Coding
C64 Composing
C64 Pixeling
C64 Productions
CSDb Bug Reports
CSDb Development
CSDb Discussions
CSDb Entries
CSDb Feedback
CSDb Info
CSDb moderators
CSDb Questions
Messages to moderators
Requests
for
in
Writer & text
Text
Writer
All times are CET.
Search CSDb
All
Releases
Groups
Sceners
Events
BBS
SIDs
-------
Forum
Comments
Advanced
Users Online
CA$H/TRiAD
theK/ATL
Tomxx/KAplus
katon/Lepsi De
4gentE/ΤRIΛD
rambo/Therapy/ Resou..
Gordian
Airwolf/F4CG
sLASH
Sulevi/Virtual Dreams
REBEL 1/HF
Xiny6581/Dees Produc..
ThunderBlade/BLiSS
mutetus/Ald ^ Ons
psych
Vent
Enforcer/Deers
The Syndrom/TIA/Pret..
sebalozlepsi
Guests online: 123
Top Demos
1
Next Level
(9.7)
2
13:37
(9.7)
3
Coma Light 13
(9.7)
4
Edge of Disgrace
(9.6)
5
Mojo
(9.6)
6
Uncensored
(9.6)
7
Wonderland XIV
(9.6)
8
Comaland 100%
(9.6)
9
No Bounds
(9.6)
10
Christmas Megademo
(9.5)
Top onefile Demos
1
Layers
(9.6)
2
Party Elk 2
(9.6)
3
Cubic Dream
(9.6)
4
Copper Booze
(9.6)
5
Libertongo
(9.5)
6
Rainbow Connection
(9.5)
7
Onscreen 5k
(9.5)
8
Morph
(9.5)
9
Dawnfall V1.1
(9.5)
10
It's More Fun to Com..
(9.5)
Top Groups
1
Performers
(9.3)
2
Booze Design
(9.3)
3
Oxyron
(9.3)
4
Nostalgia
(9.3)
5
Censor Design
(9.3)
Top Logo Graphicians
1
t0m3000
(10)
2
Sander
(9.8)
3
Mermaid
(9.5)
4
Facet
(9.4)
5
Shine
(9.4)
Home
-
Disclaimer
Copyright © No Name 2001-2024
Page generated in: 0.035 sec.