Arkanoid (NES) - RAM
Jump to navigation
Jump to search
USA
USA |
Memory Addresses
000D - Current Player's Lives 000E - Lives displayed on the screen 000F - Number of bricks remaining 001C - Current Player's Round 001D - P1 Lives 001E - P2 Lives 0021 - Current Player's Round (00-24) 0023 - P1 Round 0024 - P2 Round 008C - Capsule Type 01 - Slow 02 - Catch 03 - Extend 04 - Disrupt 05 - Laser 06 - Break 07 - Player Extend 008D - Capsule Animation Delay x4 008E - Capsule Animation Delay x1 008F - Capsule Graphic Position 0090 - Capsule Graphic Position 0091 - Capsule Y Position 0092 - Capsule Animation Offset 0093 - Capsule Palette 0094 - Capsule X Position 0100 - Ball Speed (Updates when ball hits Vaus or wall) 0101 - Ball Speed Copy 0102 - Hit counter. Increments each time the ball or laser hits something. Changed when ball it's back of stage. 010C - Ball Grid Y 010D - Ball Grid X 011A - Vaus very left bloc X Pos 011B - Vaus left bloc X Pos 011C - Vaus middle left bloc X Pos 011D - Vaus middle right bloc X Pos 011E - Vaus right bloc X Pos 011F - Vaus very right bloc X Pos 0128 - Catch flag 0129 - Set Vaus Status To (Use this to set Vaus size) 01 - Normal 02 - Extended 04 - Laser 012A - Vaus Status 01 - Normal 02 - Extended 04 - Laser 012E - Ball Grid Y 012F - Ball Grid X 0138 - Delay before ball automatically releases 013B - Screen Change Delay counter 0166 - Hits on Doh (Set to 0F and next hit will kill) 0167 - Hits on Doh - Copy 03A0-03AA - Bricks Row 1 03AB-03B6 - Bricks Row 2 03B7-03C0 - Bricks Row 3 03C1-03CB - Bricks Row 4 03CC-03D6 - Bricks Row 5 03D7-03E1 - Bricks Row 6 03E2-03EC - Bricks Row 7 03ED-03F7 - Bricks Row 8 03F8-0403 - Bricks Row 9 0404-040D - Bricks Row 10 040E-0418 - Bricks Row 11 0419-0423 - Bricks Row 12 0424-042E - Bricks Row 13 042F-0439 - Bricks Row 14 043A-0444 - Bricks Row 15 0445-044F - Bricks Row 16 0450-045A - Bricks Row 17 045B-0465 - Bricks Row 18 0466-0470 - Bricks Row 19 0471-047B - Bricks Row 20 047C-0486 - Bricks Row 21 0487-0491 - Bricks Row 22 0492-049C - Bricks Row 23 049D-04A7 - Bricks Row 24 Brick values are broken out by nybble. High nybble is the color/type 0 - No brick 1-D - Color assigned by level E - Silver F - Gold Low nybble is the number of hits the brick will take. If it is a 9 the brick will break at the first hit and drop a capsule. Anything else will decrement the low nybble. 0366 - Hi Score: 9xxxxx 0367 - Hi Score: x9xxxx 0368 - Hi Score: xx9xxx 0369 - Hi Score: xxx9xx 036A - Hi Score: xxxx9x 036B - Hi Score: xxxxx9 0370 - P1 Score: 9xxxxx 0371 - P1 Score: x9xxxx 0372 - P1 Score: xx9xxx 0373 - P1 Score: xxx9xx 0374 - P1 Score: xxxx9x 0375 - P1 Score: xxxxx9 0376 - P2 Score: 9xxxxx 0377 - P2 Score: x9xxxx 0378 - P2 Score: xx9xxx 0379 - P2 Score: xxx9xx 037A - P2 Score: xxxx9x 037B - P2 Score: xxxxx9 037C - Score Incrementer 9xxxxx 037D - Score Incrementer x9xxxx 037E - Score Incrementer xx9xxx 037F - Score Incrementer xxx9xx 0380 - Score Incrementer xxxx9x 0381 - Score Incrementer xxxxx9 - Setting this continually increases the score. 0382 - Display Score: 9xxxxx 0383 - Display Score: x9xxxx 0384 - Display Score: xx9xxx 0385 - Display Score: xxx9xx 0386 - Display Score: xxxx9x 0387 - Display Score: xxxxx9
Code
Starting Level
This is an excerpt from the starting routine.
; Starting with 1 player. 9C12:A9 03 LDA #$03 ; Load #03 into A. 9C14:85 1D STA $001D ; Store A into P1 Lives. 9C16:AD 32 01 LDA $0132 ; 9C19:C9 05 CMP #$05 9C1B:90 01 BCC $9C1E 9C1D:60 RTS 9C1E:A9 01 LDA #$01 ; Load #01 into A. 9C20:85 21 STA $0021 ; Store A into Level. 9C22:85 23 STA $0023 9C24:A9 00 LDA #$00 9C26:85 22 STA $0022 9C28:60 RTS ; Starting using 2 players. 9C29:A9 03 LDA #$03 ; Load #03 into A. 9C2B:85 1D STA $001D ; Store A into P1 Lives. 9C2D:85 1E STA $001E ; Store A into P2 Lives.
Japan
Japan |
Memory Addresses
000D - Current Player's Lives 0021 - Current Player's Round (00-24) 0023 - P1 Round 0024 - P2 Round 0100 - Ball Speed (Updates when ball hits Vaus or wall) 0128 - Catch flag 0129 - Set Vaus Status To (Use this to set Vaus size) 01 - Normal 02 - Extended 04 - Laser 0166 - Hits on Doh (Set to 0F and next hit will kill)
Code
Game Start
Sets the starting round. The Japanese Round seems to be decimal rather than hex and gets incremented differently.
; 2-Player game. 9BAC:A9 01 LDA #$01 9BAE:85 21 STA $0021 ; Store A into P1 Stage 9BB0:85 23 STA $0023 ; Store A into P1 Stage ; 1-Player game. 9C44:A9 01 LDA #$01 9C46:85 21 STA $0021 9C48:85 23 STA $0023