From 6278c6d9fc0762b7ed9fd5b959a8f5ea453f1fd6 Mon Sep 17 00:00:00 2001 From: Bobbi Webber-Manners Date: Thu, 23 Sep 2021 18:16:21 -0400 Subject: [PATCH] Builds on Merlin-16. Disk image updated. --- applecorn.po | Bin 819200 -> 819200 bytes applecorn.s | 2 + auxmem.bytwrd.s | 2 + auxmem.chario.s | 2 + auxmem.gfx.s | 2 + auxmem.hostfs.s | 2 + auxmem.init.s | 4 +- auxmem.misc.s | 2 + auxmem.mosequ.s | 2 + auxmem.oscli.s | 2 + auxmem.vdu.s | 2 + extract | 2 +- mainmem.fsequ.s | 2 + mainmem.gfx.s | 200 ++++++++++++++++++++++++------------------------ mainmem.init.s | 2 + mainmem.ldr.s | 2 + mainmem.lists.s | 2 + mainmem.menu.s | 2 + mainmem.misc.s | 2 + mainmem.path.s | 2 + mainmem.svc.s | 2 + mainmem.wild.s | 2 + 22 files changed, 141 insertions(+), 101 deletions(-) diff --git a/applecorn.po b/applecorn.po index 19eaf3d2604695cadc6e27443df5d08fa0ffa636..b9aba99cbcc9a98e7defbdb6ee6fb99f907acbc7 100644 GIT binary patch delta 3334 zcma)8YitzP6`nh@bJs7xU@(s;yl~8P39t+#}H#5VBX(27na&wd8N5{$4*F-#qrE- z<6PMKBwMAqsLTX(h6P+c)3S!bvSxZ!e~({gDd1K!rNwgzHk5BMRnRV$B=eX!1M`7l zE^K`YW~wk%(>&!+&RcjcY+VXg_H>oLxhgJ$nWy)_GE)v5T^eUHSJNgw#~GPXWo@K zq2t^)nRj>0hSl#k<}GgI@)*-2vmLItjjgC4&5=}-;XH?#ZJD#70@`8tz?rpztEA2ik;$_N(|Qpj#?+B9{I9x`6y>DX_&Fma_8&l*xY~9XHOe3nD4V z2BeeR3hAVgt!v|?Hbb5JY5p*uA}Ezgd6sRI1XRZ730eElO?NrZuMsla@R!mNp5@N9 zT>##D?qmEf4T7{4zbU-|0qq?Es^ts7GvxjaUsOgt7o-5s8b`+>U)&s@0ME4h3V$RU zxrC$t;8zLn%jjh&_^$LBghwX@^f|vw$ovmC+E8d%DCCCuOwWoi|N3JdV0sP#amCg>S({*3~E0x?Y? z+E`d4w-qv_Dx_b&)a4{zI~k6RPfbM0L~KMMO^sf={cK}rcQ=W^QWzfL=m-f<-D$SA zkeMG{gdgQ_ke*AyRJ7Ah!=0|t(R6$)IzHWO6*@Wmo%($@<_oXv#jTbWB9Dy36;)MK z5*sC|7LIGwn2g*}#z{POTczCkP5Zi53>oVxAOZI{<> zO~yFAG)AURhi*G6^cTR>Al-K9woCS=g8r%}^6QCo+o9V|-FE7>OSfHqyNA4h%?mvp z2k;V8_y+V)xN;C*7LLDxHxzbV5zqPi0$o<|Zv#QG$JZkVWxqcN zA+#ZM)1UgU(iIxBNqG1pe);#TVy|Bolj~<-TLU3kgsxB+eZAl7nC*24F)zQuVio&) z`)OT4Mb%<)g+`i-X94~fChfYsW6HRS6Fc7+o3U4f8%bZk6)shzMpdcYQlhk5H{#(*aH_fho2{Kg zp)Rk-dZ~+M@(I5`hzmWxdlm0No~#;t5edJl!4Fz!TuQT`>d;sO)CL*H6cSFTl1h=j zjz;3DHY3W^GHnzD!ikYad#l|}Mq_cJgrP)r>bk1@Yf6b~RK&CJ>9ZD2*5Kt!eZ9WK z$tC1{#%>#g2KNf+FwR>o`+fAhLtTR*=ny^b`%a%8Hv|c{YVgYMQsk*ddr}lB6sUl9 zyoEF+SDG)hr%yMvNl(vVylGi#j+IF#Fw1Q%-3C+Up8GxgCr+QJu3UB%k{V!el~q)3 z*9X@h@SBNg3%{*R#99J?%b)v$J(laKD2jJB03ee(wtn=L~nP5)_W60_)-z{c?!a9)FPS(qA^2DgUasT68V{86dQ$Syi{TKaQS zbITdq*$@9>cQ{?GA3;P^sx&?z{VW5!5SxKK89z7P!5*|b;|U}@am=WfK|fPR8&2RX z`t=ePbfT5Q+DV*~PbHO>V>~vcMWTxOq35k4qYLry)oH&7{9iV#!n}Z8_}_@}1WJrc zkf*Z5Sir$V)Gycdh&Befa9cVBVtSQ(m!=y*jr6H^6>(`6) z0+BpEPL#-vF+EfzBeAG*(JFQZxmO*^GZ&Nc^( swA3!Ctmt6ypf>y!{gcw+t~DMmOkJnaI-9Z1mQiQRtg~fFw(QV<0ZfQ`b^rhX delta 1786 zcmZ{j3s6*57{|{!_ug}t-DTzB@=%mTMKKeV8FQw_NkmpwSQd6s@sZ|KYHFZD64?Y! zBWe?st+U6OMk9oyk(n%duMafhA&xI>cP;S|B0eJ@W8!E7+PMozOSv<5_TKydegFS= zzjIDuVO(Kh+}>y&M%hR5iwhz^^dvB8On4wDYy(r28wAG0r=_JNCRnVgu{OYdd^7L^ zjsXmNRXYN-0d_N9i@><}nVIH9bL`YP8MCd^Vr~3YFbL#McoCM66mKJ3fF50lQ)pOx-stdzTPa zFp?Vvo=)j+FwPurN>!$4?8!;uc(9G{kHz+4rc_ggl9R&PS&#c;V|%fbX;$yYrE@Bv z@y?*2uN}5@&pDGVLmA>6P6Qftf4k?Y=EPJs1Hiw@QcwOTwGZo_DgO?0tI_znr6Ta0 zON-A)QtVc6{-7bmmt!l`+njAy_X_26vA{pm7qc%Cg9q;9g2D9RzCzVTaUUdHI$!Tp z4?_0rp+oHf=yfDM`y^j0=WAi+CNsx98liznyPZD!wh9CJ9JizH`@i72ogvVb70y zE1gyQ_Dk}CgNK++yOb;lF~pQ3%B-{};Uh#95MayK3GlpHoRK4`sv>vr2;hCBDJT`!i?vTz7ntkw7xQk9Lr80GS~i~Df)RKjX1 zJWcgY6^0WXckUY=-ZR|1@t9m*g^jw}W>3Qbxwx^x!~E+={7O7tiR*s;zdT~d#xKd+ zSK~Qw#J{K)#>kIya1E4$^YFwlW%LNrFEQe#n`W@7bV+u+jguowRc}GMmCZZZoNDpT z`)j;jP~NYFv=k#T&1%b-IcqkPo=D|bqfwkzC|h_Fbz+1w=gyn|#sa4PE$zn|Kc%o$ zQ3ui*jL^bGj#~byREJLrGTYM=Aw9ur-d?<9>ATCkHK%cnTG{PW=y{B^%iqh&Ub$*@ zPVW0_@|gTkx`-R}O5tmeK45kqd`RF!9K-D>D`&FX(Sb*kfJn?MtLv5?;Y}9Vk}Fn1 zc}u>ihq69jjONI?kHyV$sSz(w+S*2qA_}5DC*k0s!`000E;WgRtJtZ8vTC{b7|YPA tnk>> ENTMAIN - LDA BGCOLOR - STA FDRAWADDR+5 - JSR FDRAWADDR+16 ; FDRAW: SetColor - JSR FDRAWADDR+22 ; FDRAW: Clear - LDA FGCOLOR - STA FDRAWADDR+5 - JSR FDRAWADDR+16 ; FDRAW: SetColor - >>> XF2AUX,VDU16RET +CLRHGR >>> ENTMAIN + LDA BGCOLOR + STA FDRAWADDR+5 + JSR FDRAWADDR+16 ; FDRAW: SetColor + JSR FDRAWADDR+22 ; FDRAW: Clear + LDA FGCOLOR + STA FDRAWADDR+5 + JSR FDRAWADDR+16 ; FDRAW: SetColor + >>> XF2AUX,VDU16RET * Call FDraw SetLineMode routine -SETLINE >>> ENTMAIN - JSR FDRAWADDR+43 ; FDRAW: SetLineMode - >>> XF2AUX,VDU18RET1 +SETLINE >>> ENTMAIN + JSR FDRAWADDR+43 ; FDRAW: SetLineMode + >>> XF2AUX,VDU18RET1 * Call FDraw DrawLine routine -DRAWLINE >>> ENTMAIN - LDA PLOTMODE - AND #$03 - CMP #$01 ; Draw in foreground colour - BNE :S1 - LDA FGCOLOR - BRA :SETCOLOR -:S1 CMP #$02 ; Draw in inverse colour - BNE :S2 - SEC - LDA #$07 - SBC FGCOLOR - BRA :SETCOLOR -:S2 LDA BGCOLOR ; Draw in background colour -:SETCOLOR STA FDRAWADDR+5 - JSR FDRAWADDR+16 ; FDRAW: SetColor - JSR FDRAWADDR+28 ; FDRAW: DrawLine - >>> XF2AUX,VDU25RET +DRAWLINE >>> ENTMAIN + LDA PLOTMODE + AND #$03 + CMP #$01 ; Draw in foreground colour + BNE :S1 + LDA FGCOLOR + BRA :SETCOLOR +:S1 CMP #$02 ; Draw in inverse colour + BNE :S2 + SEC + LDA #$07 + SBC FGCOLOR + BRA :SETCOLOR +:S2 LDA BGCOLOR ; Draw in background colour +:SETCOLOR STA FDRAWADDR+5 + JSR FDRAWADDR+16 ; FDRAW: SetColor + JSR FDRAWADDR+28 ; FDRAW: DrawLine + >>> XF2AUX,VDU25RET * Call FDraw DrawPoint routine -DRAWPNT >>> ENTMAIN - LDA PLOTMODE - AND #$03 - CMP #$01 ; Draw in foreground colour - BNE :S1 - LDA FGCOLOR - BRA :SETCOLOR -:S1 CMP #$02 ; Draw in inverse colour - BNE :S2 - SEC - LDA #$07 - SBC FGCOLOR - BRA :SETCOLOR -:S2 LDA BGCOLOR ; Draw in background colour -:SETCOLOR STA FDRAWADDR+5 - JSR FDRAWADDR+16 ; FDRAW: SetColor - JSR FDRAWADDR+25 ; FDRAW: DrawPoint - >>> XF2AUX,VDU25RET +DRAWPNT >>> ENTMAIN + LDA PLOTMODE + AND #$03 + CMP #$01 ; Draw in foreground colour + BNE :S1 + LDA FGCOLOR + BRA :SETCOLOR +:S1 CMP #$02 ; Draw in inverse colour + BNE :S2 + SEC + LDA #$07 + SBC FGCOLOR + BRA :SETCOLOR +:S2 LDA BGCOLOR ; Draw in background colour +:SETCOLOR STA FDRAWADDR+5 + JSR FDRAWADDR+16 ; FDRAW: SetColor + JSR FDRAWADDR+25 ; FDRAW: DrawPoint + >>> XF2AUX,VDU25RET * Reset colours and linetype -GFXINIT JSR FDRAWADDR+0 ; Initialize FDRAW library - LDA #$20 - STA FDRAWADDR+5 - JSR FDRAWADDR+19 ; FDRAW: Set page $2000 - STZ LINETYPE - STZ FDRAWADDR+5 - JSR FDRAWADDR+43 ; FDRAW: SetLineMode - LDA #$07 - STA FGCOLOR - STA FDRAWADDR+5 - JSR FDRAWADDR+16 ; FDRAW: SetColor - STZ BGCOLOR - JSR FDRAWADDR+22 ; FDRAW: clear HGR screen - RTS +GFXINIT JSR FDRAWADDR+0 ; Initialize FDRAW library + LDA #$20 + STA FDRAWADDR+5 + JSR FDRAWADDR+19 ; FDRAW: Set page $2000 + STZ LINETYPE + STZ FDRAWADDR+5 + JSR FDRAWADDR+43 ; FDRAW: SetLineMode + LDA #$07 + STA FGCOLOR + STA FDRAWADDR+5 + JSR FDRAWADDR+16 ; FDRAW: SetColor + STZ BGCOLOR + JSR FDRAWADDR+22 ; FDRAW: clear HGR screen + RTS * Plot bitmap character on the HGR screen * On entry: char is in A -DRAWCHAR >>> ENTMAIN - AND #$7F - STA A1L ; A*8 -> A1L,A1H - STZ A1H - ASL A1L - ROL A1H - ASL A1L - ROL A1H - ASL A1L - ROL A1H - CLC ; FONTADDR+A*8 -> A1L,A1H - LDA A1L - ADC #FONTADDR - STA A1H - LDA HGRADDR+0 ; HGRADDR -> A4L,A4H - STA A4L - LDA HGRADDR+1 - STA A4H - LDY #$00 -:L1 LDA (A1L),Y ; Load line of pixels from font - STA (A4L) ; Store them on screen - INC A4H ; Skip 1024 bytes to next row - INC A4H - INC A4H - INC A4H - INY - CPY #$08 ; All eight rows done? - BNE :L1 - >>> XF2AUX,PUTCHRET +DRAWCHAR >>> ENTMAIN + AND #$7F + STA A1L ; A*8 -> A1L,A1H + STZ A1H + ASL A1L + ROL A1H + ASL A1L + ROL A1H + ASL A1L + ROL A1H + CLC ; FONTADDR+A*8 -> A1L,A1H + LDA A1L + ADC #FONTADDR + STA A1H + LDA HGRADDR+0 ; HGRADDR -> A4L,A4H + STA A4L + LDA HGRADDR+1 + STA A4H + LDY #$00 +:L1 LDA (A1L),Y ; Load line of pixels from font + STA (A4L) ; Store them on screen + INC A4H ; Skip 1024 bytes to next row + INC A4H + INC A4H + INC A4H + INY + CPY #$08 ; All eight rows done? + BNE :L1 + >>> XF2AUX,PUTCHRET + +FGCOLOR DB $00 ; Foreground colour +BGCOLOR DB $00 ; Background colour +LINETYPE DB $00 ; 0 normal, 1 XOR +PLOTMODE DB $00 ; K value for PLOT K,X,Y +HGRADDR DW $0000 ; Address 1st line of HGR char + -FGCOLOR DB $00 ; Foreground colour -BGCOLOR DB $00 ; Background colour -LINETYPE DB $00 ; 0 normal, 1 XOR -PLOTMODE DB $00 ; K value for PLOT K,X,Y -HGRADDR DW $0000 ; Address 1st line of HGR char diff --git a/mainmem.init.s b/mainmem.init.s index 133cda8..a402815 100644 --- a/mainmem.init.s +++ b/mainmem.init.s @@ -113,6 +113,8 @@ RESET TSX + + diff --git a/mainmem.ldr.s b/mainmem.ldr.s index e7b28a3..2546b8b 100644 --- a/mainmem.ldr.s +++ b/mainmem.ldr.s @@ -160,3 +160,5 @@ LOADCODE PHP ; Save carry flag + + diff --git a/mainmem.lists.s b/mainmem.lists.s index f0fc5ec..7dc51bf 100644 --- a/mainmem.lists.s +++ b/mainmem.lists.s @@ -131,6 +131,8 @@ QUITPL HEX 04 ; Number of parameters + + diff --git a/mainmem.menu.s b/mainmem.menu.s index 97eea9f..3e02900 100644 --- a/mainmem.menu.s +++ b/mainmem.menu.s @@ -148,6 +148,8 @@ ROM8 STR "USERROM2.ROM" + + diff --git a/mainmem.misc.s b/mainmem.misc.s index 86e68aa..5477de4 100644 --- a/mainmem.misc.s +++ b/mainmem.misc.s @@ -217,6 +217,8 @@ FILEREFS DB $00,$00,$00,$00 + + diff --git a/mainmem.path.s b/mainmem.path.s index 07f454c..1ff85eb 100644 --- a/mainmem.path.s +++ b/mainmem.path.s @@ -312,6 +312,8 @@ PREFIX DS 65 ; Buffer for ProDOS prefix + + diff --git a/mainmem.svc.s b/mainmem.svc.s index 91e7457..6462b0d 100644 --- a/mainmem.svc.s +++ b/mainmem.svc.s @@ -1057,3 +1057,5 @@ MAINRDMEM STA A1L LDA (A1L) MAINRDEXIT >>> XF2AUX,NULLRTS ; Back to an RTS + + diff --git a/mainmem.wild.s b/mainmem.wild.s index baf85f7..9d99a1f 100644 --- a/mainmem.wild.s +++ b/mainmem.wild.s @@ -389,6 +389,8 @@ MATCHBUF DS 65 ; For storing match results (Pascal str) + +