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