Tecmo Bowl (NES) - RAM

From ROM Detectives Wiki
Jump to navigation Jump to search
Label-Main.svgLabel-RAM.svgLabel-ROM.svgLabel-Text.svgLabel-Lua.svg


USA

USA

Tecmo Bowl - NES - USA.png


USA (Rev 1)

USA (Rev 1)

Tecmo Bowl (Rev 1) - NES - USA.png

Memory Addresses

0033 - Kick Menu - Cancel (00 - No, 01 - Yes)
0034 - Kick Menu - Field Goal (00 - No, 01 - Yes)
0035 - Kick Menu - Punk Kick (00 - No, 01 - Yes)
003B - Menu Flag (00 - No, 01 - Yes)
003F - P1 Score
0043 - P1 Display Score
0044 - P2 Score
0048 - P2 Display Score
008A - Time: Seconds (00-59)
008B - Time: Minutes (00-09)
008E - Down (00-03)

00A8 - P2 Play Pick (00 - Not Picked, 80-83 - Picked)
00A9 - P1 Play Pick (00 - Not Picked, 80-83 - Picked)

01DF - Second Length?

032E - P1 Punt/Field Goal Gauge (00-64)

03EE - P1 Kickoff Gauge (00-64)

04DE - P2 Punt/Field Goal Gauge (00-64)
04DF - CPU Punt/Field Goal Timeout

059E - P2 Kickoff Gauge (00-64)
059F - CPU Kickoff Timeout

05FF - CPU Snap Timeout

066F-0672 - Display Time

07AE - Both players picked a play flag (00 - No, 01 - Yes)

Code

Load Quarter Time

; Load Time for 1st Quarter
8511:A9 30     LDA #$30
8513:85 8A     STA $008A        ; Store A into Seconds.
8515:A9 01     LDA #$01
8517:85 8B     STA $008B        ; Store A into Minutes.
8519:20 16 C6  JSR $C616
851C:A9 3C     LDA #$3C
851E:20 4F C6  JSR $C64F
8521:20 04 9E  JSR $9E04
8524:90 F6     BCC $851C
8526:20 16 C6  JSR $C616
8529:E6 8D     INC $008D
852B:20 5C 8D  JSR $8D5C
852E:A5 A0     LDA $00A0
8530:09 10     ORA #$10
8532:85 A0     STA $00A0
; Load Time for 2nd Quarter
8534:A9 30     LDA #$30
8536:85 8A     STA $008A        ; Store A into Seconds.
8538:A9 01     LDA #$01
853A:85 8B     STA $008B        ; Store A into Minutes.
853C:20 16 C6  JSR $C616
853F:A9 3C     LDA #$3C
8541:20 4F C6  JSR $C64F
8544:20 04 9E  JSR $9E04
8547:90 F6     BCC $853F
8549:20 16 C6  JSR $C616
854C:E6 8D     INC $008D
854E:20 5C 8D  JSR $8D5C
8551:20 37 8F  JSR $8F37
8554:A9 FF     LDA #$FF
8556:85 A2     STA $00A2
8558:A9 7F     LDA #$7F
855A:85 A3     STA $00A3
855C:A9 03     LDA #$03
855E:A2 A0     LDX #$A0
8560:20 EE C5  JSR $C5EE
; Load time for 3rd quarter.
8563:A9 30     LDA #$30
8565:85 8A     STA $008A        ; Store A into Seconds.
8567:A9 01     LDA #$01
8569:85 8B     STA $008B        ; Store A into Minutes.
856B:20 16 C6  JSR $C616
856E:A9 3C     LDA #$3C
8570:20 4F C6  JSR $C64F
8573:20 04 9E  JSR $9E04
8576:90 F6     BCC $856E
8578:20 16 C6  JSR $C616
857B:E6 8D     INC $008D
857D:20 5C 8D  JSR $8D5C
8580:A5 A0     LDA $00A0
8582:09 10     ORA #$10
8584:85 A0     STA $00A0
; Load time for 4th quarter.
8586:A9 30     LDA #$30
8588:85 8A     STA $008A        ; Store A into Seconds.
858A:A9 01     LDA #$01
858C:85 8B     STA $008B        ; Store A into Minutes.

Decrease Time

9E04:C6 8A     DEC $008A        ; Decrease Seconds.
9E06:D0 04     BNE $9E0C        ; If Seconds != 0, goto $9E0C
9E08:A5 8B     LDA $008B        ; Load Minutes into A
9E0A:F0 43     BEQ $9E4F        ; If Minutes == 0, goto $9E4F
9E0C:A5 8A     LDA $008A        ; Load Seconds into A
9E0E:30 1D     BMI $9E2D        ; If Seconds < 0, goto $9E2D
9E10:29 0F     AND #$0F         ; And A with #0F
9E12:C9 0A     CMP #$0A         ; Compare A With #0A
9E14:90 25     BCC $9E3B        ; 
9E16:A5 8A     LDA $008A        ; Load Seconds into A
9E18:38        SEC              ; Set Carry Flag.
9E19:E9 06     SBC #$06         ; Subtract #06 from A.
9E1B:85 8A     STA $008A        ; Store A into Seconds.
9E1D:C9 29     CMP #$29
9E1F:D0 1A     BNE $9E3B
9E21:A5 8B     LDA $008B        ; Load Minutes into A.
9E23:D0 16     BNE $9E3B
9E25:A9 1E     LDA #$1E
9E27:8D 00 07  STA $0700
9E2A:4C 4A 9E  JMP $9E4A
9E2D:A9 59     LDA #$59         ; Load A with #59
9E2F:85 8A     STA $008A        ; Store A into Seconds.
9E31:C6 8B     DEC $008B        ; Decrement Minutes.
9E33:A9 1E     LDA #$1E
9E35:8D 00 07  STA $0700
9E38:4C 4A 9E  JMP $9E4A
9E3B:A5 8B     LDA $008B
9E3D:D0 0B     BNE $9E4A
9E3F:A5 8A     LDA $008A
9E41:C9 0A     CMP #$0A
9E43:B0 05     BCS $9E4A
9E45:A9 1F     LDA #$1F
9E47:8D 00 07  STA $0700
9E4A:20 59 9E  JSR $9E59
9E4D:18        CLC
9E4E:60        RTS

CPU on Defense Play Pick

82B4:A9 00     LDA #$00         ; Clear Accumulator
82B6:85 A9     STA $A9          ; Clear P1 play pick.
82B8:85 A8     STA $A8          ; Clear P2 play pick.
82BA:A5 02     LDA $02
82BC:29 30     AND #$30
82BE:C9 20     CMP #$20
82C0:D0 08     BNE $82CA
82C2:A5 21     LDA $21
82C4:29 03     AND #$03
82C6:09 80     ORA #$80         ; Or A with 0x80 to increase to 0x80-0x83 range.
82C8:85 A8     STA $A8          ; Store pick in to P2 play pick address.

CPU on Offense Play Pick

8EB3:A9 00     LDA #$00         ; Clear Accumulator
8EB5:85 A9     STA $A9          ; Clear P1 play pick.
8EB7:85 A8     STA $A8          ; Clear P2 play pick.
8EB9:A5 02     LDA $02
8EBB:29 30     AND #$30
8EBD:C9 20     CMP #$20
8EBF:D0 08     BNE $8EC9
8EC1:A5 21     LDA $21
8EC3:29 03     AND #$03
8EC5:09 80     ORA #$80         ; Or A with 0x80 to increase to 0x80-0x83 range.
8EC7:85 A8     STA $A8          ; Store pick in to P2 play pick address.


Japan

Japan

Tecmo Bowl - NES - Japan.png


PlayChoice-10

PlayChoice-10

Tecmo Bowl - PC10 - USA.png


USA (Beta)

USA (Beta)

Tecmo Bowl (Beta) - NES - USA.png


World (Virtual Console)

World (Virtual Console)

256x256px