Jetpac annotated disassembly released

The place for codemasters or beginners to talk about programming any language for the Spectrum.
User avatar
Einar Saukas
Bugaboo
Posts: 3144
Joined: Wed Nov 15, 2017 2:48 pm

Re: Jetpac annotated disassembly released

Post by Einar Saukas »

Morkin wrote: Mon Sep 13, 2021 10:00 pm I noticed that the one I finished recently for Avalon was automatically put in the game's entry as 'source code - remote link'
Notice it's also marked as "Source code repository - Disassembled".

Morkin wrote: Mon Sep 13, 2021 10:00 pm I guess others may go onto ZXDB as links in the same way?
All disassemblies are stored in ZXDB this way.

If I missed anything, please let me know!
mrcook
Drutt
Posts: 46
Joined: Tue Jun 09, 2020 7:31 pm

Re: Jetpac annotated disassembly released

Post by mrcook »

Alessandro wrote: Mon Sep 13, 2021 3:11 pm I like these Skoolkit disassemblies when they ... are available with decimal numerals. Much easier to read and to understand for Assembly semi-literates like yours truly
I understand what you mean, I used dcimal numbers for my first forays into disassembly. The thing is, assembly language starts to make way more sense when work in hex numbers. It honestly doesn't take too much time to get your head around it, and your dis/assembly efforts will be rewarded for it.
mrcook
Drutt
Posts: 46
Joined: Tue Jun 09, 2020 7:31 pm

Re: Jetpac annotated disassembly released

Post by mrcook »

Mpk wrote: Mon Sep 13, 2021 6:51 pm Maybe there's some sort of Spectrum Computing site that could host them all, if skoolkit.ca isn't appropriate.
I did bring together a bunch of old disassemblies (some from wayback machine, some I had in my own backups, some existing sites), I converted them to Skoolkit format (some I even reverse engineered from HTML only to .skool files!) and put them on github here: https://github.com/mrcook/zx-spectrum-games

I did think out adding more, but wasn't sure if the owners would be happy with that.

I would personally recommend uploading your disasemblies to a site like Github/Gitlab/etc. Other sites, even personal ones, often disapear or are updated with some new framework (Wordpress, or whatever the latest cool is) and often files like this just disapear. Sure, Github could disappear too, but at this stage it'll probably outlive all of us.

The Skoolkit HTML sites are fine, but anyone serious about understanding how a game works really needs to see the plain ASM/skool source code files.
User avatar
Mpk
Dynamite Dan
Posts: 1008
Joined: Tue Feb 09, 2021 8:10 am

Re: Jetpac annotated disassembly released

Post by Mpk »

This is awesome, I hadn't seen some of these before. I was playing around with AticAtac & skoolkit last night, but I see now it's already been done.
The Skoolkit HTML sites are fine, but anyone serious about understanding how a game works really needs to see the plain ASM/skool source code files.
I'm not sure what is missing from the HTML sites though, compared with the .skool files. Isn't the content the same, just easier to read/browse in the html?
User avatar
SkoolKid
Manic Miner
Posts: 407
Joined: Wed Nov 15, 2017 3:07 pm

Re: Jetpac annotated disassembly released

Post by SkoolKid »

Mpk wrote: Mon Sep 13, 2021 10:11 pm The skoolkit format ones have a link at the bottom to switch to Hex/Dec, so that solves that issue.
Just to clear up a possible misconception: the base-switching links in the page footers is not an automatic feature of SkoolKit - which explains why only the disassemblies I've written and published actually have them. :P

I have now documented how to add base-switching links to your own disassembly, though:

https://skoolkit.readthedocs.io/en/late ... -switching

That 'Base switching' section will be in the manual for 8.6, but the instructions should still work for earlier versions of SkoolKit as well (if you grab bases.ref and bases.py from the GitHub repo).
SkoolKit - disassemble a game today
Pyskool - a remake of Skool Daze and Back to Skool
User avatar
SkoolKid
Manic Miner
Posts: 407
Joined: Wed Nov 15, 2017 3:07 pm

Re: Jetpac annotated disassembly released

Post by SkoolKid »

Mpk wrote: Tue Sep 14, 2021 5:36 pm
mrcook wrote: Tue Sep 14, 2021 3:59 pm The Skoolkit HTML sites are fine, but anyone serious about understanding how a game works really needs to see the plain ASM/skool source code files.
I'm not sure what is missing from the HTML sites though, compared with the .skool files. Isn't the content the same, just easier to read/browse in the html?
That's correct - the content is exactly the same.

Perhaps one advantage of an ASM/skool source file is that it is just one file, so searching for something across the entire disassembly is more convenient. But skool2html.py has the --asm-one-page option if you want the same convenience in the browser via Ctrl-F.
SkoolKit - disassemble a game today
Pyskool - a remake of Skool Daze and Back to Skool
User avatar
D-Type
Drutt
Posts: 3
Joined: Fri Aug 06, 2021 11:14 pm
Location: Zurich, Switzerland

Re: Jetpac annotated disassembly released

Post by D-Type »

mrcook wrote: Mon Sep 13, 2021 12:16 pm
D-Type wrote: Fri Aug 06, 2021 11:34 pm Is the HTML disassembly hosted online anywhere
I never generated the HTML stuff. Except for a few formatting niceties I think opening the .skool file in an editor is more useful, and easy to navigate.

You don't need to install Skoolkit, unless you really want those HTML docs, or need to build a tape file.
Thanks, I didn't realise the .skool file was human readable.
P*h*i*l*l*i*p EEaattoon in real life
User avatar
Bedazzle
Manic Miner
Posts: 305
Joined: Sun Mar 24, 2019 9:03 am

Re: Jetpac annotated disassembly released

Post by Bedazzle »

Einar Saukas wrote: Tue Sep 14, 2021 12:59 am All disassemblies are stored in ZXDB this way.

If I missed anything, please let me know!
https://github.com/Bedazzle/EATF
User avatar
Bedazzle
Manic Miner
Posts: 305
Joined: Sun Mar 24, 2019 9:03 am

Re: Jetpac annotated disassembly released

Post by Bedazzle »

mrcook wrote: Tue Sep 14, 2021 3:47 pm I understand what you mean, I used dcimal numbers for my first forays into disassembly. The thing is, assembly language starts to make way more sense when work in hex numbers.
It depends what number presents. If it is score, or gold, or something people use in real life - it is easier in dec.
If it is memory address - it is much easier to operate in hex.

Example:
16384 vs $4000

1000 vs $03E8
User avatar
D-Type
Drutt
Posts: 3
Joined: Fri Aug 06, 2021 11:14 pm
Location: Zurich, Switzerland

Re: Jetpac annotated disassembly released

Post by D-Type »

Bedazzle wrote: Mon Nov 08, 2021 9:59 pm It depends what number presents. If it is score, or gold, or something people use in real life - it is easier in dec.
If it is memory address - it is much easier to operate in hex.

Example:
16384 vs $4000

1000 vs $03E8
I agree with the above, I use hex exclusively, except for things that are related to human I/O. Once you can add and subtract hex digits in your head, there's no going back to decimal!

I'm using dasmfw/a09 for 6809 disassembly/reassembly and that uses an 'info' file where you can specify comments etc.

It has more advanced disassembly features than skoolkit, but doesn't have the pretty hyperlink HTML output, only plain text.

It does allow you specify ranges of bytes to show as hex/dec/binary/char etc, which produces a really nice source code, IMO.

dasmfw (DisASseMbler FrameWork) was originally based on the f9dasm 6809 disassembler, but re-architected and improved to handle multiple CPU families.

Z80 could be added reasonably easily, but of course without HTML output. If only skoolkit could be made to parse dasmfw 'info' files... :twisted:
P*h*i*l*l*i*p EEaattoon in real life
Post Reply