I know that in the past emulators didn't track how many cycles MARIA used, I don't know whether current emulators track CPU cycles versus MARIA cycles. The only way MARIA could corrupt registers is via a DLI which doesn't properly preserve them.
I remember in SpaceWar! 7800 I had a DLI in the first inactive zone which would just set a flag then RTI. The main code would loop on that flag instead of MSTAT. I guess you could do away with that and pop the SR & PC off the stack and make the ISR the start of the routine. Wouldn't be a bad idea to have the ISR check a flag to see if the previous frame had completed first.
https://sites.google.../atari7800wiki/ has some info on cycle counts and DLIs.
- AtariAge Forums
- → Viewing Profile: EricBall
EricBall
Member Since 6 Sep 2002OFFLINE Last Active Today, 3:35 PM
Community Stats
- Group Members
- Active Posts 699 (0.2 per day)
- Profile Views 21,662
- Member Title Dragonstomper
- Age Age Unknown
- Birthday Birthday Unknown
-
Gender
Not Telling
-
Location
Markham, Ontario, Canada
5
Neutral
User Tools
Latest Visitors
Posts I've Made
In Topic: Too many cycles
Mon Dec 19, 2011 11:06 AM
In Topic: Collision Detection... Looking for advice
Thu Jun 9, 2011 11:53 AM
One immediate suggestion would be to try to eliminate the JSR OBJECTCOLL. Yes, it means you can use RTS to get back to the DOCLOOP, but it's costly in CPU cycles. You may have to use Branch+JMP sequences, but that's still faster than JSR+RTS. You can then also pull back the BEQ DOCNEXT into the OBJECTCOLL logic.
How big are your objects & velocities? Is bounding box good enough or do you need pixel perfect? Can shots collide? You may want to have one set of routines for shots and another for other objects. Test the shots versus the other objects and the objects only against each other.
How big are your objects & velocities? Is bounding box good enough or do you need pixel perfect? Can shots collide? You may want to have one set of routines for shots and another for other objects. Test the shots versus the other objects and the objects only against each other.
In Topic: interested in programming for the 7800
Thu Jun 9, 2011 11:18 AM
EricBall, on Tue Jun 7, 2011 11:49 AM, said:
I don't believe there is a high level language for the 7800 like bB for the 2600.
GroovyBee, on Tue Jun 7, 2011 12:19 PM, said:
I'll have to disagree on that. I've been using "C" and my own assembly language games library for a couple of years now. My games Wasp!, Worm!, Harry's Hen House, Fruitarian, Monster! and Halloween are all developed using it.
In Topic: interested in programming for the 7800
Tue Jun 7, 2011 11:49 AM
toptenmaterial, on Fri Jun 3, 2011 9:46 PM, said:
So, I'm getting the sense that the 7800, for a beginner, is tougher to write for than the 2600?
- I don't believe there is a high level language for the 7800 like bB for the 2600.
- The TIA is fundamentally easier to understand that MARIA. (Playfield + sprite registers versus display list.)
- It takes more code on the 7800 than the 2600 to get something other than a black screen.
- Stella has a built-in debugger, I don't believe any of the 7800 emulators have any significant debugging capabilities.
- More 2600 sample code available.
In Topic: interested in programming for the 7800
Fri Jun 3, 2011 11:10 AM
When you say "zero experience in programming", do you mean:
Finally, my thoughts on your game ideas:
- You have no programming experience whatsoever. If so, there are far, far better places to start than the 7800. (Maybe batari Basic if you want to work on a console rather than a PC.)
- You have programming experience, but only with high level languages. Again, you might want to start somewhere else. IMHO the 7800 is tough to use because you have to write a lot of code to get things happening on screen.
- You've programmed in assembly, but not in 6502. See #2, although if you have experience in more than one ISA then picking up the 6502 isn't too bad. (Until you discover the index registers are only 8 bit.)
- You have 6502 experience, but have never programmed any games. I'd advise reading through the documentation linked to in the first thread before setting your heart on making a game for the 7800.
Finally, my thoughts on your game ideas:
- WWI dogfighter
The 7800 GPU is sprite based with some tile abilities. There is no bitmap mode like the Apple ][ or C64. So anything on-screen has to be pre-rendered, not drawn with lines (ala vector graphics). Thus stuff which has to be at multiple angles is going to use up a lot of memory. - Super Mario Bros port
Ahh.. the desire of many a 7800 fan. Although it might be possible to create a SMB style game on the 7800 (and even possibly re-use some NES assets), there's just too many differences between the systems to make a port feasible. See my comparison of the 7800 and the NES.
- AtariAge Forums
- → Viewing Profile: EricBall
- Guidelines




Send me a message
Find content
Display name history
