Re: [stella] Help (Timing problems?)

Subject: Re: [stella] Help (Timing problems?)
From: Wade Brown <wbrown@xxxxxxxxxxxxx>
Date: Thu, 09 Aug 2001 21:02:48 -0400
If the game has the space left over, it goes a long way to adding that little extra bit of retro authenticity.  It also performs a utilitarian function, namely visually indicating when the game is over.  Space Invaders a good example of that.  I like the way the game kinda still runs in that game even though the game is over.  It's like an "afterlife" mode.

Thanks - part of my mission is to attempt to work within the constraints that faced the original programmers - however, I may strip it out (or try to optimize it) if my demo/game requires it. 

I'm still trying to work within the 2k limit - that should not be a problem due to my lack of time to devote to this.

BTW, much of the original Freeway code is disappearing or being re-written - I don't want to give the list the impression that I am intending to produce a derivitave work or just "cut and paste" my way into a game. 

I do plan to create and post a version of this "shell" - hopefully will fill a gap for newbies in terms of some of the things not covered in Bensema's playfield demo -
Table-driven horizontal postioning,Joystick/boundary detection, simple sprite movement, etc...

Wade Brown
Systems Analyst
E-mail: wbrown@xxxxxxxxxxxxx

At 11:24 AM Tuesday 7/31/2001, you wrote:

BTW: I don't think a screensaver mode is necessary any more. And it "wastes" a lot of valuable space.
<<

If the game has the space left over, it goes a long way to adding that little extra bit of retro authenticity.  It also performs a utilitarian function, namely visually indicating when the game is over.  Space Invaders a good example of that.  I like the way the game kinda still runs in that game even though the game is over.  It's like an "afterlife" mode.


GLENN SAUNDERS===============================
By Day - Web Developer - http://www.eUniverse.com
==============================================
By Night - Producer - Cyberpunks Entertainment
Personal homepage: http://www.geocities.com/Hollywood/1698
Cyberpunks Entertainment: http://cyberpunks.uni.cc



From: "Thomas Jentzsch" <tjentzsch@xxxxxx>
Reply-To: stella@xxxxxxxxxxx
To: stella@xxxxxxxxxxx
Subject: Re: [stella] Help (Timing problems?)
Date: Tue, 31 Jul 2001 09:23:55 +0200
MIME-Version: 1.0
Received: from [216.223.192.28] by hotmail.com (3.2) with ESMTP id MHotMailBD2FA83B0005400438CAD8DFC01C0FFC0; Tue, 31 Jul 2001 00:24:47 -0700
Received: (from majordom@localhost)by biglist.com (8.8.8/8.8.5/BL-2) id DAA10391;Tue, 31 Jul 2001 03:27:56 -0400 (EDT)
Received: from mailgate3.cinetic.de (mailgate3.cinetic.de [212.227.116.80])by biglist.com (8.8.8/8.8.5/BL-2) with ESMTP id DAA10387for <stella@xxxxxxxxxxx>; Tue, 31 Jul 2001 03:27:51 -0400 (EDT)
Received: from web.de (fmomail02.dlan.cinetic.de [172.20.1.46])by mailgate3.cinetic.de (8.11.2/8.11.2/SuSE Linux 8.11.0-0.4) with SMTP id f6V7Ns629955for stella@xxxxxxxxxxx; Tue, 31 Jul 2001 09:23:55 +0200
From owner-stella@xxxxxxxxxxx Tue, 31 Jul 2001 00:25:42 -0700
Message-Id: <200107310723.f6V7Ns629955@xxxxxxxxxxxxxxxxxxxx>
Organization: http://freemail.web.de/
X-MIME-Autoconverted: from quoted-printable to 8bit by biglist.com id DAA10388
Sender: owner-stella@xxxxxxxxxxx
Precedence: bulk

Wade Brown wrote:
> I am working on a "shell" that I can use to flesh out some ideas I have -
> the idea being to have basic semi-reusable functions such as: b/w color
> selection, screen saver timer, and score digits.

That's a good idea, if you want to start programming the 2600. Later on, you will find, that often you need more specialized or optimized code.


> BTW, I was trying to get a fairly optimal way to read diagonals from the
> joystick - anyone out there see how I can improve this approach or has a
> different take, I would really like to see...

The code below is a bit more compact than yours:

; check joystick:
    lda SWCHA
    asl
    bcc .noRight
    inc Player1X
    bcs .withJoy    ;3      always taken branch, saves 1 byte compared to jmp
.noRight:
    asl
    bcc .noLeft
    inc Player1X
    bcs .withJoy    ;3      always taken branch, saves 1 byte compared to jmp
.noLeft:
    asl
    bcc .noDown
    ...
    bcs .withJoy    ;3      always taken branch, saves 1 byte compared to jmp
.noDown:
    asl
    bcc .noJoy
    ...
.withJoy:
    ldy #0          ;       joystick moved
    sty SaverTimer
.noJoy:


> I would especially appreciate any help in the
> area of boundary detection (i.e detecting when the player/enemy is at the
> edge of the screen).

Here is a slightly better solution:

; check x-bounds:
; I LOVE to use constants, because that makes the code more readable (for me:) and I can much easier change the parameters
LEFT_BOUND      =  20
RIGHT_BOUND     = 140

    lda Player1X
    cmp #LEFT_BOUND
    bcc .outOfLeftBound
    cmp #RIGHT_BOUND+1
    bcc .inXBounds
    lda #RIGHT_BOUND
    .byte $2c       ;       opcode for bit.w, this hides the next instruction
.outOfLeftBound:
    lda #LEFT_BOUND
    sta Player1X
.inXBounds:

You could also combine the joystick and boundary routines. This might give you more optimal solutions. But that's mixing two different basic functions and doesn't fit into your concept.

Have fun!
Thomas

BTW: I don't think a screensaver mode is necessary any more. And it "wastes" a lot of valuable space.
_______________________________________________________
Thomas Jentzsch         | *** Every bit is sacred ! ***
tjentzsch at web dot de |


______________________________________________________________________________
Jetzt und nur hier Ihr original PREMIERE WORLD SportPaket
plus 100 Euro ExtraPrämie: http://premiere.web.de


-
Archives (includes files) at http://www.biglist.com/lists/stella/archives/
Unsub & more at http://www.biglist.com/lists/stella/


_________________________________________________________________
Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp


-
Archives (includes files) at http://www.biglist.com/lists/stella/archives/
Unsub & more at http://www.biglist.com/lists/stella/
- Archives (includes files) at http://www.biglist.com/lists/stella/archives/ Unsub & more at http://www.biglist.com/lists/stella/
Current Thread