More horizontal positioning finds

Subject: More horizontal positioning finds
From: "Dennis Debro" <debrodennis@xxxxxxxxxxx>
Date: Thu, 1 Jul 2004 06:35:11 -0400
Hi there,

I've been chugging along with disassembling Kaboom! and Pac-man. I've found
another way they positioned their sprites horizontally that is sort of
similar to the way Gary Kitchen did it for Space Jockey and Donkey Kong.

Keep in mind that both these games have a copyright of 1981 and Space Jockey
has a copyright of 1982.

=====Pac-man=====
   ldy #2
   sec
.divideBy15
   iny
   sbc #15
   bcs .divideBy15
   eor #$ff
   sbc #6
   asl
   asl
   asl
   asl
   sta WSYNC
.coarseMoveLoop
   dey
   bpl .coarseMoveLoop
   sta RESP0,x
   sta HMP0,x
   dex
   bpl .moveNextSprite

=====KABOOM!=====
CalcPosX
   ldy #-1
   sec
.divideBy15
   iny
   sbc #15
   bcs .divideBy15
   sty tempCoarseValue
   eor #$FF
   adc #9
   asl
   asl
   asl
   asl
   ora tempCoarseValue
Waste12Cycles
   rts

There pretty similar. They differ by the remainder calculation and Kaboom!
pre-calculates it's positions.

I was going to save this until they were done but I thought I'd share them
now. I don't know when I'll be able to get back on these.

Also, Pac-man is taking a bit longer than I expected. There's not a lot to
the game but Tod does *a lot* of jmps and jsrs. I have to put my old BASIC
programming hat back on for this I guess.

Two interesting finds in Pac-man so far.
1) One I never knew the ghosts were different colors. They looked to be the
same on my TV :-)
2) It looks as if Tod didn't store the wafer (dot) patterns in RAM. It looks
like they're stored in ROM and RAM holds the table offset positions. It'll
take a little more time to confirm this though.

Take care,
Dennis




Current Thread