simple conio test works again

This commit is contained in:
mrdudz
2015-07-12 10:32:55 +02:00
parent 877fd532c2
commit 21999b081f
6 changed files with 96 additions and 94 deletions

View File

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

View File

@@ -2,9 +2,7 @@
; Screen size variables ; Screen size variables
; ;
.export _screensize
.export _screensize
_screensize: _screensize:
ldx xsize ldx xsize
ldy ysize ldy ysize

View File

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

View File

@@ -1,5 +1,6 @@
.include "pcengine.inc" .include "pcengine.inc"
.export vce_init .export vce_init
vce_init: vce_init:

View File

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

View File

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