Порядок в каталогах
This commit is contained in:
BIN
3_CD_EXTRA/BIN/SLPS_028.26
Normal file
BIN
3_CD_EXTRA/BIN/SLPS_028.26
Normal file
Binary file not shown.
64
3_CD_EXTRA/BIN/SLPS_028.26.map
Normal file
64
3_CD_EXTRA/BIN/SLPS_028.26.map
Normal file
@@ -0,0 +1,64 @@
|
||||
00000000 0
|
||||
00008009 myaddr
|
||||
80019000 originalkanjiprint
|
||||
80019D70 initcopycharchain
|
||||
80019F0C makeshadowsmallchar
|
||||
8001ADC8 storecolor
|
||||
800522F0 setdrawtpage
|
||||
80090000 externalprint
|
||||
80090024 myprintlineroutine
|
||||
80090074 initdma
|
||||
80090074 update_free_dma
|
||||
800900A0 preparedmachain
|
||||
800900C8 prepareattrs
|
||||
800900EC init_cputovram_vars_int_scratch
|
||||
8009012C coords_size_cputovram_scr
|
||||
800901E4 init_rect_cmd_in_scr
|
||||
80090204 positionprocessing
|
||||
8009020C addoffsetx
|
||||
80090210 calculatexoffset
|
||||
80090228 ycoordinateprocessing
|
||||
80090230 addoffsety
|
||||
80090234 calculateyoffset
|
||||
8009025C loadcharacter
|
||||
8009027C nextchar
|
||||
80090280 isfirstchar
|
||||
80090288 setup_x_coord_in_rect_scratch
|
||||
80090298 some_printparams_save
|
||||
800902A8 end_x_coord_rect
|
||||
800902BC pageloop
|
||||
800902BC update_free_dma2
|
||||
800902EC copyrectcmd
|
||||
80090318 print_params_and_chain_addr_set
|
||||
80090368 notfirstchar
|
||||
80090370 cputovram_cmd_from_scratch_copy
|
||||
80090370 halfkanji_loop
|
||||
80090370 update_free_dma3
|
||||
800903C4 copyby2bytes
|
||||
80090418 copy16bytes
|
||||
80090444 last4bytescopy
|
||||
80090458 link_char_dma_cmds
|
||||
8009049C enabled_lower_kanji
|
||||
800904DC disabled_lower_kanji
|
||||
800904F0 spacecharjumphere
|
||||
80090518 textend
|
||||
80090534 pagetloop
|
||||
80090594 returnfromfunction
|
||||
800905C8 makecharpixelscustom
|
||||
80090618 charloop
|
||||
800906C8 charloaded
|
||||
800906E4 notshadow
|
||||
800906F4 returncharsinstring
|
||||
80090710 ismy1bytestring
|
||||
8009072C notand1
|
||||
8009073C getnewchar
|
||||
80090740 startreading
|
||||
8009075C calcnextxcustom
|
||||
80090784 japoldtext
|
||||
8009078C ihavestringlength
|
||||
800907A4 retuncharstocity
|
||||
800907C0 ismy1bytecity
|
||||
800907D4 retuncharstocitydiv2
|
||||
800907F0 ismy1bytecitydiv2
|
||||
8009080C notand1_2
|
||||
|
||||
664
3_CD_EXTRA/BUILD_LOGS/SLPS_028.26.map
Normal file
664
3_CD_EXTRA/BUILD_LOGS/SLPS_028.26.map
Normal file
@@ -0,0 +1,664 @@
|
||||
00000000 0
|
||||
00008009 myaddr
|
||||
80019000 originalkanjiprint
|
||||
80019D70 initcopycharchain
|
||||
80019F0C makeshadowsmallchar
|
||||
8001ADC8 storecolor
|
||||
800522F0 setdrawtpage
|
||||
80090000 externalprint
|
||||
80090024 myprintlineroutine
|
||||
80090074 initdma
|
||||
80090074 update_free_dma
|
||||
800900A0 preparedmachain
|
||||
800900C4 prepareattrs
|
||||
800900EC init_cputovram_vars_int_scratch
|
||||
8009012C coords_size_cputovram_scr
|
||||
800901E4 init_rect_cmd_in_scr
|
||||
80090204 positionprocessing
|
||||
8009020C addoffsetx
|
||||
80090210 calculatexoffset
|
||||
80090228 ycoordinateprocessing
|
||||
80090230 addoffsety
|
||||
80090234 calculateyoffset
|
||||
8009025C loadcharacter
|
||||
8009027C nextchar
|
||||
80090280 isfirstchar
|
||||
80090288 setup_x_coord_in_rect_scratch
|
||||
80090298 some_printparams_save
|
||||
800902A8 end_x_coord_rect
|
||||
800902BC pageloop
|
||||
800902BC update_free_dma2
|
||||
800902EC copyrectcmd
|
||||
80090318 previous_last_cmd_link_with_current
|
||||
80090368 notfirstchar
|
||||
80090370 cputovram_cmd_from_scratch_copy
|
||||
80090370 halfkanji_loop
|
||||
80090370 update_free_dma3
|
||||
800903C4 copyby2bytes
|
||||
80090418 copy16bytes
|
||||
80090444 last4bytescopy
|
||||
80090458 link_char_dma_cmds
|
||||
8009049C enabled_lower_kanji
|
||||
800904DC disabled_lower_kanji
|
||||
800904F0 spacecharjumphere
|
||||
80090518 textend
|
||||
80090534 pagetloop
|
||||
80090594 returnfromfunction
|
||||
800905C8 makecharpixelscustom
|
||||
80090618 charloop
|
||||
800906C8 charloaded
|
||||
800906E4 notshadow
|
||||
800906F4 returncharsinstring
|
||||
80090710 ismy1bytestring
|
||||
8009072C notand1
|
||||
8009073C getnewchar
|
||||
80090740 startreading
|
||||
8009075C calcnextxcustom
|
||||
80090784 japoldtext
|
||||
8009078C ihavestringlength
|
||||
800907A4 retuncharstocity
|
||||
800907C0 ismy1bytecity
|
||||
800907D4 retuncharstocitydiv2
|
||||
800907F0 ismy1bytecitydiv2
|
||||
8009080C notand1_2
|
||||
\\Documents\\GitHub\\Persona2-PSX-asm-sources\\3_CD_EXTRA\\BIN\\SLPS_028.26"",0x8000F800; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 18
|
||||
8000F800 .org 0x80090000 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 20
|
||||
80090000 externalprint: ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 22
|
||||
80090000 move r3,s3 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 24
|
||||
80090004 move s3,r4 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 25
|
||||
80090008 lhu v0,0x0(s3) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 27
|
||||
8009000C move s3,r3 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 28
|
||||
80090010 srl v1,v0,0xD ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 29
|
||||
80090014 bne v1,zero,0x80090024 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 30
|
||||
80090018 clear v1 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 31
|
||||
8009001C j 0x80019000 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 32
|
||||
80090020 nop ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 33
|
||||
80090024 myprintlineroutine: ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 35
|
||||
80090024 addiu sp,sp,-0x50 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 36
|
||||
80090028 sw s6,0x40(sp) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 37
|
||||
8009002C move s6,a0 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 38
|
||||
80090030 sw s1,0x2C(sp) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 39
|
||||
80090034 move s1,a1 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 40
|
||||
80090038 sw s2,0x30(sp) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 41
|
||||
8009003C move s2,a2 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 42
|
||||
80090040 sw s3,0x34(sp) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 43
|
||||
80090044 andi v0,0xFF ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 48
|
||||
80090048 addiu s6,0x2 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 49
|
||||
8009004C lui s3,-0x7FF7 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 52
|
||||
80090050 sh v0,-0x10(s3) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 53
|
||||
80090054 sh v0,-0xE(s3) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 54
|
||||
80090058 lui s3,0x1F80 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 59
|
||||
8009005C ori s3,s3,0x3D0 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 60
|
||||
80090060 lui t0,0xFF ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 62
|
||||
80090064 ori t0,t0,-0x1 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 63
|
||||
80090068 sw s0,0x28(sp) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 65
|
||||
8009006C andi s0,a3,0xFF ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 66
|
||||
80090070 move a0,s0 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 67
|
||||
80090074 initdma: ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 70
|
||||
80090074 update_free_dma: ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 71
|
||||
80090074 lui a3,-0x7FF8 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 72
|
||||
80090078 lui a2,-0x100 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 73
|
||||
8009007C addiu t1,a3,-0x6C20 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 74
|
||||
80090080 lw v1,-0x6C20(a3) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 75
|
||||
80090084 lbu a1,0x60(sp) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 76
|
||||
80090088 lui v0,-0x8000 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 77
|
||||
8009008C sw ra,0x4C(sp) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 80
|
||||
80090090 sw s8,0x48(sp) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 81
|
||||
80090094 sw s7,0x44(sp) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 82
|
||||
80090098 sw s5,0x3C(sp) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 83
|
||||
8009009C sw s4,0x38(sp) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 84
|
||||
800900A0 preparedmachain: ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 87
|
||||
800900A0 and a2,v1,a2 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 88
|
||||
800900A4 and v1,v1,t0 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 89
|
||||
800900A8 or s4,v1,v0 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 90
|
||||
800900AC lw v0,0x4(t1) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 92
|
||||
800900B0 lw v1,0x0(s4) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 93
|
||||
800900B4 addiu v0,v0,-0x1 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 94
|
||||
800900B8 and v1,v1,t0 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 95
|
||||
800900BC or a2,a2,v1 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 96
|
||||
800900C0 sw v0,0x4(t1) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 97
|
||||
800900C4 prepareattrs: ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 100
|
||||
800900C4 andi a1,a1,0xFF ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 101
|
||||
800900C8 jal 0x8001ADC8 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 102
|
||||
800900CC sw a2,-0x6C20(a3) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 103
|
||||
800900D0 move a0,s4 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 104
|
||||
800900D4 sll a1,s1,0x10 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 107
|
||||
800900D8 sra a1,a1,0x10 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 108
|
||||
800900DC sll a2,s2,0x10 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 109
|
||||
800900E0 sra a2,a2,0x10 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 110
|
||||
800900E4 jal 0x80019D70 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 111
|
||||
800900E8 move a3,s0 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 112
|
||||
800900EC init_cputovram_vars_int_scratch: ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 114
|
||||
800900EC lui a3,0x1F80 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 115
|
||||
800900F0 ori a3,a3,0x348 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 116
|
||||
800900F4 ori v0,r0,0x2 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 120
|
||||
800900F8 sh v0,0x1C(sp) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 121
|
||||
800900FC ori v0,r0,0xC ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 122
|
||||
80090100 ori a1,r0,0xD ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 123
|
||||
80090104 lui a0,-0x6000 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 124
|
||||
80090108 sh v0,0x1E(sp) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 126
|
||||
8009010C ori a1,r0,0x10 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 127
|
||||
80090110 sb a1,0x3(a3) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 128
|
||||
80090114 sw a0,0x4(a3) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 129
|
||||
80090118 lhu t0,0x9C(gp) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 131
|
||||
8009011C lhu v0,0x9E(gp) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 132
|
||||
80090120 lui v1,0x100 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 133
|
||||
80090124 lui at,0x1F80 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 135
|
||||
80090128 sw v1,0x388(at) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 136
|
||||
8009012C coords_size_cputovram_scr: ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 142
|
||||
8009012C lh a1,0x9C(gp) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 143
|
||||
80090130 move s8,s2 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 144
|
||||
80090134 sh t0,0x18(sp) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 148
|
||||
80090138 sh v0,0x1A(sp) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 149
|
||||
8009013C lw a0,0x18(sp) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 150
|
||||
80090140 lw v1,0x18(sp) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 157
|
||||
80090144 lw v0,0x1C(sp) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 158
|
||||
80090148 move t0,a1 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 159
|
||||
8009014C sw a0,0x8(a3) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 160
|
||||
80090150 sw v0,0xC(a3) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 163
|
||||
80090154 lui v0,-0x7FFF ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 166
|
||||
80090158 lui t8,0x1F80 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 170
|
||||
8009015C ori t8,t8,0x2E0 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 171
|
||||
80090160 addiu t7,v0,0x3E8 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 172
|
||||
80090164 lwl t5,0x3(t7) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 173
|
||||
80090168 lwr t5,0x0(t7) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 174
|
||||
8009016C lwl t6,0x7(t7) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 175
|
||||
80090170 lwr t6,0x4(t7) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 176
|
||||
80090174 swl t5,0x3(t8) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 177
|
||||
80090178 swr t5,0x0(t8) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 178
|
||||
8009017C swl t6,0x7(t8) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 179
|
||||
80090180 swr t6,0x4(t8) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 180
|
||||
80090184 lwl t5,0xB(t7) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 181
|
||||
80090188 lwr t5,0x8(t7) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 182
|
||||
8009018C lwl t6,0xF(t7) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 183
|
||||
80090190 lwr t6,0xC(t7) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 184
|
||||
80090194 swl t5,0xB(t8) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 185
|
||||
80090198 swr t5,0x8(t8) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 186
|
||||
8009019C swl t6,0xF(t8) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 187
|
||||
800901A0 swr t6,0xC(t8) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 188
|
||||
800901A4 lwl t5,0x13(t7) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 189
|
||||
800901A8 lwr t5,0x10(t7) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 190
|
||||
800901AC lwl t6,0x17(t7) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 191
|
||||
800901B0 lwr t6,0x14(t7) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 192
|
||||
800901B4 swl t5,0x13(t8) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 193
|
||||
800901B8 swr t5,0x10(t8) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 194
|
||||
800901BC swl t6,0x17(t8) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 195
|
||||
800901C0 swr t6,0x14(t8) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 196
|
||||
800901C4 lwl t5,0x1B(t7) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 197
|
||||
800901C8 lwr t5,0x18(t7) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 198
|
||||
800901CC lwl t6,0x1F(t7) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 199
|
||||
800901D0 lwr t6,0x1C(t7) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 200
|
||||
800901D4 swl t5,0x1B(t8) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 201
|
||||
800901D8 swr t5,0x18(t8) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 202
|
||||
800901DC swl t6,0x1F(t8) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 203
|
||||
800901E0 swr t6,0x1C(t8) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 204
|
||||
800901E4 init_rect_cmd_in_scr: ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 207
|
||||
800901E4 ori v0,r0,0x4 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 208
|
||||
800901E8 sb v0,0x3(s3) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 209
|
||||
800901EC ori v0,r0,0x64 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 210
|
||||
800901F0 sb v0,0x7(s3) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 211
|
||||
800901F4 ori v0,r0,0x80 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 212
|
||||
800901F8 sb v0,0x4(s3) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 213
|
||||
800901FC sb v0,0x5(s3) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 214
|
||||
80090200 sb v0,0x6(s3) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 215
|
||||
80090204 positionprocessing: ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 220
|
||||
80090204 bgez a1,0x80090210 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 221
|
||||
80090208 sh s1,0x20(sp) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 222
|
||||
8009020C addoffsetx: ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 224
|
||||
8009020C addiu t0,a1,0x3F ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 225
|
||||
80090210 calculatexoffset: ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 227
|
||||
80090210 sra v0,t0,0x6 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 228
|
||||
80090214 sll v0,v0,0x6 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 229
|
||||
80090218 subu v0,a1,v0 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 230
|
||||
8009021C lh v1,0x9E(gp) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 231
|
||||
80090220 sll v0,v0,0x2 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 232
|
||||
80090224 sb v0,0xC(s3) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 233
|
||||
80090228 ycoordinateprocessing: ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 236
|
||||
80090228 bgez v1,0x80090234 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 237
|
||||
8009022C move v0,v1 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 238
|
||||
80090230 addoffsety: ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 240
|
||||
80090230 addiu v0,v1,0xFF ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 241
|
||||
80090234 calculateyoffset: ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 243
|
||||
80090234 sra v0,v0,0x8 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 244
|
||||
80090238 sll v0,v0,0x8 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 245
|
||||
8009023C subu v0,v1,v0 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 246
|
||||
80090240 sb v0,0xD(s3) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 247
|
||||
80090244 lhu v1,0xA4(gp) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 252
|
||||
80090248 ori v0,r0,0x8 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 253
|
||||
8009024C sh v0,0x10(s3) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 254
|
||||
80090250 ori v0,r0,0xC ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 255
|
||||
80090254 sh v0,0x12(s3) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 256
|
||||
80090258 sh v1,0xE(s3) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 257
|
||||
8009025C loadcharacter: ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 260
|
||||
8009025C lbu a0,0x0(s6) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 261
|
||||
80090260 nop ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 262
|
||||
80090264 addiu s6,s6,0x1 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 268
|
||||
80090268 lui s1,-0x7FF8 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 271
|
||||
8009026C addiu s5,s1,-0x6C20 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 272
|
||||
80090270 lui s0,0xFF ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 273
|
||||
80090274 ori s0,s0,-0x1 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 274
|
||||
80090278 lui s7,-0x8000 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 275
|
||||
8009027C nextchar: ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 278
|
||||
8009027C addiu r4,r4,-0x20 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 279
|
||||
80090280 isfirstchar: ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 282
|
||||
80090280 jal 0x800905C8 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 283
|
||||
80090284 clear s2 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 284
|
||||
80090288 setup_x_coord_in_rect_scratch: ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 287
|
||||
80090288 lw v0,0xAC(gp) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 288
|
||||
8009028C lhu v1,0x4(s4) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 289
|
||||
80090290 addiu v0,v0,0x6 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 290
|
||||
80090294 mult v1,v0 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 291
|
||||
80090298 some_printparams_save: ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 293
|
||||
80090298 lui t2,-0x100 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 294
|
||||
8009029C move t4,s4 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 295
|
||||
800902A0 addiu t3,sp,0x10 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 296
|
||||
800902A4 move t1,s4 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 297
|
||||
800902A8 end_x_coord_rect: ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 299
|
||||
800902A8 sh s8,0xA(s3) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 300
|
||||
800902AC lhu t5,0x20(sp) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 301
|
||||
800902B0 mflo t6 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 302
|
||||
800902B4 addu v0,t5,t6 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 303
|
||||
800902B8 sh v0,0x8(s3) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 304
|
||||
800902BC pageloop: ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 306
|
||||
800902BC update_free_dma2: ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 307
|
||||
800902BC lw v0,-0x6C20(s1) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 309
|
||||
800902C0 nop ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 310
|
||||
800902C4 and a0,v0,t2 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 311
|
||||
800902C8 and v0,v0,s0 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 312
|
||||
800902CC or a1,v0,s7 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 313
|
||||
800902D0 lw v0,0x4(s5) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 315
|
||||
800902D4 lw v1,0x0(a1) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 316
|
||||
800902D8 addiu v0,v0,-0x1 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 317
|
||||
800902DC and v1,v1,s0 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 318
|
||||
800902E0 or a0,a0,v1 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 319
|
||||
800902E4 sw v0,0x4(s5) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 320
|
||||
800902E8 sw a0,-0x6C20(s1) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 321
|
||||
800902EC copyrectcmd: ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 324
|
||||
800902EC lw t7,0x0(s3) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 325
|
||||
800902F0 lw t8,0x4(s3) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 326
|
||||
800902F4 lw t5,0x8(s3) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 327
|
||||
800902F8 lw t6,0xC(s3) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 328
|
||||
800902FC sw t7,0x0(a1) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 330
|
||||
80090300 sw t8,0x4(a1) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 331
|
||||
80090304 sw t5,0x8(a1) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 332
|
||||
80090308 sw t6,0xC(a1) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 333
|
||||
8009030C lw t7,0x10(s3) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 335
|
||||
80090310 nop ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 336
|
||||
80090314 sw t7,0x10(a1) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 337
|
||||
80090318 previous_last_cmd_link_with_current: ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 340
|
||||
80090318 lw v1,0x18(t1) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 341
|
||||
8009031C lw v0,0x0(a1) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 342
|
||||
80090320 lw v1,0x0(v1) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 343
|
||||
80090324 and v0,v0,t2 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 344
|
||||
80090328 and v1,v1,s0 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 345
|
||||
8009032C or v0,v0,v1 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 346
|
||||
80090330 sw v0,0x0(a1) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 347
|
||||
80090334 lw a0,0x18(t1) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 349
|
||||
80090338 nop ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 350
|
||||
8009033C lw v0,0x0(a0) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 351
|
||||
80090340 and v1,a1,s0 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 352
|
||||
80090344 and v0,v0,t2 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 353
|
||||
80090348 or v0,v0,v1 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 354
|
||||
8009034C sw v0,0x0(a0) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 355
|
||||
80090350 sw a1,0x18(t1) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 356
|
||||
80090354 lhu v0,0x4(t4) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 360
|
||||
80090358 nop ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 361
|
||||
8009035C bne v0,zero,0x80090368 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 362
|
||||
80090360 clear t0 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 363
|
||||
80090364 sw a1,0x28(t1) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 365
|
||||
80090368 notfirstchar: ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 371
|
||||
80090368 move a3,t0 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 373
|
||||
8009036C move a2,t3 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 374
|
||||
80090370 cputovram_cmd_from_scratch_copy: ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 379
|
||||
80090370 update_free_dma3: ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 380
|
||||
80090370 halfkanji_loop: ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 381
|
||||
80090370 lui a1,0x1F80 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 382
|
||||
80090374 lw v0,-0x6C20(s1) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 383
|
||||
80090378 ori a1,a1,0x348 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 384
|
||||
8009037C and v0,v0,s0 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 385
|
||||
80090380 or v0,v0,s7 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 386
|
||||
80090384 sw v0,0x0(a2) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 388
|
||||
80090388 lw v1,-0x6C20(s1) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 390
|
||||
8009038C lw v0,0x0(v0) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 391
|
||||
80090390 lw a0,0x4(s5) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 393
|
||||
80090394 and v1,t2 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 394
|
||||
80090398 and v0,s0 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 395
|
||||
8009039C or v1,v0 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 396
|
||||
800903A0 addiu a0,-0x1 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 397
|
||||
800903A4 sw v1,-0x6C20(s1) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 399
|
||||
800903A8 sw a0,0x4(s5) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 400
|
||||
800903AC lw a0,0x0(a2) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 402
|
||||
800903B0 addu v1,a3,a1 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 403
|
||||
800903B4 or v0,v1,a0 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 404
|
||||
800903B8 andi v0,v0,0x3 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 405
|
||||
800903BC beqz v0,0x80090418 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 406
|
||||
800903C0 addiu v0,v1,0x40 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 408
|
||||
800903C4 copyby2bytes: ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 414
|
||||
800903C4 lwl t7,0x3(v1) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 415
|
||||
800903C8 lwr t7,0x0(v1) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 416
|
||||
800903CC lwl t8,0x7(v1) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 417
|
||||
800903D0 lwr t8,0x4(v1) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 418
|
||||
800903D4 lwl t5,0xB(v1) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 419
|
||||
800903D8 lwr t5,0x8(v1) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 420
|
||||
800903DC lwl t6,0xF(v1) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 421
|
||||
800903E0 lwr t6,0xC(v1) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 422
|
||||
800903E4 swl t7,0x3(a0) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 424
|
||||
800903E8 swr t7,0x0(a0) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 425
|
||||
800903EC swl t8,0x7(a0) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 426
|
||||
800903F0 swr t8,0x4(a0) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 427
|
||||
800903F4 swl t5,0xB(a0) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 428
|
||||
800903F8 swr t5,0x8(a0) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 429
|
||||
800903FC swl t6,0xF(a0) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 430
|
||||
80090400 swr t6,0xC(a0) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 431
|
||||
80090404 addiu v1,0x10 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 433
|
||||
80090408 bne v1,v0,0x800903C4 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 434
|
||||
8009040C addiu a0,a0,0x10 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 435
|
||||
80090410 j 0x80090444 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 437
|
||||
80090414 nop ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 438
|
||||
80090418 copy16bytes: ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 441
|
||||
80090418 lw t7,0x0(v1) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 442
|
||||
8009041C lw t8,0x4(v1) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 443
|
||||
80090420 lw t5,0x8(v1) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 444
|
||||
80090424 lw t6,0xC(v1) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 445
|
||||
80090428 sw t7,0x0(a0) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 447
|
||||
8009042C sw t8,0x4(a0) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 448
|
||||
80090430 sw t5,0x8(a0) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 449
|
||||
80090434 sw t6,0xC(a0) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 450
|
||||
80090438 addiu v1,0x10 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 452
|
||||
8009043C bne v1,v0,0x80090418 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 453
|
||||
80090440 addiu a0,a0,0x10 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 454
|
||||
80090444 last4bytescopy: ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 457
|
||||
80090444 lwl t7,0x3(v1) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 458
|
||||
80090448 lwr t7,0x0(v1) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 459
|
||||
8009044C nop ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 462
|
||||
80090450 swl t7,0x3(a0) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 463
|
||||
80090454 swr t7,0x0(a0) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 464
|
||||
80090458 link_char_dma_cmds: ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 476
|
||||
80090458 lw a0,0x10(sp) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 477
|
||||
8009045C lw v1,0x18(t1) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 478
|
||||
80090460 lw v0,0x0(a0) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 479
|
||||
80090464 lw v1,0x0(v1) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 480
|
||||
80090468 and v0,t2 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 481
|
||||
8009046C and v1,s0 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 482
|
||||
80090470 or v0,v1 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 483
|
||||
80090474 sw v0,0x0(a0) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 484
|
||||
80090478 lw a0,0x18(t1) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 486
|
||||
8009047C lw v1,0x10(sp) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 487
|
||||
80090480 lw v0,0x0(a0) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 488
|
||||
80090484 and v1,s0 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 489
|
||||
80090488 and v0,t2 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 490
|
||||
8009048C or v0,v1 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 491
|
||||
80090490 sw v0,0x0(a0) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 492
|
||||
80090494 j 0x800904DC ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 495
|
||||
80090498 lw v0,0x10(sp) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 496
|
||||
8009049C enabled_lower_kanji: ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 499
|
||||
8009049C lw a0,0x14(sp) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 503
|
||||
800904A0 lw v1,0x10(sp) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 504
|
||||
800904A4 lw v0,0x0(a0) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 505
|
||||
800904A8 lw v1,0x0(v1) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 506
|
||||
800904AC and v0,t2 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 507
|
||||
800904B0 and v1,s0 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 508
|
||||
800904B4 or v0,v1 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 509
|
||||
800904B8 sw v0,0x0(a0) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 510
|
||||
800904BC lw a0,0x10(sp) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 512
|
||||
800904C0 lw v1,0x14(sp) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 513
|
||||
800904C4 lw v0,0x0(a0) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 514
|
||||
800904C8 and v1,s0 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 515
|
||||
800904CC and v0,t2 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 516
|
||||
800904D0 or v0,v1 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 517
|
||||
800904D4 sw v0,0x0(a0) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 518
|
||||
800904D8 lw v0,0x14(sp) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 520
|
||||
800904DC disabled_lower_kanji: ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 522
|
||||
800904DC addiu s2,0x1 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 523
|
||||
800904E0 sw v0,0x18(t1) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 524
|
||||
800904E4 sltiu v0,s2,0x2 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 526
|
||||
800904E8 bnez v0,0x800902BC ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 527
|
||||
800904EC addiu t1,t1,0x4 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 528
|
||||
800904F0 spacecharjumphere: ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 531
|
||||
800904F0 lhu v0,0x4(s4) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 532
|
||||
800904F4 nop ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 533
|
||||
800904F8 addiu v0,v0,0x1 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 534
|
||||
800904FC lui t3,-0x7FF7 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 537
|
||||
80090500 lhu v1,-0x10(t3) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 538
|
||||
80090504 lbu r4,0x0(s6) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 539
|
||||
80090508 addiu s6,s6,0x1 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 540
|
||||
8009050C sh v0,0x4(s4) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 541
|
||||
80090510 bne v0,v1,0x8009027C ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 543
|
||||
80090514 nop ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 544
|
||||
80090518 textend: ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 554
|
||||
80090518 clear s2 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 555
|
||||
8009051C lui s3,-0x7FF8 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 556
|
||||
80090520 addiu s5,s3,-0x6C20 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 557
|
||||
80090524 lui s1,0xFF ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 558
|
||||
80090528 ori s1,s1,-0x1 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 559
|
||||
8009052C move s0,s4 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 560
|
||||
80090530 clear a1 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 561
|
||||
80090534 pagetloop: ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 564
|
||||
80090534 ori a2,r0,0x1 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 565
|
||||
80090538 addu s2,a2 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 566
|
||||
8009053C lui v0,-0x8000 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 567
|
||||
80090540 lui a0,-0x100 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 568
|
||||
80090544 lw v1,-0x6C20(s3) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 571
|
||||
80090548 lw a3,0xA0(gp) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 572
|
||||
8009054C and v1,s1 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 573
|
||||
80090550 or v1,v0 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 574
|
||||
80090554 sw v1,0x30(s0) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 575
|
||||
80090558 lw v0,-0x6C20(s3) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 577
|
||||
8009055C lw v1,0x0(v1) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 578
|
||||
80090560 and v0,a0 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 579
|
||||
80090564 and v1,s1 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 580
|
||||
80090568 lw a0,0x4(s5) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 581
|
||||
8009056C or v0,v0,v1 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 582
|
||||
80090570 sw v0,-0x6C20(s3) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 583
|
||||
80090574 addiu a0,a0,-0x1 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 584
|
||||
80090578 sw a0,0x4(s5) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 585
|
||||
8009057C lw a0,0x30(s0) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 587
|
||||
80090580 jal 0x800522F0 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 588
|
||||
80090584 addiu s0,s0,0x4 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 589
|
||||
80090588 sltiu v0,s2,0x2 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 591
|
||||
8009058C bne v0,zero,0x80090534 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 592
|
||||
80090590 clear a1 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 593
|
||||
80090594 returnfromfunction: ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 596
|
||||
80090594 move v0,s4 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 597
|
||||
80090598 lw ra,0x4C(sp) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 598
|
||||
8009059C lw s8,0x48(sp) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 599
|
||||
800905A0 lw s7,0x44(sp) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 600
|
||||
800905A4 lw s6,0x40(sp) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 601
|
||||
800905A8 lw s5,0x3C(sp) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 602
|
||||
800905AC lw s4,0x38(sp) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 603
|
||||
800905B0 lw s3,0x34(sp) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 604
|
||||
800905B4 lw s2,0x30(sp) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 605
|
||||
800905B8 lw s1,0x2C(sp) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 606
|
||||
800905BC lw s0,0x28(sp) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 607
|
||||
800905C0 jr ra ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 609
|
||||
800905C4 addiu sp,sp,0x50 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 610
|
||||
800905C8 makecharpixelscustom: ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_charload.asm line 4
|
||||
800905C8 addiu sp,sp,-0x18 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_charload.asm line 6
|
||||
800905CC move a1,a0 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_charload.asm line 7
|
||||
800905D0 lui a0,0x1F80 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_charload.asm line 8
|
||||
800905D4 ori a0,a0,0x358 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_charload.asm line 9
|
||||
800905D8 sw ra,0x10(sp) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_charload.asm line 11
|
||||
800905DC ori a2,r0,0x1 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_charload.asm line 13
|
||||
800905E0 lbu t2,0xA8(gp) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_charload.asm line 15
|
||||
800905E4 move t0,r4 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_charload.asm line 16
|
||||
800905E8 lui v1,-0x7FE1 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_charload.asm line 17
|
||||
800905EC ori v1,v1,-0x5600 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_charload.asm line 18
|
||||
800905F0 sll v0,a1,0x1 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_charload.asm line 19
|
||||
800905F4 addu v0,v0,a1 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_charload.asm line 20
|
||||
800905F8 sll v0,v0,0x2 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_charload.asm line 21
|
||||
800905FC addu t1,v0,v1 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_charload.asm line 22
|
||||
80090600 ori r6,r0,0x6 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_charload.asm line 23
|
||||
80090604 move v0,r6 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_charload.asm line 24
|
||||
80090608 beq v0,zero,0x800906C8 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_charload.asm line 25
|
||||
8009060C addiu r6,r6,-0x1 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_charload.asm line 26
|
||||
80090610 lui a3,0x1F80 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_charload.asm line 27
|
||||
80090614 ori a3,a3,0x2E0 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_charload.asm line 28
|
||||
80090618 charloop: ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_charload.asm line 29
|
||||
80090618 lhu v1,0x0(t1) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_charload.asm line 30
|
||||
8009061C nop ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_charload.asm line 31
|
||||
80090620 andi r4,v1,0xF ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_charload.asm line 32
|
||||
80090624 srl v1,v1,0x4 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_charload.asm line 33
|
||||
80090628 andi v0,v1,0xF ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_charload.asm line 34
|
||||
8009062C sll v0,v0,0x1 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_charload.asm line 35
|
||||
80090630 addu v0,v0,a3 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_charload.asm line 36
|
||||
80090634 lhu v0,0x0(v0) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_charload.asm line 37
|
||||
80090638 nop ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_charload.asm line 38
|
||||
8009063C mult v0,t2 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_charload.asm line 39
|
||||
80090640 sll r4,r4,0x1 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_charload.asm line 40
|
||||
80090644 addu r4,r4,a3 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_charload.asm line 41
|
||||
80090648 mflo a1 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_charload.asm line 42
|
||||
8009064C lhu v0,0x0(r4) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_charload.asm line 43
|
||||
80090650 nop ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_charload.asm line 44
|
||||
80090654 mult v0,t2 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_charload.asm line 45
|
||||
80090658 srl v1,v1,0x4 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_charload.asm line 46
|
||||
8009065C andi r4,v1,0xF ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_charload.asm line 47
|
||||
80090660 srl v1,v1,0x4 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_charload.asm line 48
|
||||
80090664 sll v1,v1,0x1 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_charload.asm line 49
|
||||
80090668 addu v1,v1,a3 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_charload.asm line 50
|
||||
8009066C sll v0,a1,0x10 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_charload.asm line 51
|
||||
80090670 mflo t4 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_charload.asm line 52
|
||||
80090674 or v0,t4,v0 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_charload.asm line 53
|
||||
80090678 sw v0,0x0(t0) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_charload.asm line 54
|
||||
8009067C lhu v0,0x0(v1) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_charload.asm line 55
|
||||
80090680 nop ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_charload.asm line 56
|
||||
80090684 mult v0,t2 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_charload.asm line 57
|
||||
80090688 sll r4,r4,0x1 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_charload.asm line 58
|
||||
8009068C addu r4,r4,a3 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_charload.asm line 59
|
||||
80090690 mflo a1 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_charload.asm line 60
|
||||
80090694 lhu v0,0x0(r4) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_charload.asm line 61
|
||||
80090698 nop ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_charload.asm line 62
|
||||
8009069C mult v0,t2 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_charload.asm line 63
|
||||
800906A0 addiu t1,t1,0x2 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_charload.asm line 64
|
||||
800906A4 move v1,a2 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_charload.asm line 65
|
||||
800906A8 addiu a2,a2,-0x1 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_charload.asm line 66
|
||||
800906AC addiu t0,t0,0x4 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_charload.asm line 67
|
||||
800906B0 sll v0,a1,0x10 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_charload.asm line 68
|
||||
800906B4 mflo t4 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_charload.asm line 69
|
||||
800906B8 or v0,t4,v0 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_charload.asm line 70
|
||||
800906BC sw v0,0x0(t0) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_charload.asm line 71
|
||||
800906C0 bne v1,zero,0x80090618 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_charload.asm line 72
|
||||
800906C4 addiu t0,t0,0x4 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_charload.asm line 73
|
||||
800906C8 charloaded: ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_charload.asm line 74
|
||||
800906C8 lbu v1,0xA9(gp) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_charload.asm line 76
|
||||
800906CC ori v0,r0,0x1 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_charload.asm line 77
|
||||
800906D0 bne v1,v0,0x800906E4 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_charload.asm line 78
|
||||
800906D4 nop ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_charload.asm line 79
|
||||
800906D8 lui a0,0x1F80 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_charload.asm line 80
|
||||
800906DC jal 0x80019F0C ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_charload.asm line 81
|
||||
800906E0 ori a0,a0,0x358 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_charload.asm line 82
|
||||
800906E4 notshadow: ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_charload.asm line 84
|
||||
800906E4 lw ra,0x10(sp) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_charload.asm line 85
|
||||
800906E8 nop ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_charload.asm line 86
|
||||
800906EC jr ra ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_charload.asm line 87
|
||||
800906F0 addiu sp,sp,0x18 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_charload.asm line 88
|
||||
800906F4 returncharsinstring: ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 1
|
||||
800906F4 lhu v0,0x0(a0) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 4
|
||||
800906F8 nop ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 5
|
||||
800906FC srl v0,v0,0xD ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 6
|
||||
80090700 bne v0,zero,0x80090710 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 7
|
||||
80090704 clear v1 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 8
|
||||
80090708 j 0x80090740 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 11
|
||||
8009070C nop ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 12
|
||||
80090710 ismy1bytestring: ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 13
|
||||
80090710 lhu v0,0x0(a0) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 14
|
||||
80090714 nop ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 15
|
||||
80090718 andi v0,v0,0xFF ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 16
|
||||
8009071C andi v1,v0,0x1 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 18
|
||||
80090720 beq v1,zero,0x8009072C ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 19
|
||||
80090724 nop ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 20
|
||||
80090728 addiu v0,v0,0x1 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 21
|
||||
8009072C notand1: ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 23
|
||||
8009072C sra v0,v0,0x1 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 24
|
||||
80090730 addiu v0,v0,0x1 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 25
|
||||
80090734 jr ra ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 26
|
||||
80090738 move v1,v0 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 27
|
||||
8009073C getnewchar: ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 29
|
||||
8009073C addiu v1,v1,0x1 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 30
|
||||
80090740 startreading: ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 31
|
||||
80090740 lhu v0,0x0(a0) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 32
|
||||
80090744 nop ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 33
|
||||
80090748 sltiu v0,v0,0x1000 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 34
|
||||
8009074C bne v0,zero,0x8009073C ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 35
|
||||
80090750 addiu a0,a0,0x2 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 36
|
||||
80090754 jr ra ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 37
|
||||
80090758 move v0,v1 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 38
|
||||
8009075C calcnextxcustom: ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 41
|
||||
8009075C addiu sp,sp,-0x18 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 42
|
||||
80090760 sw ra,0x10(sp) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 43
|
||||
80090764 lhu v0,0x0(a0) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 45
|
||||
80090768 nop ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 46
|
||||
8009076C andi v1,v0,0xFF ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 47
|
||||
80090770 srl v0,v0,0xD ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 48
|
||||
80090774 beq v0,zero,0x80090784 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 49
|
||||
80090778 nop ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 50
|
||||
8009077C j 0x8009078C ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 51
|
||||
80090780 move v0,v1 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 52
|
||||
80090784 japoldtext: ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 53
|
||||
80090784 jal 0x800906F4 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 54
|
||||
80090788 nop ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 55
|
||||
8009078C ihavestringlength: ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 56
|
||||
8009078C sll v1,v0,0x1 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 57
|
||||
80090790 addu v1,v1,v0 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 58
|
||||
80090794 lw ra,0x10(sp) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 59
|
||||
80090798 sll v0,v1,0x1 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 60
|
||||
8009079C jr ra ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 61
|
||||
800907A0 addiu sp,sp,0x18 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 62
|
||||
800907A4 retuncharstocity: ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 64
|
||||
800907A4 lhu v0,0x0(a0) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 65
|
||||
800907A8 nop ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 66
|
||||
800907AC srl v0,v0,0xD ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 67
|
||||
800907B0 bne v0,zero,0x800907C0 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 68
|
||||
800907B4 clear v1 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 69
|
||||
800907B8 j 0x80090740 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 71
|
||||
800907BC nop ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 72
|
||||
800907C0 ismy1bytecity: ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 73
|
||||
800907C0 lhu v0,0x0(a0) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 74
|
||||
800907C4 nop ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 75
|
||||
800907C8 andi v0,v0,0xFF ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 76
|
||||
800907CC jr ra ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 77
|
||||
800907D0 move v1,v0 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 78
|
||||
800907D4 retuncharstocitydiv2: ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 81
|
||||
800907D4 lhu v0,0x0(a0) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 82
|
||||
800907D8 nop ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 83
|
||||
800907DC srl v0,v0,0xD ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 84
|
||||
800907E0 bne v0,zero,0x800907F0 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 85
|
||||
800907E4 clear v1 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 86
|
||||
800907E8 j 0x80090740 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 88
|
||||
800907EC nop ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 89
|
||||
800907F0 ismy1bytecitydiv2: ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 90
|
||||
800907F0 lhu v0,0x0(a0) ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 91
|
||||
800907F4 nop ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 92
|
||||
800907F8 andi v0,v0,0xFF ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 93
|
||||
800907FC andi v1,v0,0x1 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 95
|
||||
80090800 beq v1,zero,0x8009080C ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 96
|
||||
80090804 nop ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 97
|
||||
80090808 addiu v0,v0,0x1 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 98
|
||||
8009080C notand1_2: ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 100
|
||||
8009080C sra v0,v0,0x1 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 101
|
||||
80090810 jr ra ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 103
|
||||
80090814 move v1,v0 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\1_IS\charCalcs.asm line 104
|
||||
80090818 .close ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_main.asm line 616
|
||||
FFFFFFFF .open ""C:\\Users\\Sergey\\Documents\\GitHub\\Persona2-PSX-asm-sources\\3_CD_EXTRA\\BIN\\SLPS_028.26"",0x8000F800; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_txtpatches.asm line 7
|
||||
8000F800 .org 0x8001B5B8 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_txtpatches.asm line 10
|
||||
8001B5B8 ori a0,r0,0x0 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_txtpatches.asm line 11
|
||||
8001B5BC .org 0x8001927C ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_txtpatches.asm line 16
|
||||
8001927C addiu v0,v0,0x6 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_txtpatches.asm line 17
|
||||
80019280 .org 0x8001CA0C ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_txtpatches.asm line 26
|
||||
8001CA0C ori a2,r0,0x4 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_txtpatches.asm line 27
|
||||
8001CA10 .org 0x8001CD58 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_txtpatches.asm line 32
|
||||
8001CD58 jal 0x80090000 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_txtpatches.asm line 33
|
||||
8001CD5C .org 0x8001CDD8 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_txtpatches.asm line 34
|
||||
8001CDD8 jal 0x80090000 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_txtpatches.asm line 35
|
||||
8001CDDC .org 0x8001C098 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_txtpatches.asm line 37
|
||||
8001C098 jal 0x80090000 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_txtpatches.asm line 38
|
||||
8001C09C .org 0x8001C10C ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_txtpatches.asm line 39
|
||||
8001C10C jal 0x80090000 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_txtpatches.asm line 40
|
||||
8001C110 .org 0x8001C388 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_txtpatches.asm line 46
|
||||
8001C388 jal 0x80090000 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_txtpatches.asm line 47
|
||||
8001C38C .org 0x8001ABF4 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_txtpatches.asm line 52
|
||||
8001ABF4 j 0x800906F4 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_txtpatches.asm line 53
|
||||
8001ABF8 clear v1 ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_txtpatches.asm line 54
|
||||
8001ABFC .org 0x8001AC1C ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_txtpatches.asm line 59
|
||||
8001AC1C j 0x8009075C ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_txtpatches.asm line 62
|
||||
8001AC20 nop ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_txtpatches.asm line 63
|
||||
8001AC24 .close ; C:\Users\Sergey\Documents\GitHub\Persona2-PSX-asm-sources\3_CD_EXTRA\cd_extra_txtpatches.asm line 65
|
||||
88
3_CD_EXTRA/cd_extra_charload.asm
Normal file
88
3_CD_EXTRA/cd_extra_charload.asm
Normal file
@@ -0,0 +1,88 @@
|
||||
|
||||
; LOADING CHAR FROM CUSTOM FONT
|
||||
|
||||
makeCharPixelsCustom:
|
||||
|
||||
addiu sp,sp,-0x18
|
||||
move a1,a0
|
||||
lui a0,0x1f80
|
||||
ori a0,a0,0x358
|
||||
|
||||
sw ra,0x10(sp)
|
||||
|
||||
li a2,1
|
||||
|
||||
lbu t2,0xa8(gp) ;a8(gp) -- color
|
||||
move t0,r4
|
||||
lui v1,0x801f ; ;load font addr to r3 (801ef480)
|
||||
ori v1,v1,0xaa00 ;
|
||||
sll v0,a1,0x1 ; r2 = r5 << 1 (*2)
|
||||
addu v0,v0,a1 ; r2 += r5 (it. *3)
|
||||
sll v0,v0,0x2 ; r2 << 2 (*4) (r2 = r5 *12)
|
||||
addu t1,v0,v1 ;t1 = char addr ; r9 = r2(offs) + r3 (start)
|
||||
li r6,0x6 ; r6 = byteslength = 6
|
||||
move v0,r6 ; r2 = r6 (counter)
|
||||
beq v0,zero,charLoaded ; if counter=0 then branch
|
||||
addiu r6,r6,-0x1 ; dec r6
|
||||
lui a3,0x1f80
|
||||
ori a3,a3,0x2e0 ; set scratch convert addr r7 = 1f8002e0
|
||||
CharLoop:
|
||||
lhu v1,0x0(t1) ;load upperhalf of char to r3
|
||||
nop
|
||||
andi r4,v1,0xf ; r4 = r3 & 0f - cutting left semibyte
|
||||
srl v1,v1,0x4 ; r3 >> 4
|
||||
andi v0,v1,0xf ; r2 = r3 & 0f
|
||||
sll v0,v0,0x1 ; r2 << 1
|
||||
addu v0,v0,a3 ; r2 = r2 + to4bitConvertTableAddr (r7)
|
||||
lhu v0,0x0(v0);>DAT_1f8002e0 r2 = *r2(half) pixel pattern
|
||||
nop
|
||||
mult v0,t2 ; r2*r10. make Color
|
||||
sll r4,r4,0x1 ; r4 << 1
|
||||
addu r4,r4,a3 ; r4 += r6 counter
|
||||
mflo a1 ; load lo to r5
|
||||
lhu v0,0x0(r4);>DAT_1f8002e0 load table+r4
|
||||
nop
|
||||
mult v0,t2 ; r2 * colorIndex r10
|
||||
srl v1,v1,0x4 ; r3 >> 4, right 4 bits
|
||||
andi r4,v1,0xf ; r4 = r3 & f0 (cut right semibyte)
|
||||
srl v1,v1,0x4 ; r3 >> 4
|
||||
sll v1,v1,0x1 ; r3 << 1 = *2
|
||||
addu v1,v1,a3 ; r3=r3+Table r7
|
||||
sll v0,a1,0x10 ; r2 = r5 << 10 bits
|
||||
mflo t4 ; load r12,low
|
||||
or v0,t4,v0 ; r2 = r12 | r2
|
||||
sw v0,0x0(t0) ; load *r8(current Scratch) from r2(result)
|
||||
lhu v0,0x0(v1);>DAT_1f8002e0 ; load r2 from TablePattern Half from r3
|
||||
nop
|
||||
mult v0,t2 ; r2*color r10
|
||||
sll r4,r4,0x1 ; r4 << 1
|
||||
addu r4,r4,a3 ; r4 = r4 + TableStart
|
||||
mflo a1 ; ld r5,lo
|
||||
lhu v0,0x0(r4);>DAT_1f8002e0 ; ld half r2 from *r4
|
||||
nop
|
||||
mult v0,t2 ; r2*col
|
||||
addiu t1,t1,0x2 ; move charFont + +2
|
||||
move v1,a2 ; r3 = byteCount (r6)
|
||||
addiu a2,a2,-0x1 ; r6 -= 1
|
||||
addiu t0,t0,0x4 ; scrathAddr r8 += 4
|
||||
sll v0,a1,0x10 ; r2 = r5 << 10 bits (move to hi)
|
||||
mflo t4 ; ld r12,lo (result)
|
||||
or v0,t4,v0 ; combine r2 & r 12 (0001 x 1111)
|
||||
sw v0,0x0(t0) ; store result to scratch r2 to *r8
|
||||
bne v1,zero,charLoop ; if r3 counter<>0 goto loop
|
||||
addiu t0,t0,0x4 ; r8 scrath += 4
|
||||
charLoaded:
|
||||
|
||||
lbu v1, 0xa9(gp) ; a9(gp) -- shadow
|
||||
li v0, 0x1
|
||||
bne v1, v0, NotShadow ;Shadow character check
|
||||
nop
|
||||
lui a0,0x1f80
|
||||
jal MakeShadowSmallChar ;Make shadow in Scratch DMA
|
||||
ori a0,a0,0x358
|
||||
|
||||
NotShadow:
|
||||
lw ra,0x10(sp) ;Restore stack and exit
|
||||
nop
|
||||
jr ra
|
||||
addiu sp, sp, 0x18
|
||||
620
3_CD_EXTRA/cd_extra_main.asm
Normal file
620
3_CD_EXTRA/cd_extra_main.asm
Normal file
@@ -0,0 +1,620 @@
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Persona 2 Eternal Punishment CD Extra (PSX) JAP / Custom Characters/Data Patch
|
||||
//
|
||||
// Author: Sergey Shemet 17/09/2025
|
||||
//
|
||||
|
||||
.psx
|
||||
|
||||
.definelabel SetDrawTPage, 0x800522F0
|
||||
.definelabel storeColor, 0x8001ADC8
|
||||
.definelabel initCopyCharChain, 0x80019D70
|
||||
.definelabel MakeShadowSmallChar, 0x80019F0C // 0x800196BC -big char shadow???
|
||||
.definelabel OriginalKanjiPrint, 0x80019000
|
||||
|
||||
.definelabel MyAddr, 0x8009
|
||||
|
||||
.open "3_CD_EXTRA/BIN/SLPS_028.26", 0x8000F800
|
||||
|
||||
.org 0x80090000
|
||||
|
||||
ExternalPrint:
|
||||
// Text routing test routine
|
||||
move r3,s3
|
||||
move s3,r4
|
||||
|
||||
lhu v0,0x0(s3) // Read half 2 bytes of text
|
||||
move s3,r3
|
||||
srl v1,v0,0xD // Check 13th bit (Russian text format 20XX cmd)
|
||||
bne v1,zero,MyPrintLineRoutine
|
||||
clear v1
|
||||
j OriginalKanjiPrint // Если не включен 13 бит, то это обычный японский текст. Вызов обычной подпрограммы вывода.
|
||||
nop
|
||||
|
||||
MyPrintLineRoutine:
|
||||
addiu sp, sp, -0x50 // Выделение места в стеке (80 bytes)
|
||||
sw s6, 0x40(sp) // Сохранение s6
|
||||
move s6, a0 // s6 = param_1 (указатель на текст)
|
||||
sw s1, 0x2C(sp) // Сохранение s1
|
||||
move s1, a1 // s1 = param_2 (X координата)
|
||||
sw s2, 0x30(sp) // Сохранение s2
|
||||
move s2, a2 // s2 = param_3 (Y координата)
|
||||
sw s3, 0x34(sp) // Сохранение s3
|
||||
|
||||
|
||||
|
||||
//v1/r3 - MyChars charcount
|
||||
andi v0, 0xff
|
||||
addiu s6, 0x2 //Moving text read pointer +2bytes
|
||||
|
||||
|
||||
lui s3, MyAddr
|
||||
sh v0, -0x10(s3) //store half bytecounter @ 8008fff0
|
||||
sh v0, -0x0E(s3) //store half bytecounter @ 8008fff2
|
||||
|
||||
//////////////////////////////////////
|
||||
|
||||
// Инициализация адресов scratch и масок
|
||||
lui s3, 0x1F80 // Базовый адрес GPU
|
||||
ori s3, s3, 0x03D0 // Адрес для команд отрисовки
|
||||
|
||||
lui t0, 0xFF // Маска для DMA операций
|
||||
ori t0, t0, 0xFFFF
|
||||
|
||||
sw s0, 0x28(sp) // Сохранение s0
|
||||
andi s0, a3, 0xFF // s0 = param_4 (цвет/атрибуты)
|
||||
move a0, s0 // a0 = цвет текста
|
||||
|
||||
// Блок инициализации DMA
|
||||
InitDMA:
|
||||
update_free_dma:
|
||||
lui a3, 0x8008 // Базовый адрес для текстового DMA
|
||||
lui a2, 0xFF00 // Маска для адресной части
|
||||
addiu t1, a3, -0x6C20 // TextDMANexChainAddr
|
||||
lw v1, -0x6C20(a3) // Загрузка текущего DMA адреса
|
||||
lbu a1, 0x60(sp) // Загрузка цвета из стека
|
||||
lui v0, 0x8000 // Флаг для адресации
|
||||
|
||||
// Сохранение всех регистров
|
||||
sw ra, 0x4C(sp) // Сохранение return address
|
||||
sw s8, 0x48(sp) // Сохранение s8
|
||||
sw s7, 0x44(sp) // Сохранение s7
|
||||
sw s5, 0x3C(sp) // Сохранение s5
|
||||
sw s4, 0x38(sp) // Сохранение s4
|
||||
|
||||
// Подготовка DMA цепочки
|
||||
PrepareDMAChain:
|
||||
and a2, v1, a2 // Извлечение первого байта
|
||||
and v1, v1, t0 // Отсекаем первый байт у адреса
|
||||
or s4, v1, v0 // Совмещаем 80...... и 00ADDR = новый DMA адрес
|
||||
|
||||
lw v0, 0x4(t1) // TextDMACounter
|
||||
lw v1, 0x0(s4) // Разыменовывание указателя на текущий адрес = след адрес
|
||||
addiu v0, v0, -1 // Декремент счетчика
|
||||
and v1, v1, t0 // Очистка адресной части
|
||||
or a2, a2, v1 // Объединение исходного первого байта (FF) с новым адресом
|
||||
sw v0, 0x4(t1) // Сохранение счетчика
|
||||
|
||||
// Подготовка атрибутов строки
|
||||
PrepareAttrs:
|
||||
andi a1, a1, 0xFF // Маскирование цвета
|
||||
jal storeColor // Установка цвета и тени
|
||||
sw a2, -0x6C20(a3) // Сохранение нового свободного DMA адреса
|
||||
move a0, s4 // a0 = DMA адрес
|
||||
|
||||
// Подготовка координат
|
||||
sll a1, s1, 0x10 // Подготовка X координаты
|
||||
sra a1, a1, 0x10
|
||||
sll a2, s2, 0x10 // Подготовка Y координаты
|
||||
sra a2, a2, 0x10
|
||||
jal initCopyCharChain // Инициализация строки
|
||||
move a3, s0 // a3 = а-три-буты
|
||||
|
||||
init_cputovram_vars_int_scratch:
|
||||
lui a3, 0x1F80
|
||||
ori a3, a3, 0x0348 // Адрес паттернов в scratchpad
|
||||
//lui a2, 0x1F80
|
||||
//ori a2, a2, 0x038C // Disable second kanji half command
|
||||
|
||||
li v0, 0x02 // Ширина в px в 16битном режиме (Original 3px (12 in 4bit), my - 2px)
|
||||
sh v0, 0x1C(sp)
|
||||
li v0, 0x0C // Высота полукандзи. (Original 6px, my - 12px)
|
||||
li a1, 0x0D // 0D - оригинальная длина команды CPUtoVRAM (Scratch) в words
|
||||
lui a0, 0xA000 // A0000000 - CPUtoVRAM command
|
||||
|
||||
sh v0, 0x1E(sp) // sp+1c = 000C0002
|
||||
li a1, 0x10 //INSERT // Переписываем длину команды (т.к. формируем символ в пределах одной команды)
|
||||
sb a1, 0x3(a3) // Установка длины 0x10 элемента цепочки CPUtoVRAM (Scratch)
|
||||
sw a0, 0x4(a3) // Установка команды A0000000 CPUtoVRAM (Scratch)
|
||||
|
||||
lhu t0, 0x9C(gp) // Загрузка vram X из глобальных настроек
|
||||
lhu v0, 0x9E(gp) // Загрузка vram Y из глобальных настроек
|
||||
lui v1, 0x0100 // GPU flushcache command (0100 0000)
|
||||
|
||||
lui at, 0x1F80
|
||||
sw v1, 0x0388(at) // Save flushcache (конец первой команды)(not 37c!)
|
||||
// lower half params set
|
||||
// sb a1, 0x3(a2) // Отключаем данные нижней половины
|
||||
// sw a0, 0x4(a2) //
|
||||
|
||||
// Настройка координат для каждой половины символа.
|
||||
coords_size_cputovram_scr:
|
||||
lh a1, 0x9C(gp) // Загрузка X
|
||||
move s8, s2 // Сохранение Y позиции
|
||||
// lui at, 0x1F80
|
||||
// sw v1, 0x03C0(at) // Save flushcache (second command (Disabled))
|
||||
|
||||
sh t0, 0x18(sp) // Сохранение XY в стек как полуслова (CONCAT)
|
||||
sh v0, 0x1A(sp)
|
||||
lw a0, 0x18(sp) //Загружаем XY-word из стека для CPUtoVRAM
|
||||
//Абсолютно неоптимальная хрень - можно было сразу вытащить word из 0x9C(gp),
|
||||
// либо просто задать a0 = 3001F001,
|
||||
// так как адрес всегда один и тот же. Скорее всего, он менялся при разработке и дебаге игры
|
||||
|
||||
// sh v0, 0x1A(sp) //Отключаем вычисление и сохранение VRAM-Y нижнего полусимвола.
|
||||
|
||||
lw v1, 0x18(sp)
|
||||
lw v0, 0x1C(sp) //Грузим размер символа (16-бит) из стека
|
||||
move t0, a1 // t0 будет X - пригодится ниже, в расчётах
|
||||
sw a0, 0x8(a3) //сохраняем 3001F001 to 00350 (uv-коодинаты в команду cputovram - 130x1f0)
|
||||
// sw v0, 0xc(a2) //disable lower
|
||||
|
||||
sw v0, 0xC(a3) // set 02000c00 to 00354 (sprite pixel size)
|
||||
// sw v1, 0x8(a2)
|
||||
|
||||
lui v0,0x8001 //load 80010000 to r2
|
||||
|
||||
//4bit pattern in scratch
|
||||
|
||||
lui t8, 0x1f80
|
||||
ori t8, t8, 0x2e0
|
||||
addiu t7, v0, 0x3e8
|
||||
lwl t5, 0x3(t7)
|
||||
lwr t5, 0x0(t7)
|
||||
lwl t6, 0x7(t7)
|
||||
lwr t6, 0x4(t7)
|
||||
swl t5, 0x3(t8)
|
||||
swr t5, 0x0(t8)
|
||||
swl t6, 0x7(t8)
|
||||
swr t6, 0x4(t8)
|
||||
lwl t5, 0xb(t7)
|
||||
lwr t5, 0x8(t7)
|
||||
lwl t6, 0xf(t7)
|
||||
lwr t6, 0xc(t7)
|
||||
swl t5, 0xb(t8)
|
||||
swr t5, 0x8(t8)
|
||||
swl t6, 0xf(t8)
|
||||
swr t6, 0xc(t8)
|
||||
lwl t5, 0x13(t7)
|
||||
lwr t5, 0x10(t7)
|
||||
lwl t6, 0x17(t7)
|
||||
lwr t6, 0x14(t7)
|
||||
swl t5, 0x13(t8)
|
||||
swr t5, 0x10(t8)
|
||||
swl t6, 0x17(t8)
|
||||
swr t6, 0x14(t8)
|
||||
lwl t5, 0x1b(t7)
|
||||
lwr t5, 0x18(t7)
|
||||
lwl t6, 0x1f(t7)
|
||||
lwr t6, 0x1c(t7)
|
||||
swl t5, 0x1b(t8)
|
||||
swr t5, 0x18(t8)
|
||||
swl t6, 0x1f(t8)
|
||||
swr t6, 0x1c(t8)
|
||||
|
||||
// Copy Sprite DMA Command Forming
|
||||
init_rect_cmd_in_scr:
|
||||
li v0,0x4 // Длина команды RectTexBlend (04000000)
|
||||
sb v0,0x3(s3) // сохраняем в scratch
|
||||
li v0,0x64 // Команда RectTexBlend (64)
|
||||
sb v0,0x7(s3) // Сохранение команды RectTexBlend (64)
|
||||
li v0,0x80 // 80 - стандартная яркость спрайта
|
||||
sb v0,0x4(s3) // R
|
||||
sb v0,0x5(s3) // G
|
||||
sb v0,0x6(s3) // B = Сохранение 80 80 80 + 64 (3d4,5,6,7)
|
||||
|
||||
//
|
||||
// Здесь запаковка ИСХОДНЫХ координат спрайта в VRAM.
|
||||
//Но они никогда не меняются. Наверное, можно оптимизировать и записывать f0c0
|
||||
PositionProcessing:
|
||||
bgez a1, CalculateXOffset // Проверка знака X координаты
|
||||
sh s1, 0x20(sp) // Сохранение X позиции
|
||||
|
||||
AddOffsetX:
|
||||
addiu t0, a1, 0x3F // Смещение, если меньше ноля
|
||||
|
||||
CalculateXOffset:
|
||||
sra v0, t0, 0x6
|
||||
sll v0, v0, 0x6 // округляем X
|
||||
subu v0, a1, v0
|
||||
lh v1, 0x9E(gp) // Загрузка Y параметра
|
||||
sll v0, v0, 0x2 // Умножение X на 4
|
||||
sb v0, 0xC(s3) // Сохранение X в команду Reсt
|
||||
|
||||
// Обработка Y координаты
|
||||
YCoordinateProcessing:
|
||||
bgez v1, CalculateYOffset // Проверка знака Y координаты
|
||||
move v0, v1
|
||||
|
||||
AddOffsetY:
|
||||
addiu v0, v1, 0xFF // Добавление смещения если отрицательно
|
||||
|
||||
CalculateYOffset:
|
||||
sra v0, v0, 0x8 // Округление координаты Y
|
||||
sll v0, v0, 0x8
|
||||
subu v0, v1, v0
|
||||
sb v0, 0xD(s3) // Сохранение Y текстуры в команду Reсt
|
||||
|
||||
// всю эту часть кода можно смело заменять записью 7DF3F0C0 в адрес 0xC(s3)
|
||||
// она рассчитана на динамический расчёт координат UV и CLUT, но они у нас статические
|
||||
|
||||
lhu v1, 0xA4(gp) // Загружаем из глобальных настроек координаты CLUT текста в VRAM (ВСЕГДА 7FD3 - 304 x 511)
|
||||
li v0, 0x8
|
||||
sh v0, 0x10(s3) // Сохраняем ширину спрайта в пикселях
|
||||
li v0, 0xc
|
||||
sh v0, 0x12(s3) // Сохраняем высоту спрайта в пикселях (0xC = 12)
|
||||
sh v1, 0xe(s3) // Сохраняем clut в команду rect
|
||||
|
||||
// Основной цикл чтения символов из памяти
|
||||
LoadCharacter:
|
||||
lbu a0, 0x0(s6) // Загрузка символа из текста (Читаем byte вместо half) - текст хранится побайтово
|
||||
nop
|
||||
|
||||
//Неактуальный код проверки терминатора иероглифов
|
||||
//sltiu v0, a0, 0x1000 // Проверка на конец текста
|
||||
//beq v0, zero, FinishDrawing // Если символ > 0x1000 (команда) - завершаем
|
||||
|
||||
addiu s6, s6, 0x1 // Переход к следующему символу (в оригинале было смещение на 2 байта)
|
||||
|
||||
// Подготовка к отрисовке символа
|
||||
lui s1, 0x8008
|
||||
addiu s5, s1, -0x6C20 // TextDMANexChainAddr
|
||||
lui s0, 0xFF
|
||||
ori s0, s0, 0xFFFF
|
||||
lui s7, 0x8000
|
||||
|
||||
// Цикл отрисовки символа
|
||||
NextChar:
|
||||
addiu r4, r4, -0x20 // Смещаем код символа для правильного рассчёта в шрифте
|
||||
//Тут нужна проверка на пробел
|
||||
|
||||
isFirstChar:
|
||||
jal makeCharPixelsCustom // Создание символа в scratchpad кастомной процедурой
|
||||
clear s2 // Сброс счетчика
|
||||
|
||||
// Настройка X для символа
|
||||
Setup_X_coord_in_rect_scratch:
|
||||
lw v0, 0xAC(gp) // Первая координата текста
|
||||
lhu v1, 0x4(s4) // Счётчик отрисованных символов в строке (print_params+4)
|
||||
addiu v0, v0, 0x6 // Добавление смещения к первой координате
|
||||
mult v1, v0 // Умножаем...
|
||||
|
||||
some_printparams_save:
|
||||
lui t2, 0xFF00 // Маска для адреса
|
||||
move t4, s4 // Копирование адреса print_params
|
||||
addiu t3, sp, 0x10 // Сохраняем адрес стек+0x10
|
||||
move t1, s4 // t1 - основной регистр print_params, который смещается для разных страниц
|
||||
|
||||
end_x_coord_rect:
|
||||
sh s8, 0xA(s3) // Сохранение Y позиции в команду Rect (3dc)
|
||||
lhu t5, 0x20(sp) // Загрузка X позиции из стека
|
||||
mflo t6 // Результат умножения в t6
|
||||
addu v0, t5, t6 // Вычисление финальной позиции (X + смещение)
|
||||
sh v0, 0x8(s3) // Сохранение X позиции в команду Rect (3d8)
|
||||
|
||||
PageLoop:
|
||||
update_free_dma2:
|
||||
// получаем свободный адрес для цепочки в текущей странице
|
||||
lw v0, -0x6C20(s1) // Текущий свободный DMA адрес
|
||||
nop
|
||||
and a0, v0, t2 // В a0 оставляем первый байт с помощью маски & FF000000 (должно получиться 80000000)
|
||||
and v0, v0, s0 // В v0 срезаем первый байт с помощью маски & 00FFFFFF
|
||||
or a1, v0, s7 // в a1 cовмещаем адрес, приводим к виду (80XXXXXX) - получаем конечный адрес для записи команды rect
|
||||
|
||||
lw v0, 0x4(s5) // DMA счетчик оставшихся свободных цепочек
|
||||
lw v1, 0x0(a1) // Разыменовываем адрес следующей свободной цепочки (v1 = *a1)
|
||||
addiu v0, v0, -1 // Декремент счетчика
|
||||
and v1, v1, s0 // Очистка адресной части следующей свободной цепочки
|
||||
or a0, a0, v1 // Совмещаем адрес с FF......
|
||||
sw v0, 0x4(s5) // Сохранение счетчика
|
||||
sw a0, -0x6C20(s1) // Сохранение нового адреса
|
||||
|
||||
// Копирование данных команды rect в RAM из scratch
|
||||
CopyRectCmd:
|
||||
lw t7, 0x0(s3) // Загрузка данных команды rect из scratch
|
||||
lw t8, 0x4(s3)
|
||||
lw t5, 0x8(s3)
|
||||
lw t6, 0xC(s3)
|
||||
|
||||
sw t7, 0x0(a1) // Сохранение данных команды rect в RAM
|
||||
sw t8, 0x4(a1)
|
||||
sw t5, 0x8(a1)
|
||||
sw t6, 0xC(a1)
|
||||
|
||||
lw t7, 0x10(s3)
|
||||
nop // ждём команду, чтобы значение загрузилось в регистр (особенность MIPS)
|
||||
sw t7, 0x10(a1) // докидываем данные
|
||||
|
||||
// Линкуем предыдущую команду страницы и текущую ()
|
||||
previous_last_cmd_link_with_current:
|
||||
lw v1, 0x18(t1) // Загрузка указателя хранения последней команды в странице print_params+0x18
|
||||
lw v0, 0x0(a1) // Загружаем текущую длину (0004), которая перезаписала адрес в цепочке DMA, когда копировали из sсratch
|
||||
lw v1, 0x0(v1) // Разыменование указателя (v1 = *v1), читаем количество команд последней команды (обычно XXFFFFFF)
|
||||
and v0, v0, t2 // Чистим количество команд (& ff)
|
||||
and v1, v1, s0 // Очистка адресной части из параметров строки print_params
|
||||
or v0, v0, v1 // Объединение (делаем cmdCount + ffffff from next_cmd) - очистка/экранирование?
|
||||
sw v0, 0x0(a1) // Сохранение адреса следующей команды в команде rect (04ffffff)
|
||||
|
||||
lw a0, 0x18(t1) // Снова грузим указатель на маску print_params+0x18 (00fffff)
|
||||
nop // ПРОПУСК!
|
||||
lw v0, 0x0(a0) // Разыменование указателя (v0 = *a0)
|
||||
and v1, a1, s0 // Отрезаем первый байт у адреса цепочки команды rect (сначала это маска 00ФФФФФФ)
|
||||
and v0, v0, t2 // &ff000000 (c маской)
|
||||
or v0, v0, v1 // Объединение (берём у маски кол-во команд, и след адрес)
|
||||
sw v0, 0x0(a0) // Сохраняем след адрес вместо маски (00freeChain)
|
||||
sw a1, 0x18(t1) // Сохраняем адрес след свободной цепочки в print_params (t1+18)
|
||||
// То, что было маской - стало ссылкой на след команду цепочки в этой странице
|
||||
|
||||
// Проверка на первый символ (нужна ли запись первой записи в print_params+0x28?)
|
||||
lhu v0, 0x4(t4) // Проверка - есть ли хоть один сформированный символ
|
||||
nop
|
||||
bne v0, zero, NotFirstChar // Если не ноль, пропускаем
|
||||
clear t0 // Очистка счетчика
|
||||
|
||||
sw a1, 0x28(t1) // Установка первичного адреса в print_params (+16 от ссылки на бывшую маску)
|
||||
|
||||
//ИТОГО -- PrintParams + 0x18 - указатель на последнюю команду на странице
|
||||
// PrintParams + 0x28 - указатель на первую команду на странице
|
||||
// Для второй страницы - смещаемся +0x04
|
||||
|
||||
NotFirstChar:
|
||||
|
||||
move a3, t0 // Обнуляем a3 - это смещение для копирования данных в полусимволе
|
||||
move a2, t3 // загрузка адреса sp+10. В *a2 будет храниться сформированный адрес cputovram в ram
|
||||
|
||||
// Здесь был цикл на 2 полусимвола.
|
||||
// Выдаются свободные адреса цепочек и формируется cputoVram1 и 2 (нам нужна одна команда вместо двух)
|
||||
|
||||
cputovram_cmd_from_scratch_copy:
|
||||
update_free_dma3:
|
||||
halfkanji_loop:
|
||||
lui a1, 0x1F80
|
||||
lw v0, -0x6C20(s1) // Берём адрес след свободной цепочки
|
||||
ori a1, a1, 0x0348 // Берём адрес в scrathPad символа CPUtoVRAM
|
||||
and v0, v0, s0 // отрезаем первый байт у свободной цепочки &00FFFFFF
|
||||
or v0, v0, s7 // Прикручиваем адрес 80....... || nextChain
|
||||
|
||||
sw v0, 0x0(a2) // Сохранение след полного адреса в sp+0x10
|
||||
|
||||
lw v1, -0x6C20(s1) // Берём ЕЩЁ РАЗ адрес свободной цепочки, но уже в v1
|
||||
lw v0, 0x0(v0) // Разыменование - v0 = *v0
|
||||
|
||||
lw a0, 0x4(s5) // Грузим счётчик
|
||||
and v1, t2 // Отрезаем префикс у адреса свободной цепочки в v1 (0xFF - Мы грузили адрес свободной цепочки, чтобы взять префикс FF???)
|
||||
and v0, s0 // чистим адрес от префикса (который и так 00, но неизвестно, что было в данных)(0x00FFFFFF)
|
||||
or v1, v0 // в v1 - адрес NextFreeDMA cо старым префиксом
|
||||
addiu a0, -0x01 // Декремент счётчика
|
||||
|
||||
sw v1, -0x6C20(s1) // Сохраняем NextFreeDMA
|
||||
sw a0, 0x4(s5) // save counter
|
||||
|
||||
lw a0, 0x0(a2) // Грузим след свободный адрес из *sp+10
|
||||
addu v1, a3, a1 // v1 = смещение полусимвола + начало первого символа в scratch (указание на начало данных полусимвола)
|
||||
or v0, v1, a0 // v0 = Проверка на выравнивание адресов чтения и записи
|
||||
andi v0, v0, 0x0003 // путём схлопывания их адресов через or и проверки первых 2 битов (то есть числа 3).
|
||||
beqz v0, Copy16Bytes // Если биты пусты, значит оба адреса выровнены по 4 байта, можно копировать word целиком
|
||||
|
||||
addiu v0, v1, 0x40 // v0 = максимальный адрес копирования исходных данных символа в Scratch
|
||||
|
||||
|
||||
// Копирование данных команды CPUtoVRAM символа из scratchpad в RAM
|
||||
|
||||
// Невыровненное копирование по 2 байта
|
||||
CopyBy2Bytes:
|
||||
lwl t7, 0x3(v1) // Загрузка полусловами по 2 байта
|
||||
lwr t7, 0x0(v1)
|
||||
lwl t8, 0x7(v1)
|
||||
lwr t8, 0x4(v1)
|
||||
lwl t5, 0xB(v1)
|
||||
lwr t5, 0x8(v1)
|
||||
lwl t6, 0xF(v1)
|
||||
lwr t6, 0xC(v1)
|
||||
|
||||
swl t7, 0x3(a0) // Сохранение с выравниванием
|
||||
swr t7, 0x0(a0)
|
||||
swl t8, 0x7(a0)
|
||||
swr t8, 0x4(a0)
|
||||
swl t5, 0xB(a0)
|
||||
swr t5, 0x8(a0)
|
||||
swl t6, 0xF(a0)
|
||||
swr t6, 0xC(a0)
|
||||
|
||||
addiu v1, 0x10 // Смещение адреса в scratch
|
||||
bne v1, v0, CopyBy2Bytes // Проверяем на достижение целевого адреса
|
||||
addiu a0, a0, 0x10 // Следующий целевой адрес
|
||||
|
||||
j last4BytesCopy
|
||||
nop
|
||||
|
||||
// Быстрое выровненное копирование по 4 байта
|
||||
Copy16Bytes:
|
||||
lw t7, 0x0(v1) // Загрузка 32-битных слов
|
||||
lw t8, 0x4(v1)
|
||||
lw t5, 0x8(v1)
|
||||
lw t6, 0xC(v1)
|
||||
|
||||
sw t7, 0x0(a0) // Сохранение
|
||||
sw t8, 0x4(a0)
|
||||
sw t5, 0x8(a0)
|
||||
sw t6, 0xC(a0)
|
||||
|
||||
addiu v1, 0x10 // Смещение адреса в scratch
|
||||
bne v1, v0, Copy16Bytes // Проверяем на достижение целевого адреса
|
||||
addiu a0, a0, 0x10 // Следующий целевой адрес
|
||||
|
||||
// Завершение копирования
|
||||
last4BytesCopy:
|
||||
lwl t7, 0x3(v1) // Копирование остатка
|
||||
lwr t7, 0x0(v1)
|
||||
// lwl t8, 0x7(v1)
|
||||
// lwr t8, 0x4(v1)
|
||||
nop
|
||||
swl t7, 0x3(a0)
|
||||
swr t7, 0x0(a0)
|
||||
// swl t8, 0x7(a0)
|
||||
// swr t8, 0x4(a0)
|
||||
|
||||
// Здесь старый код цикла копирования второго полукандзи
|
||||
// addiu a3, a3, 0x44 // Увеличение смещения
|
||||
// addiu t0, t0, 0x1 // Инкремент счетчика полусимволов
|
||||
// sltiu v0, t0, 0x2 // Если счётчик <2,
|
||||
// bne v0, zero, halfkanji_loop// то считываем ещё раз,
|
||||
// addiu a2, a2, 0x4 // увеличивая адрес хранения команды полусимвола (a2 = sp+14)
|
||||
|
||||
// Линковка DMA-команд
|
||||
link_char_dma_cmds:
|
||||
lw a0, 0x10(sp) // в a0 грузим адрес первого полусимвола (который хранился в *sp+10)
|
||||
lw v1, 0x18(t1) // Получили адрес rect из print_params (вернее, видимо, адрес начала цепочки)
|
||||
lw v0, 0x0(a0) // v0 = *a0 - длина команды cpoutovram (10/0d 000000) без следующего адреса
|
||||
lw v1, 0x0(v1) // v1 = *v1 - разыменовали и получили длину команды rect (04ffffff) без следующего адреса
|
||||
and v0, t2 // v0 & FF000000 - чистим длину команды
|
||||
and v1, s0 // v1 & 00FFFFFF - отрезали маску у длины команды rect
|
||||
or v0, v1 // || Совмещаем число количества команд cpoutovram и маску rect (0dffffff)
|
||||
sw v0, 0x0(a0) // сохраняем длину команды cpoutovram с маской ffffff в цепочку
|
||||
|
||||
lw a0, 0x18(t1) // Опять грузим адрес rect из print_params
|
||||
lw v1, 0x10(sp) // ОпятЬ! грузим адрес первого полусимвола
|
||||
lw v0, 0x0(a0) // v0 = *a0, то есть грузим длину команды с маской (10ffffff) вместо адреса
|
||||
and v1, s0 // &00ffffff у адреса первого полусимвола (режем префикс), оставляя адрес
|
||||
and v0, t2 // в v0 - длина команды rect. Чистим (&ff000000)
|
||||
or v0, v1 // СОЗДАЁТСЯ ЛИНК команды rect и след. адреса (04+nextCommandAddr)
|
||||
sw v0, 0x0(a0) // сохраняем линк в цепочке (команда rect указывает на следующую команду)
|
||||
|
||||
// односимвольная система
|
||||
j disabled_lower_kanji // перепрыгиваем линковку нижнего полусимвола
|
||||
lw v0, 0x10(sp) // сразу грузим адрес цепочки cpoutovram1 для сохранения в print_params
|
||||
|
||||
|
||||
enabled_lower_kanji:
|
||||
// Второй полусимвол - код оставлен, чтобы понимать принцип линковки
|
||||
// зачем-то сначала адрес следующей команды превращается в xxFFFFFF,
|
||||
// скорее всего это маркер конца цепочки текста
|
||||
lw a0, 0x14(sp) // в a0 грузим адрес второго полусимвола (который хранился в *sp+14)
|
||||
lw v1, 0x10(sp) // грузим адрес первого полусимвола
|
||||
lw v0, 0x0(a0) // v0 = *a0, грузим команду с маской (0d000000) вместо адреса
|
||||
lw v1, 0x0(v1) // v1 = *v1, Разыменовываем адрес первого полусимвола (0dffffff)
|
||||
and v0, t2 // в v0 - длина команды cpoutovram2 (&ff000000)
|
||||
and v1, s0 // &00ffffff у адреса первого полусимвола (режем префикс)
|
||||
or v0, v1 // получаем длину команды cpoutovram2 с &00ffffff (0dffffff)
|
||||
sw v0, 0x0(a0) // сохраняем длину команды cpoutovram2 в цепочку
|
||||
|
||||
lw a0, 0x10(sp) // грузим адрес первого полусимвола
|
||||
lw v1, 0x14(sp) // v1 - адрес второго полусимвола
|
||||
lw v0, 0x0(a0) // v0 = *a0 Разыменовываем адрес первого полусимвола
|
||||
and v1, s0 // &00ffffff у адреса второго полусимвола (режем префикс)
|
||||
and v0, t2 // в v0 - длина команды cpoutovram1. чистим (&ff000000)
|
||||
or v0, v1 // СОЗДАЁТСЯ ЛИНК команды cpoutovram1 и cpoutovram2 (0d+nextCommandAddr)
|
||||
sw v0, 0x0(a0) // сохраняем линк в цепочке (команда cpoutovram1 указывает на следующую команду)
|
||||
|
||||
lw v0, 0x14(sp) // v0 - адрес второго полусимвола
|
||||
|
||||
disabled_lower_kanji:
|
||||
addiu s2, 0x1 // Увеличение счетчика страниц
|
||||
sw v0, 0x18(t1) // Обновление связи в print_params (она указывает на адрес последней команды символа в этой странице)
|
||||
|
||||
sltiu v0, s2, 0x2 // Проверка счётчика текущей страницы
|
||||
bnez v0, PageLoop // Если < 2, то формируем символ ещё раз в новую страницу.
|
||||
addiu t1, t1,0x4 // смещаем базовый адрес text_params для следующей страницы
|
||||
|
||||
// Обновление индекса и проверка конца чтения
|
||||
SpaceCharJumpHere:
|
||||
lhu v0, 0x4(s4) // Грузим счётчик символов в print_params
|
||||
nop
|
||||
addiu v0, v0, 0x1 // Инкремент счётчика
|
||||
|
||||
//Моя проверка переменных
|
||||
lui t3, MyAddr
|
||||
lhu v1, -0x10(t3) // грузим количество символов
|
||||
lbu r4, 0x0(s6) // Читаем следующую букву
|
||||
addiu s6, s6, 0x1 // Смещаем позицию чтения
|
||||
sh v0, 0x4(s4) // Сохраняем счётчик сформированных символов в строке в print_params
|
||||
|
||||
bne v0, v1, NextChar // Сравниваем переменные - моё общее кол-во символов и счётчик символов из print_params. Завершаемся, если количество сошлось.
|
||||
nop
|
||||
|
||||
//Старый код с иероглифами
|
||||
// lhu a0, 0x0(s6) // Загрузка следующего символа
|
||||
// nop
|
||||
// sltiu v0, a0, 0x1000 // Проверка на конец текста
|
||||
//addiu s6, s6, 0x2 // Старый код - следующий символ
|
||||
|
||||
|
||||
// Закрытие отрисовки текста
|
||||
TextEnd:
|
||||
clear s2 // Очистка счётчика текстурных страниц s2
|
||||
lui s3, 0x8008 // s3 = 80080000
|
||||
addiu s5, s3, -0x6C20 // s5 = 800793e0 - nextFreeChain
|
||||
lui s1, 0xFF
|
||||
ori s1, s1, 0xFFFF // s1 = 00ffffff
|
||||
move s0, s4 // s0 = print_params
|
||||
clear a1 // Очистка a1
|
||||
|
||||
// Цикл установки текстурных страниц
|
||||
PageTLoop:
|
||||
li a2, 0x1 // Длина команды текстурных страниц. Читается в SetDrawTPage
|
||||
addu s2, a2 // Обновление счетчика s += a2
|
||||
lui v0, 0x8000 // Префикс адресации v0 = 80000000
|
||||
lui a0, 0xFF00 // Маска адреса a0 = ff000000
|
||||
|
||||
//Расчищаем команду под установку текстурной страницы
|
||||
lw v1, -0x6C20(s3) // v1 = nextFreeDma
|
||||
lw a3, 0xA0(gp) // Загрузка a3 = 34 (текстурная страница). Читается в SetDrawTPage
|
||||
and v1, s1 // Очистка префикса nextFreeDma
|
||||
or v1, v0 // превращаем nextFreeDma в адрес (80000000 || nextFreeDma)
|
||||
sw v1, 0x30(s0) // Сохранение адреса пустой команды для drawtpage в print_params
|
||||
|
||||
lw v0, -0x6C20(s3) // Ещё раз v0 = nextFreeDma
|
||||
lw v1, 0x0(v1) // Разыменовывание v1 = *v1. Получаем содержимое адреса след. свободной цепочки.
|
||||
and v0, a0 // оставляем префикс от nextFreeDma (99,999% это будет ff)
|
||||
and v1, s1 // Чиcтка адреса в цепочке от префикса
|
||||
lw a0, 0x4(s5) // Грузим DMA-счетчик
|
||||
or v0, v0, v1 // Объединение префикса со след пустым адресом
|
||||
sw v0, -0x6C20(s3) // Сохранение nextFreeDma
|
||||
addiu a0, a0, -1 // Декремент счетчика
|
||||
sw a0, 0x4(s5) // Сохранение счетчика свободных команд
|
||||
|
||||
lw a0, 0x30(s0) // Загрузка адреса пустой команды для drawtpage из print_params
|
||||
jal SetDrawTPage // Установка DrawTPage (текстурной страницы)
|
||||
addiu s0, s0, 0x4 // Смещение в print_params для следующей страницы
|
||||
|
||||
sltiu v0, s2, 0x2 // Проверка на завершение 2 страниц
|
||||
bne v0, zero, PageTLoop // Если не закончили, продолжаем
|
||||
clear a1 // Очистка a1
|
||||
|
||||
// Восстановление регистров и возврат
|
||||
ReturnFromFunction:
|
||||
move v0, s4 // Возвращаем DMA адрес
|
||||
lw ra, 0x4C(sp) // Восстановление return address
|
||||
lw s8, 0x48(sp) // Восстановление s8
|
||||
lw s7, 0x44(sp) // Восстановление s7
|
||||
lw s6, 0x40(sp) // Восстановление s6
|
||||
lw s5, 0x3C(sp) // Восстановление s5
|
||||
lw s4, 0x38(sp) // Восстановление s4
|
||||
lw s3, 0x34(sp) // Восстановление s3
|
||||
lw s2, 0x30(sp) // Восстановление s2
|
||||
lw s1, 0x2C(sp) // Восстановление s1
|
||||
lw s0, 0x28(sp) // Восстановление s0
|
||||
|
||||
jr ra // Возврат из функции
|
||||
addiu sp, sp, 0x50 // Восстановление стека
|
||||
|
||||
|
||||
.include "3_CD_EXTRA/cd_extra_charload.asm"
|
||||
.include "1_IS/charCalcs.asm"
|
||||
|
||||
.close
|
||||
.include "3_CD_EXTRA/cd_extra_txtpatches.asm" //misc text patches
|
||||
|
||||
|
||||
// COMPILE COMMAND: ./armips -sym 3_CD_EXTRA/BUILD_LOGS/SLPS_028.26.map -temp 3_CD_EXTRA/BUILD_LOGS/SLPS_028.26.map 3_CD_EXTRA/cd_extra_main.asm
|
||||
408
3_CD_EXTRA/cd_extra_main_small_source.asm
Normal file
408
3_CD_EXTRA/cd_extra_main_small_source.asm
Normal file
@@ -0,0 +1,408 @@
|
||||
smallCharLine:
|
||||
addiu sp, sp, -0x50
|
||||
sw s7, 0x44(sp)
|
||||
move s7, a0 ; s7 = text_ptr
|
||||
sw s0, 0x28(sp)
|
||||
move s0, a1 ; s0 = X
|
||||
sw s2, 0x30(sp)
|
||||
move s2, a2 ; s2 = Y
|
||||
sw s8, 0x48(sp)
|
||||
move s8, s0 ; s8 = X (copy)
|
||||
lui t0, 0xFF
|
||||
ori t0, t0, 0xFFFF
|
||||
sw s1, 0x2C(sp)
|
||||
andi s1, a3, 0xFF ; s1 = color
|
||||
move a0, s1
|
||||
sw s5, 0x3C(sp)
|
||||
lui s5, 0x8008
|
||||
lui a2, 0xFF00
|
||||
lui v0, 0x8000
|
||||
move t5, s5
|
||||
lw v1, -0x6C20(s5) ; TextDMANexChainAddr
|
||||
lw a3, 0x60(sp)
|
||||
addiu t5, t5, -0x6C20
|
||||
sw ra, 0x4C(sp)
|
||||
sw s6, 0x40(sp)
|
||||
sw s4, 0x38(sp)
|
||||
sw s3, 0x34(sp)
|
||||
|
||||
; === DMA INITIALIZATION ===
|
||||
and a2, v1, a2
|
||||
andi a1, a3, 0xFF
|
||||
and v1, v1, t0
|
||||
or s4, v1, v0 ; s4 = DMA base
|
||||
andi a3, a3, 0x10
|
||||
sltu a3, zero, a3
|
||||
lw v0, 0x4(t5) ; TextDMACounter
|
||||
lw v1, 0x0(s4)
|
||||
addiu v0, v0, -1
|
||||
and v1, v1, t0
|
||||
or a2, a2, v1
|
||||
sw v0, 0x4(t5)
|
||||
sw a2, -0x6C20(s5)
|
||||
jal FUN_8001adc8
|
||||
sw a3, 0x18(sp)
|
||||
|
||||
; === CHARACTER SETUP ===
|
||||
move a0, s4
|
||||
sll s0, s0, 0x10
|
||||
sra a1, s0, 0x10
|
||||
sll s2, s2, 0x10
|
||||
sra s0, s2, 0x10
|
||||
move a2, s0
|
||||
jal FUN_80019d70
|
||||
move a3, s1
|
||||
|
||||
; === GPU REGISTER SETUP ===
|
||||
lui a1, 0x1F80
|
||||
ori a1, a1, 0x0348
|
||||
li v0, 0x2
|
||||
li a3, 0xC
|
||||
sh v0, 0x14(sp)
|
||||
li v0, 0x10
|
||||
sh a3, 0x16(sp)
|
||||
sb v0, 0x3(a1)
|
||||
lui v0, 0xA000
|
||||
sw v0, 0x4(a1)
|
||||
lhu v1, 0x9C(gp) ; DAT_80078f40
|
||||
lhu a0, 0x9E(gp) ; DAT_80078f42
|
||||
lui v0, 0x100
|
||||
lui at, 0x1F80
|
||||
sw v0, 0x388(at)
|
||||
lw v0, 0x14(sp)
|
||||
lui s3, 0x1F80
|
||||
sh v1, 0x10(sp)
|
||||
sh a0, 0x12(sp)
|
||||
lw v1, 0x10(sp)
|
||||
lh a0, 0x9C(gp)
|
||||
ori s3, s3, 0x3D0
|
||||
sw v0, 0xC(a1)
|
||||
lui v0, 0x8001
|
||||
move a2, a0
|
||||
sw v1, 0x8(a1)
|
||||
|
||||
; === PATTERN SETUP ===
|
||||
lui t5, 0x1F80
|
||||
ori t5, t5, 0x2E0
|
||||
addiu t8, v0, 0x3E8
|
||||
lwl t6, 0x3(t8)
|
||||
lwr t6, 0x0(t8)
|
||||
lwl t7, 0x7(t8)
|
||||
lwr t7, 0x4(t8)
|
||||
swl t6, 0x3(t5)
|
||||
swr t6, 0x0(t5)
|
||||
swl t7, 0x7(t5)
|
||||
swr t7, 0x4(t5)
|
||||
lwl t6, 0xB(t8)
|
||||
lwr t6, 0x8(t8)
|
||||
lwl t7, 0xF(t8)
|
||||
lwr t7, 0xC(t8)
|
||||
swl t6, 0xB(t5)
|
||||
swr t6, 0x8(t5)
|
||||
swl t7, 0xF(t5)
|
||||
swr t7, 0xC(t5)
|
||||
lwl t6, 0x13(t8)
|
||||
lwr t6, 0x10(t8)
|
||||
lwl t7, 0x17(t8)
|
||||
lwr t7, 0x14(t8)
|
||||
swl t6, 0x13(t5)
|
||||
swr t6, 0x10(t5)
|
||||
swl t7, 0x17(t5)
|
||||
swr t7, 0x14(t5)
|
||||
lwl t6, 0x1B(t8)
|
||||
lwr t6, 0x18(t8)
|
||||
lwl t7, 0x1F(t8)
|
||||
lwr t7, 0x1C(t8)
|
||||
swl t6, 0x1B(t5)
|
||||
swr t6, 0x18(t5)
|
||||
swl t7, 0x1F(t5)
|
||||
swr t7, 0x1C(t5)
|
||||
|
||||
; === SPRITE COMMAND SETUP ===
|
||||
li v0, 0x4
|
||||
sb v0, 0x3(s3)
|
||||
li v0, 0x64
|
||||
sb v0, 0x7(s3)
|
||||
li v0, 0x80
|
||||
sb v0, 0x4(s3)
|
||||
sb v0, 0x5(s3)
|
||||
bgez a0, calc_x_offset
|
||||
sb v0, 0x6(s3)
|
||||
addiu a2, a0, 0x3F
|
||||
|
||||
calc_x_offset:
|
||||
sra v0, a2, 0x6
|
||||
sll v0, v0, 0x6
|
||||
subu v0, a0, v0
|
||||
lh v1, 0x9E(gp)
|
||||
sll v0, v0, 0x2
|
||||
sb v0, 0xC(s3)
|
||||
bgez v1, calc_y_offset
|
||||
move v0, v1
|
||||
addiu v0, v1, 0xFF
|
||||
|
||||
calc_y_offset:
|
||||
sra v0, v0, 0x8
|
||||
sll v0, v0, 0x8
|
||||
subu v0, v1, v0
|
||||
sb v0, 0xD(s3)
|
||||
lhu v1, 0xA4(gp) ; DAT_80078f48
|
||||
li v0, 0x8
|
||||
sh v0, 0x10(s3)
|
||||
sh a3, 0x12(s3)
|
||||
sh v1, 0xE(s3)
|
||||
|
||||
; === MAIN TEXT LOOP ===
|
||||
lbu a1, 0x0(s7)
|
||||
beq a1, zero, finish
|
||||
addiu s7, s7, 0x1
|
||||
move s6, s5
|
||||
lui s5, 0x8008
|
||||
addiu s5, s5, -0x6C20
|
||||
sw s0, 0x1C(sp)
|
||||
lui s0, 0xFF
|
||||
ori s0, s0, 0xFFFF
|
||||
sw s2, 0x20(sp)
|
||||
|
||||
text_loop:
|
||||
addiu v1, a1, -0x67
|
||||
sltiu v0, v1, 0x13
|
||||
beq v0, zero, switch_default
|
||||
sll v0, v1, 0x2
|
||||
lui t6, 0x8001
|
||||
addiu t6, t6, 0x4A0
|
||||
addu v0, v0, t6
|
||||
lw v0, 0x0(v0)
|
||||
jr v0
|
||||
|
||||
switch_cases:
|
||||
lw t7, 0x1C(sp)
|
||||
j after_switch
|
||||
addiu s2, t7, 0x2
|
||||
|
||||
switch_default:
|
||||
lw t8, 0x20(sp)
|
||||
sra s2, t8, 0x10
|
||||
|
||||
after_switch:
|
||||
lw t5, 0x18(sp)
|
||||
beq t5, zero, normal_pos
|
||||
addiu a1, a1, -0x20
|
||||
lui v0, 0x8001
|
||||
addiu v0, v0, 0x43C
|
||||
addu v0, a1, v0
|
||||
lui v1, 0x8001
|
||||
lbu v0, 0x0(v0)
|
||||
addiu v1, v1, 0x428
|
||||
sll v0, v0, 0x1
|
||||
addu v0, v0, v1
|
||||
lbu v1, 0x0(v0)
|
||||
lbu v0, 0x1(v0)
|
||||
subu v1, s8, v1
|
||||
sll a0, v1, 0x10
|
||||
sra s1, a0, 0x10
|
||||
j pos_calculated
|
||||
addu s8, v0, v1
|
||||
|
||||
normal_pos:
|
||||
sll v1, s8, 0x10
|
||||
lhu v0, 0x4(s4)
|
||||
sra v1, v1, 0x10
|
||||
sll v0, v0, 0x3
|
||||
addu s1, v1, v0
|
||||
|
||||
pos_calculated:
|
||||
jal FUN_80019f84
|
||||
move a0, a1
|
||||
lui t4, 0x8000
|
||||
lui t2, 0xFF00
|
||||
move t1, s4
|
||||
lui t3, 0x1F80
|
||||
ori t3, t3, 0x388
|
||||
move t0, s4
|
||||
sh s1, 0x8(s3)
|
||||
sh s2, 0xA(s3)
|
||||
|
||||
; === DMA CHAIN PROCESSING ===
|
||||
dma_loop:
|
||||
lw v0, -0x6C20(s6)
|
||||
and a0, v0, t2
|
||||
and v0, v0, s0
|
||||
or a1, v0, t4
|
||||
lw v0, 0x4(s5)
|
||||
lw v1, 0x0(a1)
|
||||
addiu v0, v0, -1
|
||||
and v1, v1, s0
|
||||
or a0, a0, v1
|
||||
sw v0, 0x4(s5)
|
||||
sw a0, -0x6C20(s6)
|
||||
lw t6, 0x0(s3)
|
||||
lw t7, 0x4(s3)
|
||||
lw t8, 0x8(s3)
|
||||
lw t5, 0xC(s3)
|
||||
sw t6, 0x0(a1)
|
||||
sw t7, 0x4(a1)
|
||||
sw t8, 0x8(a1)
|
||||
sw t5, 0xC(a1)
|
||||
lw t6, 0x10(s3)
|
||||
sw t6, 0x10(a1)
|
||||
lw v1, 0x18(t0)
|
||||
lw v0, 0x0(a1)
|
||||
lw v1, 0x0(v1)
|
||||
and v0, v0, t2
|
||||
and v1, v1, s0
|
||||
or v0, v0, v1
|
||||
sw v0, 0x0(a1)
|
||||
lw a0, 0x18(t0)
|
||||
lw v0, 0x0(a0)
|
||||
and v1, a1, s0
|
||||
and v0, v0, t2
|
||||
or v0, v0, v1
|
||||
sw v0, 0x0(a0)
|
||||
sw a1, 0x18(t0)
|
||||
lhu v0, 0x4(t1)
|
||||
beq v0, zero, is_first
|
||||
nop
|
||||
j not_first
|
||||
nop
|
||||
|
||||
is_first:
|
||||
sw a1, 0x28(t0)
|
||||
sh s1, 0xC(t1)
|
||||
sh s2, 0xE(t1)
|
||||
|
||||
not_first:
|
||||
lui a1, 0x1F80
|
||||
ori a1, a1, 0x348
|
||||
lw v0, -0x6C20(s6)
|
||||
and a0, v0, t2
|
||||
and v0, v0, s0
|
||||
or a3, v0, t4
|
||||
move a2, a3
|
||||
lw v0, 0x4(s5)
|
||||
lw v1, 0x0(a3)
|
||||
addiu v0, v0, -1
|
||||
and v1, v1, s0
|
||||
or a0, a0, v1
|
||||
sw v0, 0x4(s5)
|
||||
andi v0, a3, 0x3
|
||||
beq v0, zero, aligned_copy
|
||||
sw a0, -0x6C20(s6)
|
||||
|
||||
unaligned_copy:
|
||||
lwl t6, 0x3(a1)
|
||||
lwr t6, 0x0(a1)
|
||||
lwl t7, 0x7(a1)
|
||||
lwr t7, 0x4(a1)
|
||||
lwl t8, 0xB(a1)
|
||||
lwr t8, 0x8(a1)
|
||||
lwl t5, 0xF(a1)
|
||||
lwr t5, 0xC(a1)
|
||||
swl t6, 0x3(a2)
|
||||
swr t6, 0x0(a2)
|
||||
swl t7, 0x7(a2)
|
||||
swr t7, 0x4(a2)
|
||||
swl t8, 0xB(a2)
|
||||
swr t8, 0x8(a2)
|
||||
swl t5, 0xF(a2)
|
||||
swr t5, 0xC(a2)
|
||||
addiu a1, a1, 0x10
|
||||
bne a1, t3, unaligned_copy
|
||||
addiu a2, a2, 0x10
|
||||
j copy_done
|
||||
nop
|
||||
|
||||
aligned_copy:
|
||||
lw t6, 0x0(a1)
|
||||
lw t7, 0x4(a1)
|
||||
lw t8, 0x8(a1)
|
||||
lw t5, 0xC(a1)
|
||||
sw t6, 0x0(a2)
|
||||
sw t7, 0x4(a2)
|
||||
sw t8, 0x8(a2)
|
||||
sw t5, 0xC(a2)
|
||||
addiu a1, a1, 0x10
|
||||
bne a1, t3, aligned_copy
|
||||
addiu a2, a2, 0x10
|
||||
|
||||
copy_done:
|
||||
lwl t6, 0x3(a1)
|
||||
lwr t6, 0x0(a1)
|
||||
swl t6, 0x3(a2)
|
||||
swr t6, 0x0(a2)
|
||||
lw v1, 0x18(t0)
|
||||
lw v0, 0x0(a3)
|
||||
lw v1, 0x0(v1)
|
||||
and v0, v0, t2
|
||||
and v1, v1, s0
|
||||
or v0, v0, v1
|
||||
sw v0, 0x0(a3)
|
||||
lw a0, 0x18(t0)
|
||||
lw v0, 0x0(a0)
|
||||
and v1, a3, s0
|
||||
and v0, v0, t2
|
||||
or v0, v0, v1
|
||||
sw v0, 0x0(a0)
|
||||
sw a3, 0x18(t0)
|
||||
addiu t0, t0, 0x4
|
||||
addiu v0, t1, 0x8
|
||||
sltu v0, t0, v0
|
||||
bne v0, zero, dma_loop
|
||||
nop
|
||||
|
||||
lhu v0, 0x4(s4)
|
||||
addiu v0, v0, 0x1
|
||||
sh v0, 0x4(s4)
|
||||
lbu a1, 0x0(s7)
|
||||
bne a1, zero, text_loop
|
||||
addiu s7, s7, 0x1
|
||||
|
||||
; === CLEANUP ===
|
||||
finish:
|
||||
clear s2
|
||||
lui s3, 0x8008
|
||||
addiu s5, s3, -0x6C20
|
||||
lui s1, 0xFF
|
||||
ori s1, s1, 0xFFFF
|
||||
move s0, s4
|
||||
clear a1
|
||||
|
||||
cleanup_loop:
|
||||
li a2, 0x1
|
||||
addu s2, s2, a2
|
||||
lui v0, 0x8000
|
||||
lui a0, 0xFF00
|
||||
lw v1, -0x6C20(s3)
|
||||
lw a3, 0xA0(gp)
|
||||
and v1, v1, s1
|
||||
or v1, v1, v0
|
||||
sw v1, 0x30(s0)
|
||||
lw v0, -0x6C20(s3)
|
||||
lw v1, 0x0(v1)
|
||||
and v0, v0, a0
|
||||
and v1, v1, s1
|
||||
lw a0, 0x4(s5)
|
||||
or v0, v0, v1
|
||||
sw v0, -0x6C20(s3)
|
||||
addiu a0, a0, -1
|
||||
sw a0, 0x4(s5)
|
||||
lw a0, 0x30(s0)
|
||||
jal SetDrawTPage
|
||||
addiu s0, s0, 0x4
|
||||
sltiu v0, s2, 0x2
|
||||
bne v0, zero, cleanup_loop
|
||||
clear a1
|
||||
|
||||
move v0, s4
|
||||
lw ra, 0x4C(sp)
|
||||
lw s8, 0x48(sp)
|
||||
lw s7, 0x44(sp)
|
||||
lw s6, 0x40(sp)
|
||||
lw s5, 0x3C(sp)
|
||||
lw s4, 0x38(sp)
|
||||
lw s3, 0x34(sp)
|
||||
lw s2, 0x30(sp)
|
||||
lw s1, 0x2C(sp)
|
||||
lw s0, 0x28(sp)
|
||||
jr ra
|
||||
addiu sp, sp, 0x50
|
||||
453
3_CD_EXTRA/cd_extra_main_source.asm
Normal file
453
3_CD_EXTRA/cd_extra_main_source.asm
Normal file
@@ -0,0 +1,453 @@
|
||||
DrawCharLine_19000:
|
||||
addiu sp, sp, -0x50
|
||||
sw s6, 0x40(sp)
|
||||
move s6, a0
|
||||
sw s1, 0x2c(sp)
|
||||
move s1, a1
|
||||
sw s2, 0x30(sp)
|
||||
move s2, a2
|
||||
sw s3, 0x34(sp)
|
||||
|
||||
lui s3, 0x1f80
|
||||
ori s3, s3, 0x3d0
|
||||
|
||||
lui t0, 0xff
|
||||
ori t0, t0, 0xffff
|
||||
sw s0, 0x28(sp)
|
||||
andi s0, a3, 0xff
|
||||
move a0, s0
|
||||
|
||||
InitDMA:
|
||||
lui a3, 0x8008
|
||||
lui a2, 0xff00
|
||||
addiu t1, a3, -0x6c20
|
||||
lw v1, -0x6c20(a3)
|
||||
lbu a1, 0x60(sp)
|
||||
lui v0, 0x8000
|
||||
|
||||
sw ra, 0x4c(sp)
|
||||
sw s8, 0x48(sp)
|
||||
sw s7, 0x44(sp)
|
||||
sw s5, 0x3c(sp)
|
||||
sw s4, 0x38(sp)
|
||||
|
||||
and a2, v1, a2
|
||||
andi a1, a1, 0xff
|
||||
and v1, v1, t0
|
||||
or s4, v1, v0
|
||||
|
||||
lw v0, 0x4(t1)
|
||||
lw v1, 0x0(s4)
|
||||
addiu v0, v0, -0x1
|
||||
and v1, v1, t0
|
||||
or a2, a2, v1
|
||||
sw v0, 0x4(t1)
|
||||
|
||||
jal FUN_8001adc8
|
||||
sw a2, -0x6c20(a3)
|
||||
move a0, s4
|
||||
|
||||
sll a1, s1, 0x10
|
||||
sra a1, a1, 0x10
|
||||
sll a2, s2, 0x10
|
||||
sra a2, a2, 0x10
|
||||
jal FUN_80019d70
|
||||
move a3, s0
|
||||
|
||||
; Настройка GPU регистров
|
||||
SetupGPURegisters:
|
||||
lui a3, 0x1f80
|
||||
ori a3, a3, 0x348
|
||||
lui a2, 0x1f80
|
||||
ori a2, a2, 0x38c
|
||||
|
||||
li v0, 0x3
|
||||
sh v0, 0x1c(sp)
|
||||
li v0, 0x6
|
||||
li a1, 0xd
|
||||
lui a0, 0xa000
|
||||
|
||||
; GPU init in scratch
|
||||
ScratchCPUtoVRAMinit:
|
||||
sh v0, 0x1e(sp)
|
||||
sb a1, 0x3(a3)
|
||||
sw a0, 0x4(a3)
|
||||
|
||||
lhu t0, 0x9c(gp)
|
||||
lhu v0, 0x9e(gp)
|
||||
lui v1, 0x100
|
||||
|
||||
lui at, 0x1f80
|
||||
sw v1, 0x37c(at)
|
||||
|
||||
sb a1, 0x3(a2)
|
||||
sw a0, 0x4(a2)
|
||||
|
||||
calculateCoords:
|
||||
lh a1, 0x9c(gp)
|
||||
move s8, s2
|
||||
lui at, 0x1f80
|
||||
sw v1, 0x3c0(at)
|
||||
|
||||
sh t0, 0x18(sp)
|
||||
sh v0, 0x1a(sp)
|
||||
lw a0, 0x18(sp)
|
||||
addiu v0, v0, 0x6
|
||||
sh v0, 0x1a(sp)
|
||||
|
||||
lw v0, 0x1c(sp)
|
||||
lw v1, 0x18(sp)
|
||||
move t0, a1
|
||||
sw v0, 0xc(a3)
|
||||
sw v0, 0xc(a2)
|
||||
|
||||
lui v0, 0x8001
|
||||
sw a0, 0x8(a3)
|
||||
sw v1, 0x8(a2)
|
||||
|
||||
|
||||
;4bit pattern in scratch
|
||||
lui t8, 0x1f80
|
||||
ori t8, t8, 0x2e0
|
||||
addiu t7, v0, 0x3e8
|
||||
lwl t5, 0x3(t7)
|
||||
lwr t5, 0x0(t7)
|
||||
lwl t6, 0x7(t7)
|
||||
lwr t6, 0x4(t7)
|
||||
swl t5, 0x3(t8)
|
||||
swr t5, 0x0(t8)
|
||||
swl t6, 0x7(t8)
|
||||
swr t6, 0x4(t8)
|
||||
lwl t5, 0xb(t7)
|
||||
lwr t5, 0x8(t7)
|
||||
lwl t6, 0xf(t7)
|
||||
lwr t6, 0xc(t7)
|
||||
swl t5, 0xb(t8)
|
||||
swr t5, 0x8(t8)
|
||||
swl t6, 0xf(t8)
|
||||
swr t6, 0xc(t8)
|
||||
lwl t5, 0x13(t7)
|
||||
lwr t5, 0x10(t7)
|
||||
lwl t6, 0x17(t7)
|
||||
lwr t6, 0x14(t7)
|
||||
swl t5, 0x13(t8)
|
||||
swr t5, 0x10(t8)
|
||||
swl t6, 0x17(t8)
|
||||
swr t6, 0x14(t8)
|
||||
lwl t5, 0x1b(t7)
|
||||
lwr t5, 0x18(t7)
|
||||
lwl t6, 0x1f(t7)
|
||||
lwr t6, 0x1c(t7)
|
||||
swl t5, 0x1b(t8)
|
||||
swr t5, 0x18(t8)
|
||||
swl t6, 0x1f(t8)
|
||||
swr t6, 0x1c(t8)
|
||||
|
||||
; Copy Sprite DMA Command Forming
|
||||
li v0, 0x4
|
||||
sb v0, 0x3(s3)
|
||||
li v0, 0x64
|
||||
sb v0, 0x7(s3)
|
||||
li v0, 0x80
|
||||
sb v0, 0x4(s3)
|
||||
sb v0, 0x5(s3)
|
||||
sb v0, 0x6(s3)
|
||||
|
||||
bgez a1, LAB_800191fc
|
||||
sh s1, 0x20(sp)
|
||||
|
||||
AddOffsetX:
|
||||
addiu t0, a1, 0x3f
|
||||
|
||||
LAB_800191fc:
|
||||
sra v0, t0, 0x6
|
||||
sll v0, v0, 0x6
|
||||
subu v0, a1, v0
|
||||
lh v1, 0x9e(gp)
|
||||
sll v0, v0, 0x2
|
||||
sb v0, 0xc(s3)
|
||||
|
||||
bgez v1, LAB_80019220
|
||||
move v0, v1
|
||||
|
||||
AddOffsetY:
|
||||
addiu v0, v1, 0xff
|
||||
|
||||
LAB_80019220:
|
||||
sra v0, v0, 0x8
|
||||
sll v0, v0, 0x8
|
||||
subu v0, v1, v0
|
||||
sb v0, 0xd(s3)
|
||||
|
||||
lhu v1, 0xa4(gp)
|
||||
li v0, 0xc
|
||||
sh v0, 0x10(s3)
|
||||
sh v0, 0x12(s3)
|
||||
sh v1, 0xe(s3)
|
||||
|
||||
LoadCharacter:
|
||||
lhu a0, 0x0(s6)
|
||||
nop
|
||||
sltiu v0, a0, 0x1000
|
||||
beq v0, zero, LAB_80019518
|
||||
addiu s6, s6, 0x2
|
||||
|
||||
; Подготовка к отрисовке символа
|
||||
lui s1, 0x8008
|
||||
addiu s5, s1, -0x6c20
|
||||
lui s0, 0xff
|
||||
ori s0, s0, 0xffff
|
||||
lui s7, 0x8000
|
||||
|
||||
LAB_8001926c:
|
||||
jal MakeCharInScratch
|
||||
clear s2
|
||||
|
||||
; Настройка DMA для символа
|
||||
SetupDMAForChar:
|
||||
lw v0, 0xac(gp)
|
||||
lhu v1, 0x4(s4)
|
||||
addiu v0, v0, 0xc
|
||||
mult v1, v0
|
||||
lui t2, 0xff00
|
||||
move t4, s4
|
||||
addiu t3, sp, 0x10
|
||||
move t1, s4
|
||||
|
||||
sh s8, 0xa(s3)
|
||||
lhu t5, 0x20(sp)
|
||||
mflo t6
|
||||
addu v0, t5, t6
|
||||
sh v0, 0x8(s3)
|
||||
|
||||
LAB_800192a8:
|
||||
lw v0, -0x6c20(s1)
|
||||
nop
|
||||
and a0, v0, t2
|
||||
and v0, v0, s0
|
||||
or a1, v0, s7
|
||||
lw v0, 0x4(s5)
|
||||
lw v1, 0x0(a1)
|
||||
addiu v0, v0, -0x1
|
||||
and v1, v1, s0
|
||||
or a0, a0, v1
|
||||
sw v0, 0x4(s5)
|
||||
sw a0, -0x6c20(s1)
|
||||
|
||||
|
||||
lw t7, 0x0(s3)
|
||||
lw t8, 0x4(s3)
|
||||
lw t5, 0x8(s3)
|
||||
lw t6, 0xc(s3)
|
||||
|
||||
sw t7, 0x0(a1)
|
||||
sw t8, 0x4(a1)
|
||||
sw t5, 0x8(a1)
|
||||
sw t6, 0xc(a1)
|
||||
|
||||
lw t7, 0x10(s3)
|
||||
nop
|
||||
sw t7, 0x10(a1)
|
||||
|
||||
; Подготовка адресов в DMA-цепочке в RAM
|
||||
DMAcharAddres:
|
||||
lw v1, 0x18(t1)
|
||||
lw v0, 0x0(a1)
|
||||
lw v1, 0x0(v1)
|
||||
and v0, v0, t2
|
||||
and v1, v1, s0
|
||||
or v0, v0, v1
|
||||
sw v0, 0x0(a1)
|
||||
|
||||
lw a0, 0x18(t1)
|
||||
nop
|
||||
lw v0, 0x0(a0)
|
||||
and v1, a1, s0
|
||||
and v0, v0, t2
|
||||
or v0, v0, v1
|
||||
sw v0, 0x0(a0)
|
||||
sw a1, 0x18(t1)
|
||||
|
||||
|
||||
lhu v0, 0x4(t4)
|
||||
nop
|
||||
bne v0, zero, LAB_80019354
|
||||
clear t0
|
||||
|
||||
sw a1, 0x28(t1)
|
||||
|
||||
LAB_80019354:
|
||||
move a3, t0
|
||||
move a2, t3
|
||||
|
||||
LAB_8001935c:
|
||||
lui a1, 0x1f80
|
||||
lw v0, -0x6c20(s1)
|
||||
ori a1, a1, 0x348
|
||||
and v0, v0, s0
|
||||
or v0, v0, s7
|
||||
sw v0, 0x0(a2)
|
||||
lw v1, -0x6c20(s1)
|
||||
lw v0, 0x0(v0)
|
||||
lw a0, 0x4(s5)
|
||||
and v1, v1, t2
|
||||
and v0, v0, s0
|
||||
or v1, v1, v0
|
||||
addiu a0, a0, -0x1
|
||||
sw v1, -0x6c20(s1)
|
||||
sw a0, 0x4(s5)
|
||||
lw a0, 0x0(a2)
|
||||
addu v1, a3, a1
|
||||
or v0, v1, a0
|
||||
andi v0, v0, 0x3
|
||||
beq v0, zero, LAB_80019404
|
||||
addiu v0, v1, 0x30
|
||||
|
||||
LAB_800193b0:
|
||||
lwl t7, 0x3(v1)
|
||||
lwr t7, 0x0(v1)
|
||||
lwl t8, 0x7(v1)
|
||||
lwr t8, 0x4(v1)
|
||||
lwl t5, 0xb(v1)
|
||||
lwr t5, 0x8(v1)
|
||||
lwl t6, 0xf(v1)
|
||||
lwr t6, 0xc(v1)
|
||||
swl t7, 0x3(a0)
|
||||
swr t7, 0x0(a0)
|
||||
swl t8, 0x7(a0)
|
||||
swr t8, 0x4(a0)
|
||||
swl t5, 0xb(a0)
|
||||
swr t5, 0x8(a0)
|
||||
swl t6, 0xf(a0)
|
||||
swr t6, 0xc(a0)
|
||||
addiu v1, v1, 0x10
|
||||
bne v1, v0, LAB_800193b0
|
||||
addiu a0, a0, 0x10
|
||||
j LAB_80019430
|
||||
nop
|
||||
|
||||
LAB_80019404:
|
||||
lw t7, 0x0(v1)
|
||||
lw t8, 0x4(v1)
|
||||
lw t5, 0x8(v1)
|
||||
lw t6, 0xc(v1)
|
||||
sw t7, 0x0(a0)
|
||||
sw t8, 0x4(a0)
|
||||
sw t5, 0x8(a0)
|
||||
sw t6, 0xc(a0)
|
||||
addiu v1, v1, 0x10
|
||||
bne v1, v0, LAB_80019404
|
||||
addiu a0, a0, 0x10
|
||||
|
||||
LAB_80019430:
|
||||
lwl t7, 0x3(v1)
|
||||
lwr t7, 0x0(v1)
|
||||
lwl t8, 0x7(v1)
|
||||
lwr t8, 0x4(v1)
|
||||
swl t7, 0x3(a0)
|
||||
swr t7, 0x0(a0)
|
||||
swl t8, 0x7(a0)
|
||||
swr t8, 0x4(a0)
|
||||
addiu a3, a3, 0x44
|
||||
addiu t0, t0, 0x1
|
||||
sltiu v0, t0, 0x2
|
||||
bne v0, zero, LAB_8001935c
|
||||
addiu a2, a2, 0x4
|
||||
lw a0, 0x10(sp)
|
||||
lw v1, 0x18(t1)
|
||||
lw v0, 0x0(a0)
|
||||
lw v1, 0x0(v1)
|
||||
and v0, v0, t2
|
||||
and v1, v1, s0
|
||||
or v0, v0, v1
|
||||
sw v0, 0x0(a0)
|
||||
lw a0, 0x18(t1)
|
||||
lw v1, 0x10(sp)
|
||||
lw v0, 0x0(a0)
|
||||
and v1, v1, s0
|
||||
and v0, v0, t2
|
||||
or v0, v0, v1
|
||||
sw v0, 0x0(a0)
|
||||
lw a0, 0x14(sp)
|
||||
lw v1, 0x10(sp)
|
||||
lw v0, 0x0(a0)
|
||||
lw v1, 0x0(v1)
|
||||
and v0, v0, t2
|
||||
and v1, v1, s0
|
||||
or v0, v0, v1
|
||||
sw v0, 0x0(a0)
|
||||
lw a0, 0x10(sp)
|
||||
lw v1, 0x14(sp)
|
||||
lw v0, 0x0(a0)
|
||||
and v1, v1, s0
|
||||
and v0, v0, t2
|
||||
or v0, v0, v1
|
||||
sw v0, 0x0(a0)
|
||||
lw v0, 0x14(sp)
|
||||
addiu s2, s2, 0x1
|
||||
sw v0, 0x18(t1)
|
||||
sltiu v0, s2, 0x2
|
||||
bne v0, zero, LAB_800192a8
|
||||
addiu t1, t1, 0x4
|
||||
lhu v0, 0x4(s4)
|
||||
nop
|
||||
addiu v0, v0, 0x1
|
||||
sh v0, 0x4(s4)
|
||||
lhu a0, 0x0(s6)
|
||||
nop
|
||||
sltiu v0, a0, 0x1000
|
||||
bne v0, zero, LAB_8001926c
|
||||
addiu s6, s6, 0x2
|
||||
|
||||
LAB_80019518:
|
||||
clear s2
|
||||
lui s3, 0x8008
|
||||
addiu s5, s3, -0x6c20
|
||||
lui s1, 0xff
|
||||
ori s1, s1, 0xffff
|
||||
move s0, s4
|
||||
clear a1
|
||||
|
||||
LAB_80019534:
|
||||
li a2, 0x1
|
||||
addu s2, s2, a2
|
||||
lui v0, 0x8000
|
||||
lui a0, 0xff00
|
||||
lw v1, -0x6c20(s3)
|
||||
lw a3, 0xa0(gp)
|
||||
and v1, v1, s1
|
||||
or v1, v1, v0
|
||||
sw v1, 0x30(s0)
|
||||
|
||||
lw v0, -0x6c20(s3)
|
||||
lw v1, 0x0(v1)
|
||||
and v0, v0, a0
|
||||
and v1, v1, s1
|
||||
lw a0, 0x4(s5)
|
||||
or v0, v0, v1
|
||||
sw v0, -0x6c20(s3)
|
||||
addiu a0, a0, -0x1
|
||||
sw a0, 0x4(s5)
|
||||
|
||||
lw a0, 0x30(s0)
|
||||
jal SetDrawTPage
|
||||
addiu s0, s0, 0x4
|
||||
|
||||
sltiu v0, s2, 0x2
|
||||
bne v0, zero, LAB_80019534
|
||||
clear a1
|
||||
|
||||
move v0, s4
|
||||
lw ra, 0x4c(sp)
|
||||
lw s8, 0x48(sp)
|
||||
lw s7, 0x44(sp)
|
||||
lw s6, 0x40(sp)
|
||||
lw s5, 0x3c(sp)
|
||||
lw s4, 0x38(sp)
|
||||
lw s3, 0x34(sp)
|
||||
lw s2, 0x30(sp)
|
||||
lw s1, 0x2c(sp)
|
||||
lw s0, 0x28(sp)
|
||||
|
||||
jr ra
|
||||
addiu sp, sp, 0x50
|
||||
67
3_CD_EXTRA/cd_extra_txtpatches.asm
Normal file
67
3_CD_EXTRA/cd_extra_txtpatches.asm
Normal file
@@ -0,0 +1,67 @@
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;;;
|
||||
;;; Some txt Patches to JAPAN Version to print bi(u)g text smaller
|
||||
;;;
|
||||
|
||||
.open "3_CD_EXTRA/BIN/SLPS_028.26", 0x8000F800
|
||||
|
||||
;Text speed patch (0 - show all text, 2 - Normal, 1 - Button Pressed (fast) )
|
||||
.org 0x8001b5b8
|
||||
li a0, 0
|
||||
;lhu a0, 0xc0(gp) ;Original Code
|
||||
|
||||
|
||||
; Main Bigfont size between letters for special codes
|
||||
.org 0x8001927c
|
||||
addiu v0,v0,0x6
|
||||
|
||||
;calcNextX Routine (calc X in line after command)
|
||||
;.org 0x8001af38
|
||||
; sll r2,r3,2h ; Its Original - Custom in custom routine
|
||||
|
||||
;dialog start line tabulation
|
||||
;.org 0x8007b195
|
||||
; .byte 0x4 ;pixels
|
||||
.org 0x8001ca0c
|
||||
li a2, 0x4
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;Print Routines Calls Replacing
|
||||
|
||||
;main dialog calls from PrintProgramText Routine
|
||||
.org 0x8001cd58
|
||||
jal ExternalPrint
|
||||
.org 0x8001cdd8
|
||||
jal ExternalPrint
|
||||
|
||||
.org 0x8001c098
|
||||
jal ExternalPrint
|
||||
.org 0x8001c10c
|
||||
jal ExternalPrint
|
||||
|
||||
|
||||
|
||||
|
||||
;printPlaneTEXT (PlayerName, etc...)
|
||||
.org 0x8001c388
|
||||
jal ExternalPrint
|
||||
|
||||
|
||||
|
||||
;custom CheckCharNumToLineEnd for proper Complex Lines Read (charcountread)
|
||||
.org 0x8001abf4
|
||||
j ReturnCharsInString ;custom routine
|
||||
clear v1
|
||||
;j 0x8001af00 ;original code
|
||||
|
||||
;calcnextX Custom
|
||||
|
||||
.org 0x8001ac1c
|
||||
; addiu sp,sp,-0x18 ;Original Code
|
||||
; sw ra,0x10(sp)
|
||||
j calcnextXCustom ;PATCHED
|
||||
nop
|
||||
|
||||
.close
|
||||
|
||||
|
||||
Reference in New Issue
Block a user