Cleanups for Creativision.
This commit is contained in:
@@ -12,6 +12,7 @@ SEGMENTS {
|
|||||||
VECTORS: load = ROM, run = RAM, type = rw, define = yes;
|
VECTORS: load = ROM, run = RAM, type = rw, define = yes;
|
||||||
DATA: load = ROM, run = RAM, type = rw, define = yes, start = $0204;
|
DATA: load = ROM, run = RAM, type = rw, define = yes, start = $0204;
|
||||||
BSS: load = RAM, type = bss, define = yes;
|
BSS: load = RAM, type = bss, define = yes;
|
||||||
|
ONCE: load = ROM, type = ro, optional = yes;
|
||||||
CODE: load = ROM, type = ro;
|
CODE: load = ROM, type = ro;
|
||||||
INIT: load = ROM, type = ro;
|
INIT: load = ROM, type = ro;
|
||||||
RODATA: load = ROM, type = ro;
|
RODATA: load = ROM, type = ro;
|
||||||
|
|||||||
@@ -12,29 +12,29 @@ boxchars:
|
|||||||
.byte $18
|
.byte $18
|
||||||
|
|
||||||
; Horizontal Line
|
; Horizontal Line
|
||||||
.byte 0
|
.byte $00
|
||||||
.byte 0
|
.byte $00
|
||||||
.byte 0
|
.byte $00
|
||||||
.byte $ff
|
.byte $FF
|
||||||
.byte 0
|
.byte $00
|
||||||
.byte 0
|
.byte $00
|
||||||
.byte 0
|
.byte $00
|
||||||
.byte 0
|
.byte $00
|
||||||
|
|
||||||
; Top Left
|
; Top Left
|
||||||
.byte 0
|
.byte $00
|
||||||
.byte 0
|
.byte $00
|
||||||
.byte 0
|
.byte $00
|
||||||
.byte $1f
|
.byte $1F
|
||||||
.byte $18
|
.byte $18
|
||||||
.byte $18
|
.byte $18
|
||||||
.byte $18
|
.byte $18
|
||||||
.byte $18
|
.byte $18
|
||||||
|
|
||||||
; Top Right
|
; Top Right
|
||||||
.byte 0
|
.byte $00
|
||||||
.byte 0
|
.byte $00
|
||||||
.byte 0
|
.byte $00
|
||||||
.byte $F8
|
.byte $F8
|
||||||
.byte $18
|
.byte $18
|
||||||
.byte $18
|
.byte $18
|
||||||
@@ -46,17 +46,17 @@ boxchars:
|
|||||||
.byte $18
|
.byte $18
|
||||||
.byte $18
|
.byte $18
|
||||||
.byte $1F
|
.byte $1F
|
||||||
.byte 0
|
.byte $00
|
||||||
.byte 0
|
.byte $00
|
||||||
.byte 0
|
.byte $00
|
||||||
.byte 0
|
.byte $00
|
||||||
|
|
||||||
; Bottom Right
|
; Bottom Right
|
||||||
.byte $18
|
.byte $18
|
||||||
.byte $18
|
.byte $18
|
||||||
.byte $18
|
.byte $18
|
||||||
.byte $F8
|
.byte $F8
|
||||||
.byte 0
|
.byte $00
|
||||||
.byte 0
|
.byte $00
|
||||||
.byte 0
|
.byte $00
|
||||||
.byte 0
|
.byte $00
|
||||||
|
|||||||
@@ -18,12 +18,9 @@ _cclear:
|
|||||||
beq L2
|
beq L2
|
||||||
sta tmp1
|
sta tmp1
|
||||||
|
|
||||||
L1:
|
L1: lda #$20 ; Space
|
||||||
lda #$20 ; Space
|
|
||||||
jsr cputdirect
|
jsr cputdirect
|
||||||
dec tmp1
|
dec tmp1
|
||||||
bne L1
|
bne L1
|
||||||
|
|
||||||
L2: rts
|
L2: rts
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -6,12 +6,9 @@
|
|||||||
_cgetc:
|
_cgetc:
|
||||||
lda #$80
|
lda #$80
|
||||||
|
|
||||||
L1:
|
L1: bit ZP_KEYBOARD
|
||||||
bit ZP_KEYBOARD
|
|
||||||
bpl L1
|
bpl L1
|
||||||
|
|
||||||
lda ZP_KEYBOARD
|
lda ZP_KEYBOARD
|
||||||
and #$7f
|
and #$7F
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -29,13 +29,13 @@ _cputcxy:
|
|||||||
|
|
||||||
; Plot a character - also used as internal function
|
; Plot a character - also used as internal function
|
||||||
|
|
||||||
_cputc: cmp #$0d ; CR?
|
_cputc: cmp #$0D ; CR?
|
||||||
bne L1
|
bne L1
|
||||||
lda #0
|
lda #0
|
||||||
sta CURSOR_X
|
sta CURSOR_X
|
||||||
beq plot ; Recalculate pointers
|
beq plot ; Recalculate pointers
|
||||||
|
|
||||||
L1: cmp #$0a ; LF?
|
L1: cmp #$0A ; LF?
|
||||||
beq newline ; Recalculate pointers
|
beq newline ; Recalculate pointers
|
||||||
|
|
||||||
; Printable char of some sort
|
; Printable char of some sort
|
||||||
@@ -114,8 +114,8 @@ initconio:
|
|||||||
lda #$46
|
lda #$46
|
||||||
sta VDP_CONTROL_W
|
sta VDP_CONTROL_W
|
||||||
ldx #0
|
ldx #0
|
||||||
LL:
|
|
||||||
lda boxchars,x
|
LL: lda boxchars,x
|
||||||
sta VDP_DATA_W
|
sta VDP_DATA_W
|
||||||
inx
|
inx
|
||||||
cpx #48
|
cpx #48
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ _joystate:
|
|||||||
|
|
||||||
lda $11
|
lda $11
|
||||||
beq l5
|
beq l5
|
||||||
and #$f
|
and #$0F
|
||||||
lsr a
|
lsr a
|
||||||
tax
|
tax
|
||||||
inx
|
inx
|
||||||
@@ -31,7 +31,7 @@ l1: cmp #2 ; Right Direction
|
|||||||
|
|
||||||
lda $13
|
lda $13
|
||||||
beq l5
|
beq l5
|
||||||
and #$f
|
and #$0F
|
||||||
lsr a
|
lsr a
|
||||||
tax
|
tax
|
||||||
inx
|
inx
|
||||||
@@ -43,7 +43,7 @@ l2: cmp #3 ; Left Buttons
|
|||||||
|
|
||||||
lda $16
|
lda $16
|
||||||
beq l5
|
beq l5
|
||||||
and #$f
|
and #$0F
|
||||||
rts
|
rts
|
||||||
|
|
||||||
l3: cmp #4
|
l3: cmp #4
|
||||||
@@ -51,7 +51,7 @@ l3: cmp #4
|
|||||||
|
|
||||||
lda $17
|
lda $17
|
||||||
beq l5
|
beq l5
|
||||||
and #$f
|
and #$0F
|
||||||
rts
|
rts
|
||||||
|
|
||||||
l4: lda #0
|
l4: lda #0
|
||||||
|
|||||||
@@ -20,5 +20,3 @@
|
|||||||
rts
|
rts
|
||||||
|
|
||||||
.endproc
|
.endproc
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -21,15 +21,12 @@ _psg_silence:
|
|||||||
_psg_delay:
|
_psg_delay:
|
||||||
|
|
||||||
tay
|
tay
|
||||||
l1:
|
l1: lda #200
|
||||||
lda #200
|
l2: sbc #1
|
||||||
l2:
|
|
||||||
sbc #1
|
|
||||||
bne l2
|
bne l2
|
||||||
|
|
||||||
lda #200
|
lda #200
|
||||||
l3:
|
l3: sbc #1
|
||||||
sbc #1
|
|
||||||
bne l3
|
bne l3
|
||||||
|
|
||||||
dey
|
dey
|
||||||
@@ -47,7 +44,6 @@ l3:
|
|||||||
_bios_playsound:
|
_bios_playsound:
|
||||||
|
|
||||||
pha ; Save Length Byte
|
pha ; Save Length Byte
|
||||||
|
|
||||||
sei
|
sei
|
||||||
|
|
||||||
lda #$D5 ; BIOS volume table low
|
lda #$D5 ; BIOS volume table low
|
||||||
@@ -64,5 +60,4 @@ _bios_playsound:
|
|||||||
tay ; Put length in Y
|
tay ; Put length in Y
|
||||||
dey
|
dey
|
||||||
php
|
php
|
||||||
jmp $fbed ; Let BIOS do it's thing
|
jmp $FBED ; Let BIOS do it's thing
|
||||||
|
|
||||||
|
|||||||
@@ -34,6 +34,3 @@ utsdata:
|
|||||||
|
|
||||||
; machine
|
; machine
|
||||||
.asciiz "CREATIVISION"
|
.asciiz "CREATIVISION"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,6 @@
|
|||||||
;
|
;
|
||||||
|
|
||||||
.export _wherex
|
.export _wherex
|
||||||
|
|
||||||
.include "creativision.inc"
|
.include "creativision.inc"
|
||||||
|
|
||||||
.proc _wherex
|
.proc _wherex
|
||||||
@@ -15,5 +14,3 @@
|
|||||||
rts
|
rts
|
||||||
|
|
||||||
.endproc
|
.endproc
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,6 @@
|
|||||||
;
|
;
|
||||||
|
|
||||||
.export _wherey
|
.export _wherey
|
||||||
|
|
||||||
.include "creativision.inc"
|
.include "creativision.inc"
|
||||||
|
|
||||||
.proc _wherey
|
.proc _wherey
|
||||||
@@ -15,5 +14,3 @@
|
|||||||
rts
|
rts
|
||||||
|
|
||||||
.endproc
|
.endproc
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -259,6 +259,10 @@ static void SetSys (const char* Sys)
|
|||||||
CBMSystem ("__PET__");
|
CBMSystem ("__PET__");
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case TGT_BBC:
|
||||||
|
NewSymbol ("__BBC__", 1);
|
||||||
|
break;
|
||||||
|
|
||||||
case TGT_APPLE2:
|
case TGT_APPLE2:
|
||||||
NewSymbol ("__APPLE2__", 1);
|
NewSymbol ("__APPLE2__", 1);
|
||||||
break;
|
break;
|
||||||
@@ -278,14 +282,6 @@ static void SetSys (const char* Sys)
|
|||||||
NewSymbol ("__GEOS_CBM__", 1);
|
NewSymbol ("__GEOS_CBM__", 1);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case TGT_ATMOS:
|
|
||||||
NewSymbol ("__ATMOS__", 1);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case TGT_BBC:
|
|
||||||
NewSymbol ("__BBC__", 1);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case TGT_CREATIVISION:
|
case TGT_CREATIVISION:
|
||||||
NewSymbol ("__CREATIVISION__", 1);
|
NewSymbol ("__CREATIVISION__", 1);
|
||||||
break;
|
break;
|
||||||
@@ -299,14 +295,22 @@ static void SetSys (const char* Sys)
|
|||||||
NewSymbol ("__LUNIX__", 1);
|
NewSymbol ("__LUNIX__", 1);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case TGT_LYNX:
|
case TGT_ATMOS:
|
||||||
NewSymbol ("__LYNX__", 1);
|
NewSymbol ("__ATMOS__", 1);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case TGT_NES:
|
case TGT_NES:
|
||||||
NewSymbol ("__NES__", 1);
|
NewSymbol ("__NES__", 1);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case TGT_SUPERVISION:
|
||||||
|
NewSymbol ("__SUPERVISION__", 1);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case TGT_LYNX:
|
||||||
|
NewSymbol ("__LYNX__", 1);
|
||||||
|
break;
|
||||||
|
|
||||||
case TGT_SIM6502:
|
case TGT_SIM6502:
|
||||||
NewSymbol ("__SIM6502__", 1);
|
NewSymbol ("__SIM6502__", 1);
|
||||||
break;
|
break;
|
||||||
@@ -323,10 +327,6 @@ static void SetSys (const char* Sys)
|
|||||||
NewSymbol ("__PCE__", 1);
|
NewSymbol ("__PCE__", 1);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case TGT_SUPERVISION:
|
|
||||||
NewSymbol ("__SUPERVISION__", 1);
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
default:
|
||||||
AbEnd ("Invalid target name: `%s'", Sys);
|
AbEnd ("Invalid target name: `%s'", Sys);
|
||||||
|
|
||||||
|
|||||||
@@ -211,6 +211,10 @@ static void SetSys (const char* Sys)
|
|||||||
cbmsys ("__PET__");
|
cbmsys ("__PET__");
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case TGT_BBC:
|
||||||
|
DefineNumericMacro ("__BBC__", 1);
|
||||||
|
break;
|
||||||
|
|
||||||
case TGT_APPLE2:
|
case TGT_APPLE2:
|
||||||
DefineNumericMacro ("__APPLE2__", 1);
|
DefineNumericMacro ("__APPLE2__", 1);
|
||||||
break;
|
break;
|
||||||
@@ -230,14 +234,6 @@ static void SetSys (const char* Sys)
|
|||||||
DefineNumericMacro ("__GEOS_CBM__", 1);
|
DefineNumericMacro ("__GEOS_CBM__", 1);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case TGT_ATMOS:
|
|
||||||
DefineNumericMacro ("__ATMOS__", 1);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case TGT_BBC:
|
|
||||||
DefineNumericMacro ("__BBC__", 1);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case TGT_CREATIVISION:
|
case TGT_CREATIVISION:
|
||||||
DefineNumericMacro ("__CREATIVISION__", 1);
|
DefineNumericMacro ("__CREATIVISION__", 1);
|
||||||
break;
|
break;
|
||||||
@@ -251,14 +247,22 @@ static void SetSys (const char* Sys)
|
|||||||
DefineNumericMacro ("__LUNIX__", 1);
|
DefineNumericMacro ("__LUNIX__", 1);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case TGT_LYNX:
|
case TGT_ATMOS:
|
||||||
DefineNumericMacro ("__LYNX__", 1);
|
DefineNumericMacro ("__ATMOS__", 1);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case TGT_NES:
|
case TGT_NES:
|
||||||
DefineNumericMacro ("__NES__", 1);
|
DefineNumericMacro ("__NES__", 1);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case TGT_SUPERVISION:
|
||||||
|
DefineNumericMacro ("__SUPERVISION__", 1);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case TGT_LYNX:
|
||||||
|
DefineNumericMacro ("__LYNX__", 1);
|
||||||
|
break;
|
||||||
|
|
||||||
case TGT_SIM6502:
|
case TGT_SIM6502:
|
||||||
DefineNumericMacro ("__SIM6502__", 1);
|
DefineNumericMacro ("__SIM6502__", 1);
|
||||||
break;
|
break;
|
||||||
@@ -275,10 +279,6 @@ static void SetSys (const char* Sys)
|
|||||||
DefineNumericMacro ("__PCE__", 1);
|
DefineNumericMacro ("__PCE__", 1);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case TGT_SUPERVISION:
|
|
||||||
DefineNumericMacro ("__SUPERVISION__", 1);
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
default:
|
||||||
AbEnd ("Unknown target system type %d", Target);
|
AbEnd ("Unknown target system type %d", Target);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -195,13 +195,12 @@ static const TargetProperties PropertyTable[TGT_COUNT] = {
|
|||||||
{ "cbm610", CPU_6502, BINFMT_BINARY, CTPET },
|
{ "cbm610", CPU_6502, BINFMT_BINARY, CTPET },
|
||||||
{ "osic1p", CPU_6502, BINFMT_BINARY, CTOSI },
|
{ "osic1p", CPU_6502, BINFMT_BINARY, CTOSI },
|
||||||
{ "pet", CPU_6502, BINFMT_BINARY, CTPET },
|
{ "pet", CPU_6502, BINFMT_BINARY, CTPET },
|
||||||
|
{ "bbc", CPU_6502, BINFMT_BINARY, CTNone },
|
||||||
{ "apple2", CPU_6502, BINFMT_BINARY, CTNone },
|
{ "apple2", CPU_6502, BINFMT_BINARY, CTNone },
|
||||||
{ "apple2enh", CPU_65C02, BINFMT_BINARY, CTNone },
|
{ "apple2enh", CPU_65C02, BINFMT_BINARY, CTNone },
|
||||||
{ "atmos", CPU_6502, BINFMT_BINARY, CTNone },
|
{ "geos-cbm", CPU_6502, BINFMT_BINARY, CTNone },
|
||||||
{ "bbc", CPU_6502, BINFMT_BINARY, CTNone },
|
|
||||||
{ "creativision", CPU_6502, BINFMT_BINARY, CTNone },
|
{ "creativision", CPU_6502, BINFMT_BINARY, CTNone },
|
||||||
{ "geos-apple", CPU_65C02, BINFMT_BINARY, CTNone },
|
{ "geos-apple", CPU_65C02, BINFMT_BINARY, CTNone },
|
||||||
{ "geos-cbm", CPU_6502, BINFMT_BINARY, CTNone },
|
|
||||||
{ "lunix", CPU_6502, BINFMT_O65, CTNone },
|
{ "lunix", CPU_6502, BINFMT_O65, CTNone },
|
||||||
{ "atmos", CPU_6502, BINFMT_BINARY, CTNone },
|
{ "atmos", CPU_6502, BINFMT_BINARY, CTNone },
|
||||||
{ "nes", CPU_6502, BINFMT_BINARY, CTNone },
|
{ "nes", CPU_6502, BINFMT_BINARY, CTNone },
|
||||||
@@ -211,7 +210,6 @@ static const TargetProperties PropertyTable[TGT_COUNT] = {
|
|||||||
{ "sim65c02", CPU_65C02, BINFMT_BINARY, CTNone },
|
{ "sim65c02", CPU_65C02, BINFMT_BINARY, CTNone },
|
||||||
{ "pce", CPU_HUC6280, BINFMT_BINARY, CTNone },
|
{ "pce", CPU_HUC6280, BINFMT_BINARY, CTNone },
|
||||||
{ "gamate", CPU_6502, BINFMT_BINARY, CTNone },
|
{ "gamate", CPU_6502, BINFMT_BINARY, CTNone },
|
||||||
{ "supervision", CPU_65SC02, BINFMT_BINARY, CTNone },
|
|
||||||
{ "c65", CPU_4510, BINFMT_BINARY, CTPET },
|
{ "c65", CPU_4510, BINFMT_BINARY, CTPET },
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -67,21 +67,21 @@ typedef enum {
|
|||||||
TGT_CBM610,
|
TGT_CBM610,
|
||||||
TGT_OSIC1P,
|
TGT_OSIC1P,
|
||||||
TGT_PET,
|
TGT_PET,
|
||||||
|
TGT_BBC,
|
||||||
TGT_APPLE2,
|
TGT_APPLE2,
|
||||||
TGT_APPLE2ENH,
|
TGT_APPLE2ENH,
|
||||||
TGT_ATMOS,
|
TGT_GEOS_CBM,
|
||||||
TGT_BBC,
|
|
||||||
TGT_CREATIVISION,
|
TGT_CREATIVISION,
|
||||||
TGT_GEOS_APPLE,
|
TGT_GEOS_APPLE,
|
||||||
TGT_GEOS_CBM,
|
|
||||||
TGT_LUNIX,
|
TGT_LUNIX,
|
||||||
TGT_LYNX,
|
TGT_ATMOS,
|
||||||
TGT_NES,
|
TGT_NES,
|
||||||
|
TGT_SUPERVISION,
|
||||||
|
TGT_LYNX,
|
||||||
TGT_SIM6502,
|
TGT_SIM6502,
|
||||||
TGT_SIM65C02,
|
TGT_SIM65C02,
|
||||||
TGT_PCENGINE,
|
TGT_PCENGINE,
|
||||||
TGT_GAMATE,
|
TGT_GAMATE,
|
||||||
TGT_SUPERVISION,
|
|
||||||
TGT_C65,
|
TGT_C65,
|
||||||
TGT_COUNT /* Number of target systems */
|
TGT_COUNT /* Number of target systems */
|
||||||
} target_t;
|
} target_t;
|
||||||
|
|||||||
Reference in New Issue
Block a user