[go: up one dir, main page]

Menu

[r132]: / psrp / tech3a.txt  Maximize  Restore  History

Download this file

137 lines (100 with data), 11.3 kB

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
3a. Items used in the narrative dialogue
; $51 = <item>
[0033D6] 33d6 FE 51 CP 51h AF=5102 BC=1201 DE=7D4E HL=B1EB SP=CAFA IX=C880 IY=C800 V P0=00000 P1=04000 P2=08000 [ROM]
[0033D8] 33d8 20 1A JR NZ,33F4h AF=5142 BC=1201 DE=7D4E HL=B1EB SP=CAFA IX=C880 IY=C800 V P0=00000 P1=04000 P2=08000 [ROM]
; Grab item number and index
[0033DA] 33da E5 PUSH HL AF=5142 BC=1201 DE=7D4E HL=B1EB SP=CAFA IX=C880 IY=C800 V P0=00000 P1=04000 P2=08000 [ROM]
[0033DB] 33db 3A C4 C2 LD A,(C2C4h) AF=5142 BC=1201 DE=7D4E HL=B1EB SP=CAF8 IX=C880 IY=C800 V P0=00000 P1=04000 P2=08000 [ROM]
[0033DE] 33de 6F LD L,A AF=2542 BC=1201 DE=7D4E HL=B1EB SP=CAF8 IX=C880 IY=C800 V P0=00000 P1=04000 P2=08000 [ROM]
[0033DF] 33df 26 00 LD H,00h AF=2542 BC=1201 DE=7D4E HL=B125 SP=CAF8 IX=C880 IY=C800 V P0=00000 P1=04000 P2=08000 [ROM]
[0033E1] 33e1 29 ADD HL,HL AF=2542 BC=1201 DE=7D4E HL=0025 SP=CAF8 IX=C880 IY=C800 V P0=00000 P1=04000 P2=08000 [ROM]
[0033E2] 33e2 29 ADD HL,HL AF=2540 BC=1201 DE=7D4E HL=004A SP=CAF8 IX=C880 IY=C800 V P0=00000 P1=04000 P2=08000 [ROM]
[0033E3] 33e3 29 ADD HL,HL AF=2540 BC=1201 DE=7D4E HL=0094 SP=CAF8 IX=C880 IY=C800 V P0=00000 P1=04000 P2=08000 [ROM]
; Base + offset
[0033E4] 33e4 C5 PUSH BC AF=2540 BC=1201 DE=7D4E HL=0128 SP=CAF8 IX=C880 IY=C800 V P0=00000 P1=04000 P2=08000 [ROM]
[0033E5] 33e5 01 94 BD LD BC,BD94h AF=2540 BC=1201 DE=7D4E HL=0128 SP=CAF6 IX=C880 IY=C800 V P0=00000 P1=04000 P2=08000 [ROM]
[0033E8] 33e8 09 ADD HL,BC AF=2540 BC=BD94 DE=7D4E HL=0128 SP=CAF6 IX=C880 IY=C800 V P0=00000 P1=04000 P2=08000 [ROM]
[0033E9] 33e9 C1 POP BC AF=2540 BC=BD94 DE=7D4E HL=BEBC SP=CAF6 IX=C880 IY=C800 V P0=00000 P1=04000 P2=08000 [ROM]
; Draw 8-character limited name
[0033EA] 33ea 3E 08 LD A,08h AF=2540 BC=1201 DE=7D4E HL=BEBC SP=CAF8 IX=C880 IY=C800 V P0=00000 P1=04000 P2=08000 [ROM]
[0033EC] 33ec CD 94 34 CALL 3494h AF=0840 BC=1201 DE=7D4E HL=BEBC SP=CAF8 IX=C880 IY=C800 V P0=00000 P1=04000 P2=08000 [ROM]
; Resume script
[0033EF] 33ef E1 POP HL AF=0402 BC=0D01 DE=7D58 HL=BEC1 SP=CAF8 IX=C880 IY=C800 V P0=00000 P1=04000 P2=08000 [ROM]
[0033F0] 33f0 23 INC HL AF=0402 BC=0D01 DE=7D58 HL=B1EB SP=CAFA IX=C880 IY=C800 V P0=00000 P1=04000 P2=08000 [ROM]
[0033F1] 33f1 C3 65 33 JP 3365h AF=0402 BC=0D01 DE=7D58 HL=B1EC SP=CAFA IX=C880 IY=C800 V P0=00000 P1=04000 P2=08000 [ROM]
; -----------------------------------------------
; Write out character
[003494] 3494 F5 PUSH AF AF=0840 BC=1201 DE=7D4E HL=BEBC SP=CAF6 IX=C880 IY=C800 V P0=00000 P1=04000 P2=08000 [ROM]
[003495] 3495 CD F2 34 CALL 34F2h AF=0840 BC=1201 DE=7D4E HL=BEBC SP=CAF4 IX=C880 IY=C800 V P0=00000 P1=04000 P2=08000 [ROM]
; Check for EOS
[003498] 3498 7E LD A,(HL) AF=0002 BC=1101 DE=7D50 HL=BEBD SP=CAF4 IX=C880 IY=C800 V P0=00000 P1=04000 P2=08000 [ROM]
[003499] 3499 FE 58 CP 58h AF=0502 BC=1101 DE=7D50 HL=BEBD SP=CAF4 IX=C880 IY=C800 V P0=00000 P1=04000 P2=08000 [ROM]
[00349B] 349b 28 06 JR Z,34A3h AF=05BB BC=1101 DE=7D50 HL=BEBD SP=CAF4 IX=C880 IY=C800 V P0=00000 P1=04000 P2=08000 [ROM]
; Check for limit consumed
[00349D] 349d F1 POP AF AF=05BB BC=1101 DE=7D50 HL=BEBD SP=CAF4 IX=C880 IY=C800 V P0=00000 P1=04000 P2=08000 [ROM]
[00349E] 349e 3D DEC A AF=0840 BC=1101 DE=7D50 HL=BEBD SP=CAF6 IX=C880 IY=C800 V P0=00000 P1=04000 P2=08000 [ROM]
[00349F] 349f C2 94 34 JP NZ,3494h AF=0702 BC=1101 DE=7D50 HL=BEBD SP=CAF6 IX=C880 IY=C800 V P0=00000 P1=04000 P2=08000 [ROM]
[0034A2] 34a2 C9 RET
; EOS
[0034A3] 34a3 F1 POP AF AF=5842 BC=0D01 DE=7D58 HL=BEC1 SP=CAF4 IX=C880 IY=C800 V P0=00000 P1=04000 P2=08000 [ROM]
[0034A4] 34a4 C9 RET AF=0402 BC=0D01 DE=7D58 HL=BEC1 SP=CAF6 IX=C880 IY=C800 V P0=00000 P1=04000 P2=08000 [ROM]
; -----------------------------------------------
; Note:
; - Quite similar to $36A7
; - Only writes out one '8x16' tile pair
; Set VRAM position
[0034F2] 34f2 F3 DI AF=0840 BC=1201 DE=7D4E HL=BEBC SP=CAF2 IX=C880 IY=C800 V P0=00000 P1=04000 P2=08000 [ROM]
[0034F3] 34f3 C5 PUSH BC AF=0840 BC=1201 DE=7D4E HL=BEBC SP=CAF2 IX=C880 IY=C800 V P0=00000 P1=04000 P2=08000 [ROM]
[0034F4] 34f4 D5 PUSH DE AF=0840 BC=1201 DE=7D4E HL=BEBC SP=CAF0 IX=C880 IY=C800 V P0=00000 P1=04000 P2=08000 [ROM]
[0034F5] 34f5 CF RST 08 AF=0840 BC=1201 DE=7D4E HL=BEBC SP=CAEE IX=C880 IY=C800 V P0=00000 P1=04000 P2=08000 [ROM]
; Read character
[0034F6] 34f6 7E LD A,(HL) AF=7D40 BC=1201 DE=7D4E HL=BEBC SP=CAEE IX=C880 IY=C800 V P0=00000 P1=04000 P2=08000 [ROM]
; Use NT tile lookup table
[0034F7] 34f7 87 ADD A,A AF=2940 BC=1201 DE=7D4E HL=BEBC SP=CAEE IX=C880 IY=C800 V P0=00000 P1=04000 P2=08000 [ROM]
[0034F8] 34f8 01 00 80 LD BC,8000h AF=5210 BC=1201 DE=7D4E HL=BEBC SP=CAEE IX=C880 IY=C800 V P0=00000 P1=04000 P2=08000 [ROM]
[0034FB] 34fb 81 ADD A,C AF=5210 BC=8000 DE=7D4E HL=BEBC SP=CAEE IX=C880 IY=C800 V P0=00000 P1=04000 P2=08000 [ROM]
[0034FC] 34fc 4F LD C,A AF=5200 BC=8000 DE=7D4E HL=BEBC SP=CAEE IX=C880 IY=C800 V P0=00000 P1=04000 P2=08000 [ROM]
[0034FD] 34fd 88 ADC A,B AF=5200 BC=8052 DE=7D4E HL=BEBC SP=CAEE IX=C880 IY=C800 V P0=00000 P1=04000 P2=08000 [ROM]
[0034FE] 34fe 91 SUB C AF=D280 BC=8052 DE=7D4E HL=BEBC SP=CAEE IX=C880 IY=C800 V P0=00000 P1=04000 P2=08000 [ROM]
[0034FF] 34ff 47 LD B,A AF=8082 BC=8052 DE=7D4E HL=BEBC SP=CAEE IX=C880 IY=C800 V P0=00000 P1=04000 P2=08000 [ROM]
[003500] 3500 0A LD A,(BC) AF=8082 BC=8052 DE=7D4E HL=BEBC SP=CAEE IX=C880 IY=C800 V P0=00000 P1=04000 P2=08000 [ROM]
[003501] 3501 D3 BE OUT (BEh),A AF=C082 BC=8052 DE=7D4E HL=BEBC SP=CAEE IX=C880 IY=C800 V P0=00000 P1=04000 P2=08000 [ROM]
[003503] 3503 F5 PUSH AF AF=C082 BC=8052 DE=7D4E HL=BEBC SP=CAEE IX=C880 IY=C800 V P0=00000 P1=04000 P2=08000 [ROM]
[003504] 3504 F1 POP AF AF=C082 BC=8052 DE=7D4E HL=BEBC SP=CAEC IX=C880 IY=C800 V P0=00000 P1=04000 P2=08000 [ROM]
[003505] 3505 3E 10 LD A,10h AF=C082 BC=8052 DE=7D4E HL=BEBC SP=CAEE IX=C880 IY=C800 V P0=00000 P1=04000 P2=08000 [ROM]
[003507] 3507 D3 BE OUT (BEh),A AF=1082 BC=8052 DE=7D4E HL=BEBC SP=CAEE IX=C880 IY=C800 V P0=00000 P1=04000 P2=08000 [ROM]
; Set VRAM to second row (non-sound marks)
[003509] 3509 EB EX DE,HL AF=1082 BC=8052 DE=7D4E HL=BEBC SP=CAEE IX=C880 IY=C800 V P0=00000 P1=04000 P2=08000 [ROM]
[00350A] 350a 01 40 00 LD BC,0040h AF=1082 BC=8052 DE=BEBC HL=7D4E SP=CAEE IX=C880 IY=C800 V P0=00000 P1=04000 P2=08000 [ROM]
[00350D] 350d 09 ADD HL,BC AF=1082 BC=0040 DE=BEBC HL=7D4E SP=CAEE IX=C880 IY=C800 V P0=00000 P1=04000 P2=08000 [ROM]
[00350E] 350e EB EX DE,HL AF=1080 BC=0040 DE=BEBC HL=7D8E SP=CAEE IX=C880 IY=C800 V P0=00000 P1=04000 P2=08000 [ROM]
[00350F] 350f CF RST 08 AF=1080 BC=0040 DE=7D8E HL=BEBC SP=CAEE IX=C880 IY=C800 V P0=00000 P1=04000 P2=08000 [ROM]
; Write out again
[003510] 3510 7E LD A,(HL) AF=7D80 BC=0040 DE=7D8E HL=BEBC SP=CAEE IX=C880 IY=C800 V P0=00000 P1=04000 P2=08000 [ROM]
[003511] 3511 87 ADD A,A AF=2980 BC=0040 DE=7D8E HL=BEBC SP=CAEE IX=C880 IY=C800 V P0=00000 P1=04000 P2=08000 [ROM]
[003512] 3512 01 01 80 LD BC,8001h AF=5210 BC=0040 DE=7D8E HL=BEBC SP=CAEE IX=C880 IY=C800 V P0=00000 P1=04000 P2=08000 [ROM]
[003515] 3515 81 ADD A,C AF=5210 BC=8001 DE=7D8E HL=BEBC SP=CAEE IX=C880 IY=C800 V P0=00000 P1=04000 P2=08000 [ROM]
[003516] 3516 4F LD C,A AF=5300 BC=8001 DE=7D8E HL=BEBC SP=CAEE IX=C880 IY=C800 V P0=00000 P1=04000 P2=08000 [ROM]
[003517] 3517 88 ADC A,B AF=5300 BC=8053 DE=7D8E HL=BEBC SP=CAEE IX=C880 IY=C800 V P0=00000 P1=04000 P2=08000 [ROM]
[003518] 3518 91 SUB C AF=D380 BC=8053 DE=7D8E HL=BEBC SP=CAEE IX=C880 IY=C800 V P0=00000 P1=04000 P2=08000 [ROM]
[003519] 3519 47 LD B,A AF=8082 BC=8053 DE=7D8E HL=BEBC SP=CAEE IX=C880 IY=C800 V P0=00000 P1=04000 P2=08000 [ROM]
[00351A] 351a 0A LD A,(BC) AF=8082 BC=8053 DE=7D8E HL=BEBC SP=CAEE IX=C880 IY=C800 V P0=00000 P1=04000 P2=08000 [ROM]
[00351B] 351b D3 BE OUT (BEh),A AF=F382 BC=8053 DE=7D8E HL=BEBC SP=CAEE IX=C880 IY=C800 V P0=00000 P1=04000 P2=08000 [ROM]
[00351D] 351d F5 PUSH AF AF=F382 BC=8053 DE=7D8E HL=BEBC SP=CAEE IX=C880 IY=C800 V P0=00000 P1=04000 P2=08000 [ROM]
[00351E] 351e F1 POP AF AF=F382 BC=8053 DE=7D8E HL=BEBC SP=CAEC IX=C880 IY=C800 V P0=00000 P1=04000 P2=08000 [ROM]
[00351F] 351f FE FE CP FEh AF=F382 BC=8053 DE=7D8E HL=BEBC SP=CAEE IX=C880 IY=C800 V P0=00000 P1=04000 P2=08000 [ROM]
[003521] 3521 3E 12 LD A,12h AF=F3B3 BC=8053 DE=7D8E HL=BEBC SP=CAEE IX=C880 IY=C800 V P0=00000 P1=04000 P2=08000 [ROM]
[003523] 3523 28 02 JR Z,3527h AF=12B3 BC=8053 DE=7D8E HL=BEBC SP=CAEE IX=C880 IY=C800 V P0=00000 P1=04000 P2=08000 [ROM]
[003525] 3525 3E 10 LD A,10h AF=12B3 BC=8053 DE=7D8E HL=BEBC SP=CAEE IX=C880 IY=C800 V P0=00000 P1=04000 P2=08000 [ROM]
[003527] 3527 D3 BE OUT (BEh),A AF=10B3 BC=8053 DE=7D8E HL=BEBC SP=CAEE IX=C880 IY=C800 V P0=00000 P1=04000 P2=08000 [ROM]
[003529] 3529 23 INC HL AF=10B3 BC=8053 DE=7D8E HL=BEBC SP=CAEE IX=C880 IY=C800 V P0=00000 P1=04000 P2=08000 [ROM]
[00352A] 352a D1 POP DE AF=10B3 BC=8053 DE=7D8E HL=BEBD SP=CAEE IX=C880 IY=C800 V P0=00000 P1=04000 P2=08000 [ROM]
[00352B] 352b 13 INC DE AF=10B3 BC=8053 DE=7D4E HL=BEBD SP=CAF0 IX=C880 IY=C800 V P0=00000 P1=04000 P2=08000 [ROM]
[00352C] 352c 13 INC DE AF=10B3 BC=8053 DE=7D4F HL=BEBD SP=CAF0 IX=C880 IY=C800 V P0=00000 P1=04000 P2=08000 [ROM]
[00352D] 352d C1 POP BC AF=10B3 BC=8053 DE=7D50 HL=BEBD SP=CAF0 IX=C880 IY=C800 V P0=00000 P1=04000 P2=08000 [ROM]
; Wait for VBlank
[00352E] 352e FB EI AF=10B3 BC=1201 DE=7D50 HL=BEBD SP=CAF2 IX=C880 IY=C800 V P0=00000 P1=04000 P2=08000 [ROM]
[003531] 3531 CD 56 00 CALL 0056h AF=0AB3 BC=1201 DE=7D50 HL=BEBD SP=CAF2 IX=C880 IY=C800 V P0=00000 P1=04000 P2=08000 [ROM]
[003534] 3534 05 DEC B AF=0044 BC=1201 DE=7D50 HL=BEBD SP=CAF2 IX=C880 IY=C800 V P0=00000 P1=04000 P2=08000 [ROM]
[003535] 3535 C0 RET NZ AF=0002 BC=1101 DE=7D50 HL=BEBD SP=CAF2 IX=C880 IY=C800 V P0=00000 P1=04000 P2=08000 [ROM]
; Auto-newline...?