Code: Select all
Initializing the DMAC: RELE=0 MFD=0 STS=0 STD=0 RCYC=0
DMAC Initialized.
Initilizating DMA Channel 2 - GIF
DMA Channel Initialized.
Initilizating DMA Channel 8 - fromSPR
DMA Channel Initialized.
Initilizating DMA Channel 9 - toSPR
DMA Channel Initialized.
NTSC
NTSC
CurrentPointer Before: 0x00000000
CurrentPointer After: 0x00118000
CurrentPointer Before: 0x00118000
CurrentPointer After: 0x00230000
Sending to DMA Channel 2 - GIF
Sent to DMA Channel
CurrentPointer Before: 0x00230000
CurrentPointer After: 0x00270000
Sending to DMA Channel in Chain Mode 2 - GIF
Sent to DMA Channel in Chain Mode
Sending to DMA Channel 2 - GIF
Sent to DMA Channel
Sending to DMA Channel in Chain Mode from UCAB 2 - GIF
Sent to DMA Channel in Chain Mode from UCAB
Sending to DMA Channel in Chain Mode 2 - GIF
Sent to DMA Channel in Chain Mode
Sending to DMA Channel 2 - GIF
Sent to DMA Channel
Here's the gsKit debug output. I removed the output from init code for IOP drivers and from FCEUltra internal stuff. It doesn't look that helpful.
I went through using WinMerge on the disassembly output on gsCore.o. I compiled gsKit with the same cygwin ps2sdk, but with the different toolchains. I'll list the first block of changed assembly. The first paste is Cygwin and the second is Mingw. 1a0: is where the changes start occurring.
Code: Select all
00000158 <gsKit_setactive>:
158: 27bdffe0 addiu sp,sp,-32
15c: ffbf0010 sd ra,16(sp)
160: ffb00000 sd s0,0(sp)
164: 8c820020 lw v0,32(a0)
168: 8c830024 lw v1,36(a0)
16c: 30420001 andi v0,v0,0x1
170: 8c900080 lw s0,128(a0)
174: 00021080 sll v0,v0,0x2
178: 246a003f addiu t2,v1,63
17c: 00441021 addu v0,v0,a0
180: 28660000 slti a2,v1,0
184: 8c450010 lw a1,16(v0)
188: 2469ffff addiu t1,v1,-1
18c: 0146180b movn v1,t2,a2
190: 8c870028 lw a3,40(a0)
194: 00052b42 srl a1,a1,0xd
198: 00031983 sra v1,v1,0x6
19c: 8c880084 lw t0,132(a0)
1a0: 3c021000 lui v0,0x1000
1a4: 0002103c dsll32 v0,v0,0x0
1a8: 34428004 ori v0,v0,0x8004
1ac: 0005283c dsll32 a1,a1,0x0
1b0: fe020000 sd v0,0(s0)
1b4: 00031c38 dsll v1,v1,0x10
1b8: 24020040 li v0,64
1bc: 24e7ffff addiu a3,a3,-1
1c0: 0005283e dsrl32 a1,a1,0x0
1c4: 00073c3c dsll32 a3,a3,0x10
1c8: 00084638 dsll t0,t0,0x18
1cc: fe020018 sd v0,24(s0)
1d0: 00a32825 or a1,a1,v1
1d4: 00094c38 dsll t1,t1,0x10
1d8: 2403000e li v1,14
1dc: 24020041 li v0,65
1e0: 00a82825 or a1,a1,t0
1e4: 01274825 or t1,t1,a3
1e8: fe030008 sd v1,8(s0)
1ec: 2403004c li v1,76
1f0: fe020038 sd v0,56(s0)
1f4: 2402004d li v0,77
1f8: fe030028 sd v1,40(s0)
1fc: fe090030 sd t1,48(s0)
200: fe020048 sd v0,72(s0)
204: fe090010 sd t1,16(s0)
208: fe050040 sd a1,64(s0)
20c: 0c000000 jal 0 <gsKit_vram_alloc>
210: fe050020 sd a1,32(s0)
214: 24040002 li a0,2
218: 0200282d move a1,s0
21c: 0c000000 jal 0 <gsKit_vram_alloc>
220: 24060005 li a2,5
224: dfb00000 ld s0,0(sp)
228: dfbf0010 ld ra,16(sp)
22c: 03e00008 jr ra
230: 27bd0020 addiu sp,sp,32
234: 00000000 nop
00000238 <gsKit_finish>:
238: 3c031200 lui v1,0x1200
23c: 34631000 ori v1,v1,0x1000
240: dc620000 ld v0,0(v1)
244: 0002107a dsrl v0,v0,0x1
248: 30420001 andi v0,v0,0x1
24c: 00000000 nop
250: 1040fffb beqz v0,240 <gsKit_finish+0x8>
254: 00000000 nop
258: 03e00008 jr ra
25c: 00000000 nop
Code: Select all
00000158 <gsKit_setactive>:
158: 27bdffe0 addiu sp,sp,-32
15c: ffbf0010 sd ra,16(sp)
160: ffb00000 sd s0,0(sp)
164: 8c820020 lw v0,32(a0)
168: 8c830024 lw v1,36(a0)
16c: 30420001 andi v0,v0,0x1
170: 8c900080 lw s0,128(a0)
174: 00021080 sll v0,v0,0x2
178: 246a003f addiu t2,v1,63
17c: 00441021 addu v0,v0,a0
180: 28660000 slti a2,v1,0
184: 8c450010 lw a1,16(v0)
188: 2469ffff addiu t1,v1,-1
18c: 0146180b movn v1,t2,a2
190: 8c870028 lw a3,40(a0)
194: 00052b42 srl a1,a1,0xd
198: 00031983 sra v1,v1,0x6
19c: 8c880084 lw t0,132(a0)
1a0: 34028004 li v0,0x8004
1a4: 0005283c dsll32 a1,a1,0x0
1a8: fe020000 sd v0,0(s0)
1ac: 00031c38 dsll v1,v1,0x10
1b0: 24020040 li v0,64
1b4: 24e7ffff addiu a3,a3,-1
1b8: 0005283e dsrl32 a1,a1,0x0
1bc: 00073c3c dsll32 a3,a3,0x10
1c0: 00084638 dsll t0,t0,0x18
1c4: fe020018 sd v0,24(s0)
1c8: 00a32825 or a1,a1,v1
1cc: 00094c38 dsll t1,t1,0x10
1d0: 2403000e li v1,14
1d4: 24020041 li v0,65
1d8: 00a82825 or a1,a1,t0
1dc: 01274825 or t1,t1,a3
1e0: fe030008 sd v1,8(s0)
1e4: 2403004c li v1,76
1e8: fe020038 sd v0,56(s0)
1ec: 2402004d li v0,77
1f0: fe030028 sd v1,40(s0)
1f4: fe090030 sd t1,48(s0)
1f8: fe020048 sd v0,72(s0)
1fc: fe090010 sd t1,16(s0)
200: fe050040 sd a1,64(s0)
204: 0c000000 jal 0 <gsKit_vram_alloc>
208: fe050020 sd a1,32(s0)
20c: 24040002 li a0,2
210: 0200282d move a1,s0
214: 0c000000 jal 0 <gsKit_vram_alloc>
218: 24060005 li a2,5
21c: dfb00000 ld s0,0(sp)
220: dfbf0010 ld ra,16(sp)
224: 03e00008 jr ra
228: 27bd0020 addiu sp,sp,32
22c: 00000000 nop
00000230 <gsKit_finish>:
230: 3c031200 lui v1,0x1200
234: 34631000 ori v1,v1,0x1000
238: dc620000 ld v0,0(v1)
23c: 0002107a dsrl v0,v0,0x1
240: 30420001 andi v0,v0,0x1
244: 00000000 nop
248: 1040fffb beqz v0,238 <gsKit_finish+0x8>
24c: 00000000 nop
250: 03e00008 jr ra
254: 00000000 nop