From aa649c89ee2e399479c006cbb8a718a0f9bfbd7f Mon Sep 17 00:00:00 2001 From: David Voswinkel Date: Mon, 18 May 2009 21:23:17 +0200 Subject: [PATCH] o debug printf is working in asm --- snes/irqtest/Makefile | 2 +- snes/irqtest/debug.asm | 24 ++++++++---------------- snes/irqtest/irqtest.asm | 19 +++++++++++++------ 3 files changed, 22 insertions(+), 23 deletions(-) diff --git a/snes/irqtest/Makefile b/snes/irqtest/Makefile index 40843ab..5337b5c 100644 --- a/snes/irqtest/Makefile +++ b/snes/irqtest/Makefile @@ -27,7 +27,7 @@ optixx.inc: optixx.pcx $(AS) -o $? $@ $(APP): linkfile $(GFX) $(OBJS) $(GFX) - $(LD) -vr linkerfile.prj $@ + $(LD) -vri linkerfile.prj $@ clean: rm -vf $(APP) *.prj *.o diff --git a/snes/irqtest/debug.asm b/snes/irqtest/debug.asm index 4936f6f..7dc67b2 100644 --- a/snes/irqtest/debug.asm +++ b/snes/irqtest/debug.asm @@ -1,30 +1,22 @@ +.define debug_pointer $0080 .MACRO printf - REP #$38 ; mem/A = 16 bit, X/Y = 16 bit - SEP #$20 - lda.w str_NMI - sta.w debug_pointer - ldy #0 - jsr do_printf - REP #$30 ; mem/A = 16 bit, X/Y = 16 bit - SEP #$20 - + ldy.w #\1 ; load add of the string + sty.w debug_pointer ; store address in defined mem area + ldy #0 ; zero y + jsr do_printf .ENDM -.define debug_pointer $0000 - .BANK 0 -.ORG 0 .SECTION "debug" SEMIFREE - do_printf: - lda (debug_pointer),y ; get ascii text data - sta $3000 + lda (debug_pointer),y ; get address of string + sta $3000 ; write to MMIO debug reg iny - cpy #5 + cmp #0 ; len 5 bne do_printf rts .ENDs diff --git a/snes/irqtest/irqtest.asm b/snes/irqtest/irqtest.asm index bda9fd3..ba8ed8e 100644 --- a/snes/irqtest/irqtest.asm +++ b/snes/irqtest/irqtest.asm @@ -53,7 +53,14 @@ Start_do: lda #67 sta $3000 - printf + printf str_COP + + lda #65 + sta $3000 + lda #66 + sta $3000 + lda #67 + sta $3000 Infinity: jmp Infinity ; bwa hahahahaha @@ -93,15 +100,15 @@ SetupVideo: str_COP: - .db "COP\n" + .db "COP",10,0 str_ABORT: - .db "ABORT\n" + .db "ABORT",10,0 str_NMI: - .db "NMI\n" + .db "NMI",10,0 str_RESET: - .db "RESET\n" + .db "RESET",10,0 str_IRQBRK: - .db "IRQBRK\n" + .db "IRQBRK",10,0 ;============================================================================