[stella] disassemblies and other stuff
Subject: [stella] disassemblies and other stuff|
From: Glenn Saunders <cybpunks@xxxxxxxxxxxx>
Date: Mon, 08 Jan 2001 10:09:29 -0800
I was wondering if there was a sure-fire disassembly method out there
anyone could share with me. The two methods I know of are diStella and
I tried disassembling Super Challenge Football with diStella and it left
SCF won't even run on PCAtari for some reason. It runs fine on Stella so I
have to assume it's the emulator, not the ROM image.
I'd like to get a good disassembly of that, Surround, and Indy500.
Speaking of Surround, or any pseudobitmap game, generally speaking, what's
the best approach to storing and accessing the bitmap?
So far in my game I'm setting the playfield mode to reflect and will only
update PF1 and PF2.
What is the safe range of cycle counts for rewriting these registers?
Also, there is a lot of "reinventing the wheel" I seem to be easing into
regarding simple assembly algorithms. Is there somewhere I could go that
has a lot of general routines that everybody always uses??
For instance, In modifying How to Draw a Playfield, I want to change the
playfield graphics every 8 scanlines, but the scanline kernel still needs
to update the sprites every scanline (visually, every two if I use the
usual VDEL routines to produce 2-scanline tall sprites).
I'm not worrying about the sprites right now but I need to leave room in
the kernel for them later. The only tricky sprite stuff will be the
missiles as the horizontal position and width need to change from scanline
to scanline. The cars are like Combat, with the horizontal positions pre
calculated once before screentime begins. I know there is enough time for
this kernel as Super Challenge Football features a nonreflective
(scrolling, which I won't do) playfield and the missile tricks.
But anyway, for things like this, my immediate thinking process is:
I switched around Nick's code to count up instead of down. This is going
to make things a lot easier for me to conceptualize the screen. (I realize
that counting down has benefits in that the branch routines test for zero.):
if scanlinecounter is divisible by 8
EOR the border graphic by itself to toggle between 128 and 0 (creates
STA BorderLoc (for next time)
Increment an index offset into playfield RAM
Grab PF1 and PF2 data using ABS,X indexing and write to PF1 and PF2
Grab second set of PF1 and PF2 data and write to PF1 and PF2 at the proper
ELSE (just repeat the writes to playfield registers as above but without
incrementing or EORing)
So I'm thinking, what's an easy way to figure out if a number is divisible
(evenly) by another number?
I played around with Nick's LSR/AND stuff but I don't quite understand what
it's doing, as I'm thinking more in terms of decimal rather than bitwise or
Archives (includes files) at http://www.biglist.com/lists/stella/archives/
Unsub & more at http://www.biglist.com/lists/stella/
- Re: [stella] Tetris brainstorming, (continued)
- Eckhard Stolberg - Sun, 7 Jan 2001 08:51:24 -0500 (EST)
- Rob - Sun, 7 Jan 2001 10:42:00 -0500 (EST)
- Erik Mooney - Sun, 7 Jan 2001 16:04:14 -0500 (EST)
- Eckhard Stolberg - Mon, 8 Jan 2001 12:00:07 -0500 (EST)
- Glenn Saunders - Mon, 8 Jan 2001 13:08:48 -0500 (EST) <=
- Erik Mooney - Mon, 8 Jan 2001 17:06:13 -0500 (EST)
- Rob - Tue, 9 Jan 2001 00:45:51 -0500 (EST)
- Andrew Davie - Mon, 8 Jan 2001 23:07:57 -0500 (EST)
- Andrew Davie - Mon, 8 Jan 2001 23:23:10 -0500 (EST)