From 79278f124d0550c5263654b2876c192270a0a097 Mon Sep 17 00:00:00 2001 From: Bobbi Webber-Manners Date: Thu, 22 Dec 2022 13:44:40 -0500 Subject: [PATCH] Beginnings of SHR support (just mode selection for now) --- applecorn.po | Bin 819200 -> 819200 bytes applecorn.s | 1 + auxmem.hgr.s | 2 ++ auxmem.init.s | 2 +- auxmem.shr.s | 7 ++++++- auxmem.vdu.s | 22 ++++++++++++++-------- 6 files changed, 24 insertions(+), 10 deletions(-) diff --git a/applecorn.po b/applecorn.po index 893cc31b7b1258eb42d7685eb82ae50216506546..22b7713aec9300662a80eaa2cfa51e229ab15ed2 100644 GIT binary patch delta 11150 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 delta 11168 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 GNBV!CNh9t6 diff --git a/applecorn.s b/applecorn.s index af32207..6da0007 100644 --- a/applecorn.s +++ b/applecorn.s @@ -95,6 +95,7 @@ RD80VID EQU $C01F TBCOLOR EQU $C022 ; GS-specific, used but commented out KEYMOD EQU $C025 ; GS-specific +NEWVIDEO EQU $C029 ; GS-specific, new video register SPKR EQU $C030 CLOCKCTL EQU $C034 ; GS-specific, Clock control register diff --git a/auxmem.hgr.s b/auxmem.hgr.s index e2aeeb9..abb05df 100644 --- a/auxmem.hgr.s +++ b/auxmem.hgr.s @@ -19,6 +19,8 @@ HGRVDU22 JSR VDU12 ; Clear text and HGR screen STA GRON ; Enable Graphics STA PAGE1 ; PAGE1 STA CLR80VID ; Select 40col text + LDA #$80 ; Most significant bit + TRB NEWVIDEO ; Turn off SHR RTS diff --git a/auxmem.init.s b/auxmem.init.s index 8f4e4c0..f850a84 100644 --- a/auxmem.init.s +++ b/auxmem.init.s @@ -218,6 +218,6 @@ BYTE00 BEQ BYTE00A ; OSBYTE 0,0 - generate error RTS ; %000x1xxx host type, 'A'pple BYTE00A BRK DB $F7 -HELLO ASC 'Applecorn MOS 2022-12-21' +HELLO ASC 'Applecorn MOS 2022-12-22' DB $00 ; Unify MOS messages diff --git a/auxmem.shr.s b/auxmem.shr.s index 4f59f84..0a891c8 100644 --- a/auxmem.shr.s +++ b/auxmem.shr.s @@ -2,7 +2,12 @@ * (c) Bobbi 2022 GPLv3 * * Routines for drawing bitmapped text and graphics in SHR mode -* on Apple IIGS (640x200 4 colour, or 320x200 16 colour. +* on Apple IIGS (640x200 4 colour, or 320x200 16 colour.) * +* Enable SHR mode +SHRVDU22 JSR VDU12 ; Clear text and HGR screen + LDA #$80 ; Most significant bit + TSB NEWVIDEO ; Enable SHR mode + RTS diff --git a/auxmem.vdu.s b/auxmem.vdu.s index 7a710e9..6659624 100644 --- a/auxmem.vdu.s +++ b/auxmem.vdu.s @@ -117,11 +117,11 @@ SCNTXTMAXX DB 79, 39, 39, 79, 39, 39, 39, 39 ; Max text column SCNTXTMAXY DB 23, 23, 23, 23, 23, 23, 23, 23 ; Max text row SCNBYTES DB 08, 08, 08, 01, 01, 01, 01, 01 ; Bytes per character SCNCOLOURS DB 03, 15, 07, 01, 01, 01, 01, 01 ; Colours-1 -SCNPIXELS DB 08, 08, 07, 00, 00, 00, 00, 00 ; Pixels per byte -SCNTYPE DB 32, 32,128, 01, 00, 00, 00, 64 ; Screen type +SCNPIXELS DB 04, 02, 07, 00, 00, 00, 00, 00 ; Pixels per byte +SCNTYPE DB 65, 64,128, 01, 00, 00, 00, 32 ; Screen type * b7=FastDraw -> HGR mode -* b6=Teletext -> No-op -* b5=SHR mode on Apple IIgs +* b6=SHR mode on Apple IIgs +* b5=Teletext * b0=40COL/80COL * Colour table @@ -361,8 +361,9 @@ PUTCHRC PHA BNE PRCHR4 CPX #$20 BCS PRCHR3 ; Not $80-$9F + LDA #$20 BIT VDUSCREEN - BVC PRCHR3 ; Not teletext + BEQ PRCHR3 ; Not teletext LDX #$E0 ; Convert $80-$9F to space PRCHR3 TXA EOR #$40 @@ -593,15 +594,20 @@ VDU22 LDA VDUQ+8 JSR VDU20 ; Default colours JSR VDU26 ; Default windows STA FULLGR ; Clear MIXED mode - LDA VDUSCREEN + BIT VDUSCREEN BPL :NOTHGR - JMP HGRVDU22 ; b7=1, graphics mode -:NOTHGR AND #$01 ; 40col/80col bit + JMP HGRVDU22 ; b7=1, HGR mode +:NOTHGR BVC :NOTSHR + JMP SHRVDU22 ; b6=1, SHR mode +:NOTSHR LDA VDUSCREEN + AND #$01 ; 40col/80col bit TAX STA CLR80VID,X ; Select 40col/80col STA TEXTON ; Enable Text STA PAGE2 ; PAGE2 STA SETALTCHAR ; Enable alt charset + LDA #$80 ; Most significant bit + TRB NEWVIDEO ; Turn off SHR * Fall through into CLS