From 11be6bd23a1792aacc921185631d7b6ac4fc21c7 Mon Sep 17 00:00:00 2001 From: Brett Gordon Date: Sat, 8 Oct 2016 11:01:43 -0400 Subject: [PATCH] coco3: copy 8k bank at cpu $c000 to new bank freeing 0x6 for init --- Kernel/platform-coco3/coco3.s | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/Kernel/platform-coco3/coco3.s b/Kernel/platform-coco3/coco3.s index 405c05b2..1390c121 100644 --- a/Kernel/platform-coco3/coco3.s +++ b/Kernel/platform-coco3/coco3.s @@ -161,15 +161,24 @@ b@ sta ,x+ inca decb bne b@ + ;; move mmu bank 0x6 to 0xB + lda #$0b ; map mmu bank 0xB to cpu $0000 + sta $ffa8 ; + ldx #$0000 ; dest + ldu #$c000 ; src +c@ ldd ,u++ ; copy 2 at a time + std ,x++ ; + cmpx #$e000 ; are we done? + bne c@ ; loop if not done ;; set temporary screen up clr $ff9c ; reset scroll register ldb #%01000100 ; coco3 mode stb $ff90 ;; detect PAL or NTSC ROM ldb #$3f ; put Super BASIC in mmu - stb $ffae ; + stb $ffae ; lda $c033 ; get BASIC's "mirror" of Video Reg - ldb #$06 ; put Fuzix Kernel back in mmu + ldb #$0b ; put Fuzix Kernel back in mmu stb $ffae ; anda #$8 ; mask off 50 hz bit sta _hz ; save for future use -- 2.34.1