Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
 Welcome to our latest new user maak ! (Registered 2024-04-18) You are not logged in - nap
CSDb User Forums


Forums > Requests > DTL Jetpack BASIC
2015-09-28 14:26
Six

Registered: Apr 2002
Posts: 287
DTL Jetpack BASIC

This was never properly cracked. There's a copy @ http://www.haddewig.de/nogames64/tools.html but it still has dongle protection and won't run. There's a non-protected program on the disk ("ERROR LOCATE"), but the main compiler still needs the dongle to run. There are also no docs.

Why is this one so important to preserve? Because literally LEGIONS of c64 games were written with it.

I had a go at trying to break the protection, and I'm sure I eventually could - but it's a bear.

At the end of each file (and the compiler is compiled with itself, btw) there is a byte sequence. TWO of those bytes indicate whether or not the program is dongle-protected. BUT, fixing a protected DTL-BASIC program is not as simple as changing those bytes. It uses them to calculate a bunch of other values, in multiple places in the runtime library.

The (tape-port) dongle check is also obfuscated, but easy enough to find.

So, this is going to take some serious skill to bust - but once its busted, it opens the door for reversal tools that can be used to resource games like Roadwar 2000.

Any takers? Can I persuade anyone to at least have a look at it?
2015-09-28 15:07
TNT
Account closed

Registered: Oct 2004
Posts: 189
So you want to have something like this in the end? ;)
2015-09-28 16:29
Six

Registered: Apr 2002
Posts: 287
So there's a decompiler or you did this by hand?

Is there also a proper cracked of the compiler?
2015-09-28 17:25
Zer0-X

Registered: Aug 2008
Posts: 78
http://www.sid.fi/~zrx/DTL-BASIC-Jetpack-644c.zip

Can't find much use for this as it's just a compiler.
2015-09-28 19:48
Six

Registered: Apr 2002
Posts: 287
Aye, but having a cracked version of the compiler is a step towards both writing a decompiler (if one doesn't yet exist) and understanding how the dongle protection works.
2015-09-28 19:52
Six

Registered: Apr 2002
Posts: 287
Oh, forgot to ask, since you guys seem to have a better knowledge of this software than I do, have you found a manual?

Thanks, btw, I was worried no-one would be interested to discuss this compiler because of its relative obscurity.
2015-09-28 20:32
TNT
Account closed

Registered: Oct 2004
Posts: 189
Yes, there is a decompiler, and yes, I have the manual. I think I have scanned it already, I just need to locate those scans from some old computer backup. I also own PET version of the compiler with manual. Same problem with that one :D
2015-09-28 20:38
Moloch

Registered: Jan 2002
Posts: 2891
Excellent, would love a copy of that manual when you can find it
2015-09-28 20:56
Six

Registered: Apr 2002
Posts: 287
TNT, is the decompiler available, or private?

If I had a good description of the file format, I could add it as an output target on my txt2prg tokenizer.

BTW, found the dongle at my warehouse today, but not the docs. The dongle goes in the tape port and has the serial # 355-012-500-201. It'd be interesting to see how specific the dongle is - if any copy of the software will run with any dongle.
2015-09-28 20:58
TNT
Account closed

Registered: Oct 2004
Posts: 189
http://sid.fi/~tnt/dtl/

Contains C64 version manual + disks which I believe are my original dumps and their cracked counterparts.

PET manual scans are probably in some directory named "old computer" inside another directory with similar name :)
2015-09-29 10:04
Six

Registered: Apr 2002
Posts: 287
Awesome! Thanks for posting this, I'd been looking for it for a while. That decomp of part of Roadwar 2000 gives me enough to work from for figuring out the tokenization.

You mentioned there was a decompiler. Did you write it?
2015-09-29 10:07
TNT
Account closed

Registered: Oct 2004
Posts: 189
PET manual added.

Decompiler is for internal use only for a moment. I have fixed a bunch of bugs since July when the above source was generated, but there are still couple of things which need fixing. BASIC extensions and overlays are the latest thing corrected, but there's still work to be done I'm sure.
2015-09-29 10:10
TNT
Account closed

Registered: Oct 2004
Posts: 189
Yes, I wrote the decompiler after I did complete disassembly of the runtime library. I get the raw P-code and decompiled basic. Basic code is then fed through another program to do some post-processing like changing "line numbers" to decimal.
2015-09-29 10:24
Moloch

Registered: Jan 2002
Posts: 2891
Thanks for posting all of this! Like Six, I've been searching for this manual for a long time. My bad luck, I routinely missed DTL packages on eBay in the last few years.
2015-09-29 13:32
Zer0-X

Registered: Aug 2008
Posts: 78
I guess no one has a spare dongle to sell?

Could reverse what's it made of, but as it's likely potted in epoxy it would be somewhat "destructive" process.
2015-09-29 18:22
Six

Registered: Apr 2002
Posts: 287
I have a dongle. I guess I could sacrifice it for deconstruction if someone was going to document how it worked in such a way that I'd be able to build a new one.
2015-09-29 18:45
TNT
Account closed

Registered: Oct 2004
Posts: 189
It would be interesting to see if you get the same key from dongle as I did - 24 02. Just run dongle2.prg with the dongle connected and check the first two hex numbers. My dongle reported 00 after first 16 bits.

I would just use two 74165 chained together for the dongle, Zer0-X wants to know what exactly was used :)
2015-10-02 01:37
Six

Registered: Apr 2002
Posts: 287
I should be able to test this this weekend. The printed numbers on all of them are the same, at least. I'm assuming the side that says "DTL BASIC" is up?
2015-10-03 17:13
Six

Registered: Apr 2002
Posts: 287
Just ran the test. 2402 and then all 0000 from there.

So those match the target bytes in the protected original compiler. Did you crack this yourself?
If so, could you give us a rundown of how it was protected, for history's sake?
2015-10-07 21:27
Count Zero

Registered: Jan 2003
Posts: 1820
Six mentions "LEGIONS of c64 games" compiled with this. During my active time I didn't really come across anything "mastered" using this compiler AFAIR.

Is there a list? Is DTL somewhere near RTL64 which I think was used for e.g. Silent Service? Or do I mix something up here?

Did anybody document a little more regarding c64 compilers? On my local collection there of course are several Blitz/Austro versions, Basic Boss is somewhat "new age" and also Laser Genius sounds interesting next to petspeed or simon's compiler. Next to speed, origin/clone, also the availability of a decompiler would be of interest. Is there such a comparison or did I just miss something on my websearch?
2015-10-08 01:30
Six

Registered: Apr 2002
Posts: 287
I've seen that RTL-64 file on many a floppy over the years. The big three that always come to mind when this discussion arises are Roadwar 2000, F-15 Strike Eagle, and Silent Service. It was used on a number of SSI titles, I'd have to review them to make a solid list.

At one point I did a filename search across all of my floppy image collection and came up with something like 800 instances of the RTL-64 file.
2016-03-14 18:28
blacky

Registered: Sep 2007
Posts: 41
(non working) emulation of this dongle is now present in VICE, if any-1 wants to play around with the source code and get the dongle emulation to actually work, be my guest.
2016-03-16 17:10
TNT
Account closed

Registered: Oct 2004
Posts: 189
I made a quick check with the dongle and it looks like toggling cassette sense resets the bit sequence to beginning. That just might be enough to make it work.
Remember that this pin is normally input to C64, so it will usually be pulled up to 5V even if last $01 write tells it should be GND.
2016-03-17 15:43
blacky

Registered: Sep 2007
Posts: 41
The current emulation does the following:

1- wait for the sense line to go high.
2- wait for the sense line to go low.
3- wait for the write line to go high.
4- wait for the write line to go low.
5- set the first bit of the bit sequence 0010 0100 0000 0010 (0x2402) on the read line.

After setting the first bit of the sequence the following needs to happen before setting the next bit:

1- wait for the write line to go high.
2- wait for the write line to go low.

Be aware that the current emulation keeps the 'old' bit set between steps 1 and 2.

The emulation 'shows' the correct bit pattern when using the 'dongle2.prg' file, but does not work (good enough) for the actual software.
2016-07-09 13:27
David Hughes
Account closed

Registered: Jul 2016
Posts: 5
As the person who wrote DTL Basic several decades ago I'm really surprised and pleased that anyone still cares about it!

I'm also quite impressed that the protection is still doing its job; I only ever came across one person who cracked it.

Though if I could, I'd be pleased to help anyone get around it now.... but I'm not sure I can be much help sadly.
2016-07-25 18:34
blacky

Registered: Sep 2007
Posts: 41
@David Hughes

Well, it could help if you can shed some light on how the dongle works.

Just to be clear, this is about preservation of the software and usability in an emulator.
2016-07-25 18:36
chatGPZ

Registered: Dec 2001
Posts: 11100
cracking (as in removing/disabling) it should be fairly easy actually... but where is the fun in that? =)
2016-07-25 23:29
Fierman

Registered: Feb 2002
Posts: 85
There are two different versions of DTL Basic it seems.

A tape one and a disk one. The tape one is not protected by a dongle, but is missing a lot of functionality.
I have the original of the tape here, including manual.

Cleaned tap images:
https://fierman.org/c64/tape/clean.dtl-basic_1983_side_a.tap
https://fierman.org/c64/tape/clean.dtl-basic_1983_side_b.tap

Quick&dirty scan of tapecover+manual:
https://fierman.org/c64/tape/dtl-basic_tape_manual_1983.pdf
RefreshSubscribe to this thread:

You need to be logged in to post in the forum.

Search the forum:
Search   for   in  
All times are CET.
Search CSDb
Advanced
Users Online
Matt
CA$H/TRiAD
Courage
Monte Carlos/Cascade
hedning/G★P
Guests online: 72
Top Demos
1 Next Level  (9.8)
2 Mojo  (9.7)
3 Coma Light 13  (9.7)
4 Edge of Disgrace  (9.6)
5 Comaland 100%  (9.6)
6 No Bounds  (9.6)
7 Uncensored  (9.6)
8 Wonderland XIV  (9.6)
9 The Ghost  (9.6)
10 Bromance  (9.6)
Top onefile Demos
1 It's More Fun to Com..  (9.8)
2 Party Elk 2  (9.7)
3 Cubic Dream  (9.6)
4 Copper Booze  (9.5)
5 Rainbow Connection  (9.5)
6 Wafer Demo  (9.5)
7 TRSAC, Gabber & Pebe..  (9.5)
8 Onscreen 5k  (9.5)
9 Dawnfall V1.1  (9.5)
10 Quadrants  (9.5)
Top Groups
1 Oxyron  (9.3)
2 Nostalgia  (9.3)
3 Booze Design  (9.3)
4 Censor Design  (9.3)
5 Crest  (9.3)
Top Crackers
1 Mr. Z  (9.9)
2 S!R  (9.9)
3 Mr Zero Page  (9.8)
4 Antitrack  (9.8)
5 OTD  (9.8)

Home - Disclaimer
Copyright © No Name 2001-2024
Page generated in: 0.052 sec.