simple conio test works again
This commit is contained in:
@@ -18,7 +18,7 @@ MEMORY {
|
|||||||
# Hardware Vectors at End of 2nd 8K ROM
|
# Hardware Vectors at End of 2nd 8K ROM
|
||||||
ROMV: start = $fff6, size = $a, file = %O,fill = yes;
|
ROMV: start = $fff6, size = $a, file = %O,fill = yes;
|
||||||
|
|
||||||
ROM: start = $6000, size = $8000, file = %O, fill = yes,define=yes;
|
# ROM: start = $6000, size = $8000, file = %O, fill = yes,define=yes;
|
||||||
|
|
||||||
|
|
||||||
# standard 2k SRAM (-zeropage)
|
# standard 2k SRAM (-zeropage)
|
||||||
@@ -43,8 +43,8 @@ SEGMENTS {
|
|||||||
STARTUP: load = ROM0, type = ro, define = yes;
|
STARTUP: load = ROM0, type = ro, define = yes;
|
||||||
|
|
||||||
INIT: load = ROM0, type = ro, define = yes, optional = yes;
|
INIT: load = ROM0, type = ro, define = yes, optional = yes;
|
||||||
CODE: load = ROM, type = ro, define = yes;
|
CODE: load = ROM0, type = ro, define = yes;
|
||||||
RODATA: load = ROM, type = ro, define = yes;
|
RODATA: load = ROM0, type = ro, define = yes;
|
||||||
|
|
||||||
DATA: load = ROM0, run= RAM, type = rw, define = yes;
|
DATA: load = ROM0, run= RAM, type = rw, define = yes;
|
||||||
# BSS: load = RAM2, type = bss, define = yes;
|
# BSS: load = RAM2, type = bss, define = yes;
|
||||||
@@ -62,6 +62,7 @@ FEATURES {
|
|||||||
type=constructor,
|
type=constructor,
|
||||||
label=__CONSTRUCTOR_TABLE__,
|
label=__CONSTRUCTOR_TABLE__,
|
||||||
count=__CONSTRUCTOR_COUNT__;
|
count=__CONSTRUCTOR_COUNT__;
|
||||||
|
|
||||||
CONDES: segment = STARTUP,
|
CONDES: segment = STARTUP,
|
||||||
type=destructor,
|
type=destructor,
|
||||||
label=__DESTRUCTOR_TABLE__,
|
label=__DESTRUCTOR_TABLE__,
|
||||||
|
|||||||
@@ -2,8 +2,6 @@
|
|||||||
; Screen size variables
|
; Screen size variables
|
||||||
;
|
;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.export _screensize
|
.export _screensize
|
||||||
_screensize:
|
_screensize:
|
||||||
ldx xsize
|
ldx xsize
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ start:
|
|||||||
|
|
||||||
sei
|
sei
|
||||||
nop
|
nop
|
||||||
csh
|
csh ; set high speed CPU mode
|
||||||
nop
|
nop
|
||||||
cld
|
cld
|
||||||
nop
|
nop
|
||||||
@@ -55,23 +55,28 @@ start:
|
|||||||
; Setup stack and memory mapping
|
; Setup stack and memory mapping
|
||||||
ldx #$FF ; Stack top ($21FF)
|
ldx #$FF ; Stack top ($21FF)
|
||||||
txs
|
txs
|
||||||
txa
|
|
||||||
tam #0 ; 0000-1FFF = Hardware page
|
|
||||||
|
|
||||||
|
; at startup all MPRs are set to 0, so init them
|
||||||
|
lda #$ff
|
||||||
|
tam #1 ; 0000-1FFF = Hardware page
|
||||||
lda #$F8
|
lda #$F8
|
||||||
tam #1 ; 2000-3FFF = Work RAM
|
tam #2 ; 2000-3FFF = Work RAM
|
||||||
|
;lda #$F7
|
||||||
|
;tam #2 ; 4000-5FFF = Save RAM
|
||||||
|
;lda #1
|
||||||
|
;tam #3 ; 6000-7FFF Page 2
|
||||||
|
;lda #2
|
||||||
|
;tam #4 ; 8000-9FFF Page 3
|
||||||
|
;lda #3
|
||||||
|
;tam #5 ; A000-BFFF Page 4
|
||||||
|
;lda #4
|
||||||
|
;tam #6 ; C000-DFFF Page 5
|
||||||
|
;lda #0
|
||||||
|
;tam #7 ; e000-fFFF hucard/syscard bank 0
|
||||||
|
|
||||||
lda #$F7
|
; Clear work RAM (2000-3FFF)
|
||||||
tam #2 ; 4000-5FFF = Save RAM
|
stz <$00
|
||||||
|
tii $2000, $2001, $1FFF
|
||||||
lda #1
|
|
||||||
tam #3 ; 6000-7FFF Page 2
|
|
||||||
lda #2
|
|
||||||
tam #4 ; 8000-9FFF Page 3
|
|
||||||
lda #3
|
|
||||||
tam #5 ; A000-BFFF Page 4
|
|
||||||
lda #4
|
|
||||||
tam #6 ; C000-DFFF Page 5
|
|
||||||
|
|
||||||
; Initialize hardware
|
; Initialize hardware
|
||||||
stz TIMER_COUNT ; Timer off
|
stz TIMER_COUNT ; Timer off
|
||||||
@@ -79,19 +84,18 @@ start:
|
|||||||
sta IRQ_MASK ; Interrupts off
|
sta IRQ_MASK ; Interrupts off
|
||||||
stz IRQ_STATUS ; Acknowledge timer
|
stz IRQ_STATUS ; Acknowledge timer
|
||||||
|
|
||||||
; Clear work RAM
|
|
||||||
stz <$00
|
|
||||||
tii $2000, $2001, $1FFF
|
|
||||||
|
|
||||||
;; i dont know why the heck this one doesnt
|
;; i dont know why the heck this one doesnt
|
||||||
;; work when called from a constructor :/
|
;; work when called from a constructor :/
|
||||||
.import vdc_init
|
.import vdc_init
|
||||||
jsr vdc_init
|
jsr vdc_init
|
||||||
|
|
||||||
;; jsr joy_init
|
;; jsr joy_init
|
||||||
|
|
||||||
; Turn on background and VD interrupt/IRQ1
|
; Turn on background and VD interrupt/IRQ1
|
||||||
|
|
||||||
lda #$05
|
lda #$05
|
||||||
sta IRQ_MASK ; IRQ1=on
|
sta IRQ_MASK ; IRQ1=on
|
||||||
|
|
||||||
cli
|
cli
|
||||||
|
|
||||||
; Clear the BSS data
|
; Clear the BSS data
|
||||||
@@ -162,8 +166,10 @@ start:
|
|||||||
; Call module constructors
|
; Call module constructors
|
||||||
|
|
||||||
jsr initlib
|
jsr initlib
|
||||||
; .import initconio
|
|
||||||
; jsr initconio
|
.import initconio
|
||||||
|
jsr initconio
|
||||||
|
|
||||||
; Pass an empty command line
|
; Pass an empty command line
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
|
|
||||||
.include "pcengine.inc"
|
.include "pcengine.inc"
|
||||||
|
|
||||||
.export vce_init
|
.export vce_init
|
||||||
|
|
||||||
vce_init:
|
vce_init:
|
||||||
|
|||||||
@@ -6,9 +6,6 @@ HIRES = 1
|
|||||||
.export vdc_init
|
.export vdc_init
|
||||||
|
|
||||||
vdc_init:
|
vdc_init:
|
||||||
;;lda $0000
|
|
||||||
;;.byte $ad,0,0
|
|
||||||
|
|
||||||
ldaio VDC_CTRL
|
ldaio VDC_CTRL
|
||||||
|
|
||||||
VREG $00, $0000 ; MAWR
|
VREG $00, $0000 ; MAWR
|
||||||
@@ -39,8 +36,5 @@ vdc_init:
|
|||||||
|
|
||||||
.endif
|
.endif
|
||||||
|
|
||||||
;;lda $0000
|
|
||||||
;;.byte $ad,0,0
|
|
||||||
|
|
||||||
ldaio VDC_CTRL
|
ldaio VDC_CTRL
|
||||||
rts
|
rts
|
||||||
|
|||||||
@@ -1,4 +1,6 @@
|
|||||||
|
|
||||||
|
; VGA charset for the PC-Engine conio implementation
|
||||||
|
|
||||||
.byte $00, $00, $00, $00, $00, $00, $00, $00
|
.byte $00, $00, $00, $00, $00, $00, $00, $00
|
||||||
.byte $7E, $81, $A5, $81, $BD, $99, $81, $7E
|
.byte $7E, $81, $A5, $81, $BD, $99, $81, $7E
|
||||||
.byte $7E, $FF, $DB, $FF, $C3, $E7, $FF, $7E
|
.byte $7E, $FF, $DB, $FF, $C3, $E7, $FF, $7E
|
||||||
|
|||||||
Reference in New Issue
Block a user