Cleanups for Creativision.

This commit is contained in:
Christian Groessler
2017-02-01 19:46:04 +01:00
parent 0b2a699b46
commit a08f905224
22 changed files with 291 additions and 314 deletions

View File

@@ -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;

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -20,5 +20,3 @@
rts
.endproc

View File

@@ -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

View File

@@ -34,6 +34,3 @@ utsdata:
; machine
.asciiz "CREATIVISION"

View File

@@ -5,7 +5,6 @@
;
.export _wherex
.include "creativision.inc"
.proc _wherex
@@ -15,5 +14,3 @@
rts
.endproc

View File

@@ -5,7 +5,6 @@
;
.export _wherey
.include "creativision.inc"
.proc _wherey
@@ -15,5 +14,3 @@
rts
.endproc

View File

@@ -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);

View File

@@ -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);
}

View File

@@ -156,7 +156,7 @@ static const TargetEntry TargetMap[] = {
{ "c65", TGT_C65 },
{ "cbm510", TGT_CBM510 },
{ "cbm610", TGT_CBM610 },
{ "creativision", TGT_CREATIVISION},
{ "creativision", TGT_CREATIVISION },
{ "gamate", TGT_GAMATE },
{ "geos", TGT_GEOS_CBM },
{ "geos-apple", TGT_GEOS_APPLE },
@@ -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 },
};

View File

@@ -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;