Search found 38 matches

by fschuhi
Tue Jun 30, 2020 7:25 pm
Forum: Nostalgia
Topic: reverse engineering Robotron 2084 for the Apple II
Replies: 97
Views: 20641

Re: reverse engineering Robotron 2084 for the Apple II

I've managed to upload the Python stuff covered in this thread to GitHub: https://github.com/fschuhi/Robotron_2084

It has been a while (actually more than 1 year) since I've suspended working on the project. It was never discontinued, though, just waited to be rekindled :)

I did some checks on ...
by fschuhi
Mon Jun 08, 2020 1:16 pm
Forum: Nostalgia
Topic: reverse engineering Robotron 2084 for the Apple II
Replies: 97
Views: 20641

Re: reverse engineering Robotron 2084 for the Apple II

cjs + fadden, thanks for adding posts to this dormant thread!

I intend to come back to the project, not soon but eventually, hopefully in the fall. I have a long reading list and also lined up a number of 6502 tutorials, so I should be able to make a bit progress when coming back to Robotron.
by fschuhi
Fri Jul 19, 2019 1:15 pm
Forum: Nostalgia
Topic: reverse engineering Robotron 2084 for the Apple II
Replies: 97
Views: 20641

Re: reverse engineering Robotron 2084 for the Apple II

I'm sorry for having been away from the forum for so long, please excuse the late answer.

Are your reverse-engineering tools available anywhere? I might try them out on the ROMs from a classic chess computer.

Thanks for asking, no, I've not yet been able to upload anything to GitHub or the like ...
by fschuhi
Tue Apr 30, 2019 3:50 pm
Forum: Nostalgia
Topic: reverse engineering Robotron 2084 for the Apple II
Replies: 97
Views: 20641

Re: reverse engineering Robotron 2084 for the Apple II

Having a good idea about how something works is still far from really knowing the details of how this is accomplished (oh yeah, Captain Obvious, tell us more ;) ). The "sprite projector" hinted at in the post above can serve as a good training ground to learn to tear into asm code.

Sadly (or ...
by fschuhi
Tue Apr 30, 2019 3:05 pm
Forum: Nostalgia
Topic: reverse engineering Robotron 2084 for the Apple II
Replies: 97
Views: 20641

Re: reverse engineering Robotron 2084 for the Apple II

After some time away I've been able to spend some more hours on the reverse engineering project.

The Apple II is severly constrained in terms of memory. Consequently, Robotron uses for the "cut scenes" the actual game code to display elements like the player character or enemies. From a reverse ...
by fschuhi
Tue Apr 02, 2019 9:48 pm
Forum: Nostalgia
Topic: reverse engineering Robotron 2084 for the Apple II
Replies: 97
Views: 20641

Re: reverse engineering Robotron 2084 for the Apple II

I have started to get a closer look at what's happening in terms of reads from and writes to memory. The problem is of course not collecting the info but rather condensing it sensibly. I first tried to group the access in pages, for the different subroutines as suggested by sark02 earlier in this ...
by fschuhi
Tue Apr 02, 2019 7:02 am
Forum: Nostalgia
Topic: reverse engineering Robotron 2084 for the Apple II
Replies: 97
Views: 20641

Re: reverse engineering Robotron 2084 for the Apple II

Yes, both Robotron and Bandits have aged very well, IMHO. Apart from the fun gameplay, Bandits is also a formidable piece of software, given what Benny Ngo was able to cram into 6kb.
by fschuhi
Mon Apr 01, 2019 3:39 pm
Forum: Nostalgia
Topic: reverse engineering Robotron 2084 for the Apple II
Replies: 97
Views: 20641

Re: reverse engineering Robotron 2084 for the Apple II

I wanted to enter two-digit wave numbers, with backspace, return and escape, handle special cases like "00". It's implemented as a statemachine using an RTS jump table as described in https://wiki.nesdev.com/w/index.php/RTS_Trick . Apart from the special characters, only numbers are allowed. The ...
by fschuhi
Mon Apr 01, 2019 3:20 pm
Forum: Nostalgia
Topic: reverse engineering Robotron 2084 for the Apple II
Replies: 97
Views: 20641

Re: reverse engineering Robotron 2084 for the Apple II

Robotron has a great gameplay. It's getting crowded pretty quickly - that's a strength, but it has a steep learning curve. There are distinct types of levels (called "waves" in Robotron), regarding the type of robot enemies you have to battle. The waves get increasingly difficult, fast. In the "Tank ...
by fschuhi
Fri Mar 22, 2019 5:20 pm
Forum: Nostalgia
Topic: reverse engineering Robotron 2084 for the Apple II
Replies: 97
Views: 20641

Re: reverse engineering Robotron 2084 for the Apple II

whartung wrote:
fschuhi wrote:
The one thing which I haven't cared about at all yet is the speaker. That's really so basic that it Hz :)
Fixed that for ya!
:)
:lol: :lol: :lol:
by fschuhi
Fri Mar 22, 2019 5:18 pm
Forum: Nostalgia
Topic: reverse engineering Robotron 2084 for the Apple II
Replies: 97
Views: 20641

Re: reverse engineering Robotron 2084 for the Apple II

Interesting to see LDA/PHA/LDA/PHA/RTS used here, at $51C4. A more compact alternative might be:
JSR readNextChar ; just to increment the pointer to an actual instruction
JMP ($0022) ; indirect through the pointer
…which takes 6 bytes instead of 7, not a big difference, and the readNextChar ...
by fschuhi
Fri Mar 22, 2019 5:15 pm
Forum: Nostalgia
Topic: reverse engineering Robotron 2084 for the Apple II
Replies: 97
Views: 20641

Re: reverse engineering Robotron 2084 for the Apple II

As a port, hopefully it'll not be super tied into any hardware specifics, though it doesn't look like the Apple II has too many hardware specifics to begin with. ;)
Thanks for the feedback, White Flame. Yes, the Apple II is really a clean platform, perfect for learning 6502. The one thing which I ...
by fschuhi
Fri Mar 22, 2019 5:10 pm
Forum: Nostalgia
Topic: reverse engineering Robotron 2084 for the Apple II
Replies: 97
Views: 20641

Re: reverse engineering Robotron 2084 for the Apple II

BigEd wrote:
A milestone - well done!
Thank you, BigEd, your encouragements are very motivating!
by fschuhi
Thu Mar 21, 2019 7:46 am
Forum: Nostalgia
Topic: reverse engineering Robotron 2084 for the Apple II
Replies: 97
Views: 20641

Re: reverse engineering Robotron 2084 for the Apple II

I've managed to understand some important subroutines completely, on my own, for the first time ever :)

(Don't worry, I won't bother you every time when I understand anything new, it's just a heads-up ;) )

This is a snippet which is part of the game's intro screen:

$456c atariPresents JSR ...
by fschuhi
Sun Mar 17, 2019 10:55 am
Forum: Nostalgia
Topic: reverse engineering Robotron 2084 for the Apple II
Replies: 97
Views: 20641

Re: reverse engineering Robotron 2084 for the Apple II

Now might be a good time to mention another idiom, not restricted to the 6502: a subroutine may be entered using JMP instead of using JSR immediately followed by RTS. This is known as a tail-call optimisation. On the 6502 it saves 1 byte and 6 cycles.
actually 9 cycles, since JMP is 3 cycles ...