Mercurial > hg > Members > kono > nitros9-code
changeset 3236:d276fe300c74
Update to level1 CoVDG to save a few bytes of code.
Update to level1 VTIO to fix a SetStat call to set Lowercase Uppercase with the 6847T1 systems.
author | David Ladd <drencor-xeen@users.sourceforge.net> |
---|---|
date | Mon, 19 Feb 2018 21:06:20 -0600 |
parents | b05e48458203 |
children | fd4c50256e05 |
files | level1/modules/covdg.asm level1/modules/vtio.asm |
diffstat | 2 files changed, 14 insertions(+), 15 deletions(-) [+] |
line wrap: on
line diff
--- a/level1/modules/covdg.asm Sat Feb 17 18:19:27 2018 -0600 +++ b/level1/modules/covdg.asm Mon Feb 19 21:06:20 2018 -0600 @@ -76,7 +76,7 @@ ldd #COLSIZE*ROWSIZE+256 allocate screen + 256 bytes for now os9 F$SRqMem get it tfr u,d put ptr in D - tfr u,x and X + leax ,u and X bita #$01 odd page? beq L0052 branch if not leax >256,x else move X up 256 bytes @@ -184,7 +184,7 @@ * Write * Entry: A = char to write * Y = path desc ptr -Write tsta +Write tsta bmi L00D0 cmpa #$1F byte $1F? bls Dispatch branch if lower or same @@ -192,7 +192,7 @@ beq L00B0 cmpa #$5E bne L00A0 - lda #$00 + clra bra L00D0 L00A0 cmpa #$5F bne L00A8 @@ -224,11 +224,7 @@ cmpx <V.ScrnE,u end of screen? bcs L00DF branch if not bsr SScrl else if at end of screen, scroll it -L00DF bsr ShowCrsr ends with a CLRB/RTS anyhow - -* no operation entry point -NoOp clrb - rts +L00DF bra ShowCrsr ends with a CLRB/RTS anyhow * Screen Scroll Routine SScrl ldx <V.ScrnA,u get address of screen @@ -298,6 +294,7 @@ lda <V.CColr,u get cursor character beq L014D branch if none L014B sta ,x else turn on cursor +NoOp L014D clrb rts
--- a/level1/modules/vtio.asm Sat Feb 17 18:19:27 2018 -0600 +++ b/level1/modules/vtio.asm Mon Feb 19 21:06:20 2018 -0600 @@ -992,7 +992,7 @@ beq L05C3 if zero, do nothing ldb #$01 else set display flag L05C3 stb <V.CFlg1,u save display flag - clrb +NoError clrb rts BadMode comb Exit with Bad Mode error @@ -1003,10 +1003,6 @@ SetupTerm bita #ModCoVDG 32x16 VDG bit flag set? beq GoCoWP No, go check next co-module type -* NOTE: THIS CALL DOES SET UP THE FLAG PROPERLY, BUT DOES NOT CHANGE THE VIDEO MODE -* ITSELF UNTIL A DISPLAY GRAPHICS OR DISPLAY ALPHA COMMAND IS CALLED FIRST. SHOULD -* CHANGE TO IMMEDIATELY SWITCH TO TRUE LOWER CASE MODE IF ON HARDWARE 32X16 TEXT -* SCREEN. ldb #$10 assume true lower case TRUE bita #$01 true lowercase bit set? bne GoCoVDG Yes, branch if so @@ -1016,7 +1012,14 @@ ldx #$2010 32x16 pshs u,y,x,a leax >CoVDG,pcr - bra SetupCoModule + bsr LoadCoModule + puls u,y,x,a + bcs L0600 + stx <V.Col,u + sta <V.CurCo,u + ldb <V.Alpha,u + bne NoError + lbra SetDsply GoCoWP bita #ModCoWP CoWP needed ? beq GOCo42 No, try next co-module @@ -1036,7 +1039,6 @@ sta <V.CurCo,u current module in use? ($02=CoVDG, $04=C080, etc.) L0600 rts - GOCo42 bita #ModCo42 42x24 gfx term? beq GOCoHR No, try 51 column co-module ldb #$10 Flag that we can do real lowercase