Committing other changes
This commit is contained in:
@@ -1928,7 +1928,7 @@ EXTSYM BWUsed2
|
|||||||
je .nosa1
|
je .nosa1
|
||||||
mov dword[CurBWPtr],ebx
|
mov dword[CurBWPtr],ebx
|
||||||
.nosa1
|
.nosa1
|
||||||
mov byte[debstop3],1
|
; mov byte[debstop3],1
|
||||||
ret
|
ret
|
||||||
NEWSYM sa12250w
|
NEWSYM sa12250w
|
||||||
mov byte[SA1ARC],al
|
mov byte[SA1ARC],al
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ EXTSYM regaccessbankr8,selcB800,snesmap2,snesmmap
|
|||||||
EXTSYM ram7f
|
EXTSYM ram7f
|
||||||
EXTSYM StringLength
|
EXTSYM StringLength
|
||||||
EXTSYM exiter
|
EXTSYM exiter
|
||||||
EXTSYM SA1Status,CurrentCPU
|
EXTSYM SA1Status,CurrentCPU,SA1RegP
|
||||||
EXTSYM curypos,xa,xd,xdb,xe,xp,xpb,xpc,xs,xx,xy
|
EXTSYM curypos,xa,xd,xdb,xe,xp,xpb,xpc,xs,xx,xy
|
||||||
EXTSYM SA1xpb,SA1xpc,SA1xa,SA1xx,SA1xy,SA1xd,SA1xdb,SA1xs
|
EXTSYM SA1xpb,SA1xpc,SA1xa,SA1xx,SA1xy,SA1xd,SA1xdb,SA1xs
|
||||||
EXTSYM cycpbl,debugbuf,soundon,spcA,spcNZ,spcP,spcPCRam
|
EXTSYM cycpbl,debugbuf,soundon,spcA,spcNZ,spcP,spcPCRam
|
||||||
@@ -147,16 +147,19 @@ NEWSYM startdebugger
|
|||||||
call Create_File
|
call Create_File
|
||||||
xor ecx,ecx
|
xor ecx,ecx
|
||||||
mov bx,ax
|
mov bx,ax
|
||||||
; mov ecx,65536
|
mov ecx,65536
|
||||||
; mov edx,[vram]
|
mov edx,[vram]
|
||||||
|
EXTSYM oamram
|
||||||
|
mov edx,oamram
|
||||||
|
mov ecx,544
|
||||||
; mov ecx,2048*4
|
; mov ecx,2048*4
|
||||||
; mov edx,[C4Ram]
|
; mov edx,[C4Ram]
|
||||||
; mov ecx,32768
|
; mov ecx,32768
|
||||||
; mov edx,[romdata]
|
; mov edx,[romdata]
|
||||||
; add edx,65536*13h
|
; add edx,65536*13h
|
||||||
; mov ecx,2EFh
|
; mov ecx,2EFh
|
||||||
mov edx,SDD1Array
|
; mov edx,SDD1Array
|
||||||
mov ecx,[SDD1Entry]
|
; mov ecx,[SDD1Entry]
|
||||||
; mov edx,[romdata]
|
; mov edx,[romdata]
|
||||||
; add edx,32768*40
|
; add edx,32768*40
|
||||||
; mov edx,cnetplaybuf
|
; mov edx,cnetplaybuf
|
||||||
@@ -188,6 +191,10 @@ NEWSYM startdebugger
|
|||||||
; mov edx,[romdata]
|
; mov edx,[romdata]
|
||||||
; add edx,3E5CCEh
|
; add edx,3E5CCEh
|
||||||
; mov ecx,0022h
|
; mov ecx,0022h
|
||||||
|
; mov edx,[romdata]
|
||||||
|
; add edx,1024*4096
|
||||||
|
; mov ecx,65536
|
||||||
|
|
||||||
or ecx,ecx
|
or ecx,ecx
|
||||||
jz .nofilecontents
|
jz .nofilecontents
|
||||||
call Write_File
|
call Write_File
|
||||||
@@ -385,7 +392,7 @@ NEWSYM debugloopb
|
|||||||
mov ah,07h
|
mov ah,07h
|
||||||
int 21h
|
int 21h
|
||||||
cmp al,59
|
cmp al,59
|
||||||
je .execute65816
|
je near .execute65816
|
||||||
cmp al,62
|
cmp al,62
|
||||||
je near debugloadstate
|
je near debugloadstate
|
||||||
cmp al,60
|
cmp al,60
|
||||||
@@ -396,6 +403,8 @@ NEWSYM debugloopb
|
|||||||
je .exit
|
je .exit
|
||||||
cmp al,13
|
cmp al,13
|
||||||
je near .loope
|
je near .loope
|
||||||
|
cmp al,'-'
|
||||||
|
je near .skipopcode
|
||||||
cmp al,'C'
|
cmp al,'C'
|
||||||
je near .clear
|
je near .clear
|
||||||
cmp al,'M'
|
cmp al,'M'
|
||||||
@@ -448,8 +457,59 @@ NEWSYM debugloopb
|
|||||||
; jnz .n
|
; jnz .n
|
||||||
jmp debugloopa
|
jmp debugloopa
|
||||||
|
|
||||||
|
.skipopcode
|
||||||
|
xor eax,eax
|
||||||
|
xor ebx,ebx
|
||||||
|
xor ecx,ecx
|
||||||
|
xor edx,edx
|
||||||
|
mov bl,[xpb]
|
||||||
|
mov ax,[xpc]
|
||||||
|
test ax,8000h
|
||||||
|
jz .loweraddrso
|
||||||
|
mov esi,[snesmmap+ebx*4]
|
||||||
|
jmp .skiplowerso
|
||||||
|
.loweraddrso
|
||||||
|
cmp ax,4300h
|
||||||
|
jb .lowerso
|
||||||
|
cmp dword[memtabler8+ebx*4],regaccessbankr8
|
||||||
|
je .dmaso
|
||||||
|
.lowerso
|
||||||
|
mov esi,[snesmap2+ebx*4]
|
||||||
|
jmp .skiplowerso
|
||||||
|
.dmaso
|
||||||
|
mov esi,dmadata-4300h
|
||||||
|
.skiplowerso
|
||||||
|
mov [initaddrl],esi
|
||||||
|
add esi,eax ; add program counter to address
|
||||||
|
; 10,30,50,70,80,90,B0,D0,F0
|
||||||
|
cmp byte[esi],10h
|
||||||
|
je .okay
|
||||||
|
cmp byte[esi],30h
|
||||||
|
je .okay
|
||||||
|
cmp byte[esi],50h
|
||||||
|
je .okay
|
||||||
|
cmp byte[esi],70h
|
||||||
|
je .okay
|
||||||
|
cmp byte[esi],80h
|
||||||
|
je .okay
|
||||||
|
cmp byte[esi],90h
|
||||||
|
je .okay
|
||||||
|
cmp byte[esi],0B0h
|
||||||
|
je .okay
|
||||||
|
cmp byte[esi],0D0h
|
||||||
|
je .okay
|
||||||
|
cmp byte[esi],0F0h
|
||||||
|
je .okay
|
||||||
|
jmp .notokay
|
||||||
|
.okay
|
||||||
|
mov word[esi],0EAEAh
|
||||||
|
.notokay
|
||||||
|
jmp debugloopa
|
||||||
|
|
||||||
.loope
|
.loope
|
||||||
|
mov byte[skipdebugsa1],0
|
||||||
call execnextop
|
call execnextop
|
||||||
|
mov byte[skipdebugsa1],1
|
||||||
cmp byte[soundon],0
|
cmp byte[soundon],0
|
||||||
je .nosnd
|
je .nosnd
|
||||||
test byte[debugds],02h
|
test byte[debugds],02h
|
||||||
@@ -1612,40 +1672,6 @@ NEWSYM breakatsign
|
|||||||
cmp al,27
|
cmp al,27
|
||||||
je .skipc
|
je .skipc
|
||||||
.skipa
|
.skipa
|
||||||
mov al,[dmadata+01h]
|
|
||||||
and al,0F0h
|
|
||||||
cmp al,40h
|
|
||||||
je .skipc2
|
|
||||||
mov al,[dmadata+11h]
|
|
||||||
and al,0F0h
|
|
||||||
cmp al,40h
|
|
||||||
je .skipc2
|
|
||||||
mov al,[dmadata+21h]
|
|
||||||
and al,0F0h
|
|
||||||
cmp al,40h
|
|
||||||
je .skipc2
|
|
||||||
mov al,[dmadata+31h]
|
|
||||||
and al,0F0h
|
|
||||||
cmp al,40h
|
|
||||||
je .skipc2
|
|
||||||
mov al,[dmadata+41h]
|
|
||||||
and al,0F0h
|
|
||||||
cmp al,40h
|
|
||||||
je .skipc2
|
|
||||||
mov al,[dmadata+51h]
|
|
||||||
and al,0F0h
|
|
||||||
cmp al,40h
|
|
||||||
je .skipc2
|
|
||||||
mov al,[dmadata+61h]
|
|
||||||
and al,0F0h
|
|
||||||
cmp al,40h
|
|
||||||
je .skipc2
|
|
||||||
mov al,[dmadata+71h]
|
|
||||||
and al,0F0h
|
|
||||||
cmp al,40h
|
|
||||||
je .skipc2
|
|
||||||
.skipc2
|
|
||||||
mov eax,[ram7f]
|
|
||||||
cmp byte[debstop3],1
|
cmp byte[debstop3],1
|
||||||
jne near .loopa
|
jne near .loopa
|
||||||
mov byte[debstop3],0
|
mov byte[debstop3],0
|
||||||
@@ -1783,9 +1809,9 @@ NEWSYM breakatsignlog
|
|||||||
; cmp byte[spcRam+6],40h
|
; cmp byte[spcRam+6],40h
|
||||||
; je .skipc
|
; je .skipc
|
||||||
mov eax,[ram7f]
|
mov eax,[ram7f]
|
||||||
jmp .loopa
|
; jmp .loopa
|
||||||
; cmp byte[debstop3],1
|
cmp byte[debstop3],1
|
||||||
; jne .loopa
|
jne near .loopa
|
||||||
.skipc
|
.skipc
|
||||||
mov byte[debstop3],0
|
mov byte[debstop3],0
|
||||||
; copy back data
|
; copy back data
|
||||||
@@ -1857,7 +1883,7 @@ NEWSYM prbreak, db 0
|
|||||||
NEWSYM breakatsignb
|
NEWSYM breakatsignb
|
||||||
mov byte[keyonsn],0
|
mov byte[keyonsn],0
|
||||||
mov byte[prbreak],0
|
mov byte[prbreak],0
|
||||||
mov byte[debuggeron],1
|
; mov byte[debuggeron],1
|
||||||
|
|
||||||
mov byte[exiter],01h
|
mov byte[exiter],01h
|
||||||
xor eax,eax
|
xor eax,eax
|
||||||
@@ -1922,7 +1948,7 @@ NEWSYM breakatsignb
|
|||||||
sub esi,eax ; subtract program counter by address
|
sub esi,eax ; subtract program counter by address
|
||||||
mov [xpc],si
|
mov [xpc],si
|
||||||
mov byte[exiter],0
|
mov byte[exiter],0
|
||||||
mov byte[debuggeron],0
|
; mov byte[debuggeron],0
|
||||||
ret
|
ret
|
||||||
|
|
||||||
;*******************************************************
|
;*******************************************************
|
||||||
@@ -1934,7 +1960,7 @@ NEWSYM sndwrit, db 0
|
|||||||
NEWSYM breakatsignc
|
NEWSYM breakatsignc
|
||||||
mov byte[prbreak],0
|
mov byte[prbreak],0
|
||||||
mov byte[sndwrit],0
|
mov byte[sndwrit],0
|
||||||
mov byte[debuggeron],1
|
; mov byte[debuggeron],1
|
||||||
|
|
||||||
mov byte[exiter],01h
|
mov byte[exiter],01h
|
||||||
xor eax,eax
|
xor eax,eax
|
||||||
@@ -2001,7 +2027,7 @@ NEWSYM breakatsignc
|
|||||||
sub esi,eax ; subtract program counter by address
|
sub esi,eax ; subtract program counter by address
|
||||||
mov [xpc],si
|
mov [xpc],si
|
||||||
mov byte[exiter],0
|
mov byte[exiter],0
|
||||||
mov byte[debuggeron],0
|
; mov byte[debuggeron],0
|
||||||
ret
|
ret
|
||||||
|
|
||||||
;*******************************************************
|
;*******************************************************
|
||||||
@@ -2290,6 +2316,9 @@ NEWSYM startdisplay
|
|||||||
; Next Opcode Writes the next opcode & regs
|
; Next Opcode Writes the next opcode & regs
|
||||||
;*******************************************************
|
;*******************************************************
|
||||||
; 008000 STZ $123456,x A:0000 X:0000 Y:0000 S:01FF DB:00 D:0000 P:33 E+
|
; 008000 STZ $123456,x A:0000 X:0000 Y:0000 S:01FF DB:00 D:0000 P:33 E+
|
||||||
|
NEWSYM debugsa1, db 0
|
||||||
|
NEWSYM skipdebugsa1, db 1
|
||||||
|
|
||||||
NEWSYM nextopcode
|
NEWSYM nextopcode
|
||||||
push es
|
push es
|
||||||
mov es,[selcB800]
|
mov es,[selcB800]
|
||||||
@@ -2307,7 +2336,10 @@ NEWSYM nextopcode
|
|||||||
mov edi,160+52
|
mov edi,160+52
|
||||||
mov ax,word[curypos]
|
mov ax,word[curypos]
|
||||||
call .printnum
|
call .printnum
|
||||||
pop es
|
|
||||||
|
mov ax,ds
|
||||||
|
mov es,ax
|
||||||
|
|
||||||
; set output pointer
|
; set output pointer
|
||||||
mov edi,[debugbuf] ; set write pointer
|
mov edi,[debugbuf] ; set write pointer
|
||||||
inc edi
|
inc edi
|
||||||
@@ -2319,7 +2351,14 @@ NEWSYM nextopcode
|
|||||||
pop bx
|
pop bx
|
||||||
add edi,eax
|
add edi,eax
|
||||||
|
|
||||||
|
cmp byte[debugsa1],1
|
||||||
|
je .sa1
|
||||||
call .outputbuffer
|
call .outputbuffer
|
||||||
|
jmp .nosa1
|
||||||
|
.sa1
|
||||||
|
mov byte[debugsa1],0
|
||||||
|
call .outputbuffersa1
|
||||||
|
.nosa1
|
||||||
|
|
||||||
; increment tail/head
|
; increment tail/head
|
||||||
call .addtail
|
call .addtail
|
||||||
@@ -2344,6 +2383,7 @@ NEWSYM nextopcode
|
|||||||
mov dh,0
|
mov dh,0
|
||||||
mov dl,0
|
mov dl,0
|
||||||
int 10h
|
int 10h
|
||||||
|
pop es
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.outputbuffer
|
.outputbuffer
|
||||||
@@ -2454,6 +2494,107 @@ NEWSYM nextopcode
|
|||||||
stosb
|
stosb
|
||||||
ret
|
ret
|
||||||
|
|
||||||
|
.outputbuffersa1
|
||||||
|
mov al,'-'
|
||||||
|
stosb
|
||||||
|
|
||||||
|
; output pb/pc
|
||||||
|
mov al,[SA1xpb]
|
||||||
|
call .printhex8
|
||||||
|
mov ax,[xpc]
|
||||||
|
call .printhex16
|
||||||
|
mov al,32
|
||||||
|
stosb
|
||||||
|
|
||||||
|
; output instruction
|
||||||
|
xor ebx,ebx
|
||||||
|
mov bl,[SA1xpb]
|
||||||
|
xor eax,eax
|
||||||
|
mov ax,[xpc]
|
||||||
|
test ax,8000h
|
||||||
|
jz .loweraddrsa1
|
||||||
|
mov ebx,[snesmmap+ebx*4]
|
||||||
|
jmp .skiplowersa1
|
||||||
|
.loweraddrsa1
|
||||||
|
cmp ax,4300h
|
||||||
|
jb .lowersa1
|
||||||
|
cmp dword[memtabler8+ebx*4],regaccessbankr8
|
||||||
|
je .dmasa1
|
||||||
|
.lowersa1
|
||||||
|
mov ebx,[snesmap2+ebx*4]
|
||||||
|
jmp .skiplowersa1
|
||||||
|
.dmasa1
|
||||||
|
mov ebx,dmadata-4300h
|
||||||
|
.skiplowersa1
|
||||||
|
add ebx,eax ; add program counter to address
|
||||||
|
xor ah,ah
|
||||||
|
mov al,[ebx] ; get instruction number
|
||||||
|
mov esi,ocname
|
||||||
|
shl eax,2
|
||||||
|
add esi,eax
|
||||||
|
mov ecx,4
|
||||||
|
rep movsb
|
||||||
|
call .outaddrmode
|
||||||
|
|
||||||
|
; output registers
|
||||||
|
mov al,'A'
|
||||||
|
stosb
|
||||||
|
mov al,':'
|
||||||
|
stosb
|
||||||
|
mov ax,[SA1xa]
|
||||||
|
call .printhex16
|
||||||
|
mov al,32
|
||||||
|
stosb
|
||||||
|
mov al,'X'
|
||||||
|
stosb
|
||||||
|
mov al,':'
|
||||||
|
stosb
|
||||||
|
mov ax,[SA1xx]
|
||||||
|
call .printhex16
|
||||||
|
mov al,32
|
||||||
|
stosb
|
||||||
|
mov al,'Y'
|
||||||
|
stosb
|
||||||
|
mov al,':'
|
||||||
|
stosb
|
||||||
|
mov ax,[SA1xy]
|
||||||
|
call .printhex16
|
||||||
|
mov al,32
|
||||||
|
stosb
|
||||||
|
mov al,'S'
|
||||||
|
stosb
|
||||||
|
mov al,':'
|
||||||
|
stosb
|
||||||
|
mov ax,[SA1xs]
|
||||||
|
call .printhex16
|
||||||
|
mov al,32
|
||||||
|
stosb
|
||||||
|
mov al,'D'
|
||||||
|
stosb
|
||||||
|
mov al,'B'
|
||||||
|
stosb
|
||||||
|
mov al,':'
|
||||||
|
stosb
|
||||||
|
mov al,[SA1xdb]
|
||||||
|
call .printhex8
|
||||||
|
mov al,32
|
||||||
|
stosb
|
||||||
|
mov al,'D'
|
||||||
|
stosb
|
||||||
|
mov al,':'
|
||||||
|
stosb
|
||||||
|
mov ax,[SA1xd]
|
||||||
|
call .printhex16
|
||||||
|
mov al,32
|
||||||
|
stosb
|
||||||
|
mov al,'P'
|
||||||
|
stosb
|
||||||
|
mov al,':'
|
||||||
|
stosb
|
||||||
|
mov al,[SA1RegP]
|
||||||
|
call .printhex8
|
||||||
|
ret
|
||||||
|
|
||||||
.addtail
|
.addtail
|
||||||
inc word[debugt]
|
inc word[debugt]
|
||||||
cmp word[debugt],100
|
cmp word[debugt],100
|
||||||
|
|||||||
Reference in New Issue
Block a user