]> git.sur5r.net Git - cc65/commitdiff
some more fiddling
authormrdudz <mrdudz@users.noreply.github.com>
Sun, 22 Nov 2015 18:02:47 +0000 (19:02 +0100)
committermrdudz <mrdudz@users.noreply.github.com>
Sun, 22 Nov 2015 18:02:47 +0000 (19:02 +0100)
asminc/gamate.inc
cfg/gamate.cfg
libsrc/gamate/crt0.s
src/common/target.c
testcode/lib/gamate/Makefile
testcode/lib/gamate/audiotest.s
testcode/lib/gamate/lcdtest.s

index bce86ead94736abf48e9bf3becd62ce322558b3c..fda288e5f2397c4407386a60e2f815889e098448 100644 (file)
@@ -1,6 +1,6 @@
 ; gamate symbols
 
-.p02
+;.p02
 
 LCD_WIDTH = 160
 LCD_HEIGHT = 152
index 5eac46c4be73373ce66af979527560f308001bff..c6f2eed7d1d4ca0a6ffcc10aab078292a8d50e3f 100644 (file)
@@ -4,20 +4,29 @@
 # ld65 config file
 # ld65 --config gamate.cfg -o <prog>.bin <prog>.o
 
+SYMBOLS {
+    __STARTUP__:    type = import;
+    __STACKSIZE__: type = weak, value = $0300; # 3 pages stack
+}
+
 MEMORY {
     ZP: start = $0000, size = $100;
     CPUSTACK: start = $0100, size =$100;
     RAM: start = $0200, size = $200, define = yes;
 #    ROM: start = $6000, size = $8000, fill = yes, fillval = $ff, file = %O, define = yes;
+#    STARTUP:   file = %O, define = yes, start = $6000, size = $29, fill = yes;
+#    ROM: start = $6000 + __STARTUP_SIZE__, size = $8000 - __STARTUP_SIZE__, fill = yes, fillval = $ff, file = %O, define = yes;
+# WARNING: fill value must be $00 else it will no more work
     ROM: start = $6000, size = $8000, fill = yes, fillval = $00, file = %O, define = yes;
 }
 
 SEGMENTS {
+    ZEROPAGE: load = ZP, type = zp, define = yes;
+    STARTUP:   load = ROM,           type = ro, define=yes;
     CODE: load = ROM, type = ro, define=yes;
     RODATA: load = ROM, type = ro, define=yes;
     DATA: load = ROM, run=RAM, type = rw, define = yes;
     BSS: load = RAM, type = bss, define = yes;
-    ZEROPAGE: load = ZP, type = zp, define = yes;
 }
 
 FEATURES {
index 8d1c8b69c3fce7bea45c73efd06983e3c419a92f..66ff8054c704f1307e671948c8e033fb5d6f2897 100644 (file)
@@ -1 +1,16 @@
+
+        .export         __STARTUP__ : absolute = 1      ; Mark as startup
+
+        .import reset, irq, nmi ; FIXME
+
+
+        .segment "STARTUP"
+
+checksum:
+        .word 0
+        .byte 1, 0, 1
+        .byte "COPYRIGHT BIT CORPORATION", 0, $ff
+        jmp     reset
+        jmp     nmi
+        jmp     irq
+
index e89010123f4cec03203675885b91c032df8e6506..ebd05cbf1aa00556a6b353012eb27747f2bd0af7 100644 (file)
@@ -205,7 +205,7 @@ static const TargetProperties PropertyTable[TGT_COUNT] = {
     { "sim6502",        CPU_6502,       BINFMT_BINARY,      CTNone  },
     { "sim65c02",       CPU_65C02,      BINFMT_BINARY,      CTNone  },
     { "pce",            CPU_HUC6280,    BINFMT_BINARY,      CTNone  },
-    { "gamate",         CPU_6502,       BINFMT_BINARY,      CTNone  },
+    { "gamate",         CPU_65C02,      BINFMT_BINARY,      CTNone  },
 };
 
 /* Target system */
index 8d1c8b69c3fce7bea45c73efd06983e3c419a92f..943f6c1951835621db5fc08554b76b81ef78b8d7 100644 (file)
@@ -1 +1,21 @@
+
+all: audiotest.bin lcdtest.bin
+
+audiotest.bin: audiotest.s
+#      ../../../bin/ca65 -t gamate -o audiotest.o audiotest.s
+#      ../../../bin/ld65 -t gamate -o audiotest.bin audiotest.o
+       ../../../bin/cl65 -t gamate -o audiotest.bin audiotest.s
+
+lcdtest.bin: lcdtest.s
+#      ../../../bin/ca65 -t gamate -o lcdtest.o lcdtest.s
+#      ../../../bin/ld65 -t gamate -o lcdtest.bin lcdtest.o
+       ../../../bin/cl65 -l bla.lst -t gamate -o lcdtest.bin lcdtest.s
+
+test1: lcdtest.bin
+       cd /home/groepaz/Desktop/mame/winmess/ && wine mess.exe gamate -window -skip_gameinfo -cart /home/groepaz/Desktop/cc65/github/cc65/testcode/lib/gamate/lcdtest.bin
+test2: audiotest.bin
+       cd /home/groepaz/Desktop/mame/winmess/ && wine mess.exe gamate -window -skip_gameinfo -cart /home/groepaz/Desktop/cc65/github/cc65/testcode/lib/gamate/audiotest.bin
+
+clean:
+       rm -f lcdtest.o audiotest.o
+       rm -f lcdtest.bin audiotest.bin
index 6d9670bca5aba17ea19795f067e9f6bced86aa0e..a5b2143ce26e8bad5a1e31cb320b888ed3a0bedf 100644 (file)
@@ -1,3 +1,6 @@
+
+        .export reset, irq, nmi ; FIXME
+
 .include "gamate.inc"
        .zeropage
 addr: .word 0
@@ -25,12 +28,6 @@ xpos: .byte 0
 ypos:  .byte 0
 
        .code
-checksum:      .word 0
-       .byte 1,0,1
-       .byte "COPYRIGHT BIT CORPORATION", 0, $ff
-       jmp     reset
-       jmp nmi
-       jmp irq
 
 chars:
 .incbin "cga2.chr"
index 506016aadb8c3775cc84b5ac671625de4b98fc30..b4798c677ea8ed186086d63aed9de223b49c7293 100644 (file)
@@ -1,4 +1,9 @@
+
+        .export reset, irq, nmi ; FIXME
+
+
 .include "gamate.inc"
+
        .zeropage
 addr: .word 0
 psa:   .word 0
@@ -17,12 +22,6 @@ xpos: .byte 0
 ypos:  .byte 0
 
        .code
-checksum:      .word 0
-       .byte 1,0,1
-       .byte "COPYRIGHT BIT CORPORATION", 0, $ff
-       jmp     reset
-       jmp nmi
-       jmp irq
 
 chars:
 .incbin "cga2.chr"
@@ -37,6 +36,7 @@ ydesc:        .byte "0123456789ABCDEFGHIJKLMNOPQRSTUV", 0
                        rts
 .endproc
 
+
 .proc  irq
                        inc irq_count
                        lda count
@@ -88,7 +88,6 @@ ydesc:        .byte "0123456789ABCDEFGHIJKLMNOPQRSTUV", 0
                        sty     lcd_y
                        jsr printstringy
 
-
                        lda #<format
                        ldx     #>format
                        ldy #8
@@ -177,6 +176,7 @@ ydesc:      .byte "0123456789ABCDEFGHIJKLMNOPQRSTUV", 0
                        lda #'V'
                        jsr printsign
 
+
                        lda #1
                        sta nmi_enable