Tecmo Bowl

From NES Hacker Wiki
Jump to: navigation, search

Tecmo Bowl is one of the better football games made for the NES. While it doesn't feature all of the teams and logos of the NFL, it does feature the player's names.

Easy Cheats

Icon Addr Val Cmp Description
Icon-Score.png 003F 99 - P1 Score Is 99 (Won't display)
Icon-Score.png 0044 99 - P2 Score Is 99 (Won't display)
Icon-Powerup.png 8527 05 04 P1 Gets 5 Downs
Icon-Powerup.png 8527 09 04 P1 Gets 9 Downs
Icon-Powerup.png 912E 05 04 P2 Gets 5 Downs
Icon-Powerup.png 912E 09 04 P2 Gets 9 Downs
Icon-Powerup.png 008E 00 - Infinite Downs (Turn off to end)
Icon-Powerup.png 059F 01 - CPU Kicks Poorly
Icon-Time.png 8516 02 01 1st Quarter Is 2:30 Long
Icon-Time.png 8539 02 01 2nd Quarter Is 2:30 Long
Icon-Time.png 8568 02 01 3rd Quarter Is 2:30 Long
Icon-Time.png 858B 02 01 4th Quarter Is 2:30 Long
Icon-Time.png 8516 00 01 1st Quarter Is 0:30 Long
Icon-Time.png 8539 00 01 2nd Quarter Is 0:30 Long
Icon-Time.png 8568 00 01 3rd Quarter Is 0:30 Long
Icon-Time.png 858B 00 01 4th Quarter Is 0:30 Long
Icon-Challenge.png 8527 03 04 P1 Gets 3 Downs
Icon-Challenge.png 8527 01 04 P1 Gets 1 Down
Icon-Challenge.png 912E 03 04 P2 Gets 3 Downs
Icon-Challenge.png 912E 01 04 P2 Gets 1 Down
How do I use these?


North America

Tecmo Bowl.png

Memory Addresses

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)

01DF - Second Length

03EE - Kickoff Gauge (00-64)
03EF - CPU Kickoff Value

066F-0672 - Display Time

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

Text

Tecmobowl uses the standard ASCII for letters, but has its own encoding for numbers and symbols. Fairly basic overall.

00= 
17=>
20= 
21=!
2A=*
2B=@
2C=,
2E=.
30=0
31=1
32=2
33=3
34=4
35=5
36=6
37=7
38=8
39=9
40=©
41=A
42=B
43=C
44=D
45=E
46=F
47=G
48=H
49=I
4A=J
4B=K
4C=L
4D=M
4E=N
4F=O
50=P
51=Q
52=R
53=S
54=T
55=U
56=V
57=W
58=X
59=Y
5A=Z
5B=#


Japan

Tecmo Bowl (J).png