Subject: Re: [stella] New 2600 programmer|
From: Piero Cavina <p.cavina@xxxxxxxxxxxxx>
Date: Wed, 30 Apr 1997 11:51:55 +0200 (METDST)
At 15.17 28/04/97 -0400, Robin Harbron wrote: >Hey, I'm new to 2600 programming - You're welcome... :-) >I plan on using DASM >on my A500, and then using makewave and >playing it through to my 2600 for testing. Don't you have a 2600 emulator for the Amy? I've started programming for the 2600 using a Mac+Superchager setup as developement system, then I realized that it's very, very much faster to use an emulator _with integrated debugger_ like PC Atari. You can go to the Supercharger only once in a while to test the real 'feel' of the game and to be sure that it can run on the 2600. >to experiment with. Perhaps display a bit >of a background, and put an object or two >on the screen, like a player & missile. Check the "How to draw a playfield" text, then the Comabat and SoundX sources... Anyway... 1 - Initialize the machine 2 - Do the VSYNC, start the VBLANK 3 - do game logic now (not very much in simple demos). Sprites, ball and missiles that are not re-used during the kernel are usually horizontally positioned during VBLANK ('Combat' does it). Soon you will realize that any graphically advanced game makes use of sprite repositioning; however, learn this technique only when you'll have more experience. 4 - wait til the end of VBLANK 5 - kernel: draw 192 lines of playfield. Please note that it's not absolutely necessary to do a 0-191 loop (thought that could be useful in your first attempts), it is important that you have _in mind_ exactly how many lines you've already drawn and how many are still to be drawn! For example, my latest demo doesn't do a 0-191 loop, but a 0-9 loop drawing 16 lines for each iteration; then 192-(16x10) blank lines are drawn to complete the screen. 6 - draw 30 blank lines for overscan and go to 2. After all, it's not so difficult as some say ;-) Ciao, P. -- Archives available at http://www.biglist.com/lists/stella/archives/ E-mail UNSUBSCRIBE in the body to stella-request@xxxxxxxxxxx to be removed.