From 7fa3e667120c5a59a432e5baf8f3d9b3706b49e8 Mon Sep 17 00:00:00 2001 From: jgharston Date: Sun, 15 Jan 2023 02:25:19 +0000 Subject: [PATCH 1/8] Fixed soft key bug --- auxmem.chario.s | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/auxmem.chario.s b/auxmem.chario.s index d50c3ba..b7dc886 100644 --- a/auxmem.chario.s +++ b/auxmem.chario.s @@ -157,7 +157,7 @@ INKEYGO CLI ; Enable IRQs JSR GETCHRC ; Get character under cursor STA COPYCHAR ; Save char under edit cursor LDA CURSORED - JSR SHOWWTCURSOR ; Show write cursor + JSR PUTCHRC ; Display edit cursor JSR COPYSWAP1 ; Swap to copy cursor INKEYGO2 JSR GETCHRC ; Get character under cursor STA OLDCHAR @@ -174,14 +174,12 @@ INKEY0 ADC FLASHER BNE INKEY3 ; Not time to toggle yet LDA OLDCHAR ; Prepare to remove cursor BIT FLASHER - BPL INKEY1 ; Do not remove cursor - JSR REMRDCURSOR ; Remove read cursor - BRA INKEY3 + BMI INKEY2 ; Remove cursor INKEY1 LDA CURSOR ; Add cursor BIT VDUSTATUS BVC INKEY2 LDA CURSORCP -INKEY2 JSR SHOWRDCURSOR ; Show read cursor +INKEY2 JSR PUTCHRC ; Toggle cursor INKEY3 LDA #$27 ; Prepare to return CHR$27 if Escape state CLC BIT ESCFLAG ; Check Escape state @@ -215,10 +213,10 @@ INKEYOK PHA ; Save key or timeout LDA OLDCHAR ; Prepare for main cursor BIT VDUSTATUS BVC INKEYOFF2 ; No editing cursor - JSR REMRDCURSOR ; Remove read cursor + JSR PUTCHRC ; Remove cursor JSR COPYSWAP1 ; Swap cursor back LDA COPYCHAR ; Remove main cursor -INKEYOFF2 JSR REMWTCURSOR ; Remove write cursor +INKEYOFF2 JSR PUTCHRC ; Remove cursor PLP BCS INKEYOK3 ; Timeout LDA ESCFLAG ; Keypress, test for Escape @@ -487,8 +485,8 @@ KEYREAD2 JSR KBDREAD ; Fetch character from KBD "buffer" BPL KEYREADOK ; Not top-bit key AND #$CF ; Drop Shift/Ctrl bits CMP #$C9 - BCC KEYSOFTHI ; Not cursor key -* BCC KEYSOFTY ; Not cursor key +* BCC KEYSOFTHI ; Not cursor key + BCC KEYSOFTY ; Not cursor key LDX FX4VAR BEQ KEYCURSOR ; *FX4,0 - editing keys CPY #$C9 @@ -542,7 +540,7 @@ KEYCURSOR CMP #$C9 BEQ KEYCOPY PHA LDA OLDCHAR - JSR REMRDCURSOR ; Remove read cursor + JSR PUTCHRC ; Remove cursor PLA JSR COPYMOVE ; Move copy cursor JSR GETCHRC ; Save char under cursor @@ -555,7 +553,7 @@ KEYCOPYTAB LDA FXTABCHAR ; Prepare TAB if no copy cursor BVC KEYREADOK1 ; No copy cursor, return TAB LDA OLDCHAR ; Get the char under cursor PHA - JSR PUTCOPYCURS ; Restore and move read cursor [OFF] + JSR OUTCHARCP ; Output it to restore and move cursor JSR GETCHRC ; Save char under cursor STA OLDCHAR PLA From 6906a0d90e59290985575f9266ef6fc8d6031905 Mon Sep 17 00:00:00 2001 From: jgharston Date: Fri, 20 Jan 2023 13:33:00 +0000 Subject: [PATCH 2/8] Updated test files --- tests/KBDTest | Bin 3038 -> 3144 bytes tests/MODEs | Bin 0 -> 1247 bytes tests/Pixels | Bin 2221 -> 2230 bytes 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 tests/MODEs diff --git a/tests/KBDTest b/tests/KBDTest index 0c8a25c037de8e9e42d12d579d8351d286300ddb..a69125fe4ac9a94e2a063e87bed22ea7288bacef 100644 GIT binary patch delta 872 zcmZWmT}V@57(U9(4n?Ow?*cM4KK_Txa5@6$JiZ zfnJ32deuc&23l?^6@(XEL>FB|mO&&4K}JOcW$)QciY`9R`QGP!p67j^?@if? zZN8hFTmua3n7UO#2J!o%t% zy>~d-uYcBIid>uEzEb95+d7}e_!)j1-Fzf;CbC20YAik4r}hh8vBSkr@}YoxO7eLm zZ^#`MbW&fsU(N7|QB@WwGhP3`&}S4J(gxC^F6@>!g=nVFgNM(ic~ye}_R0kPnYZ`X zQ|6%qcR;IYw34@kSR7aM3Z5q&F3POfb{cV%R3ekbt&#J>y`^UQj%m(3!5{QW!oOTu z4}mhTxi!js;AF~tDqUT|>9xdpRkSKN*9NaRDf0sk8yq2Gw5{`)?jboMv}8w9HEn#a z(kxI?fx<9~CzB}4`yt@-I8_XLjhyb?@jt=I-|1OybPC%*_n^RSO|lIzgSiDU_exr5{m0GA}o@Qte> zkHJ~cM4o|K&`4gw&4OBKtvp9>PmClqdY|0@ZCH{lAslikQBTvjF*fTMT9YJSW92f1jlu8RLQ!kG)UXlpH?OEBot04=xLtgYIz zIo;<|5544r53PrudXOHfHP_m5ZMD|Y^d**0Q9iku9cZ;4&N=(O@AvzC-}gJKh7JAv zDI_k0jvg*qgO(Ymi|?`d`sghLE#kt%MHGS_M!1vrwIl z?{c_Ebui4Vsx~q6P9ntY~Rwz8gxM-y-%3A{i>= zGR^=O_74)w?81h^gp{zWFrCr0RxrL!*Iy8^7pan+ZibPeu`1BX(_(1CKQuxxA_uDk z7vD{jGU(LB6Y9YgnFPZdK; zaK6Tg9>ZMC0D1~c1s8_e6H_)dx>OWAQ&}PH>KmVyu7;S^BKC3`G7a^-|fp6+w zeZtl0NVweebP-_-qhI6I#o)E(2%OfK>i@4}Rs%OQgXj>v)C5oq=xV*j4%HTB1=@@q z)~zokv-v{hM=(1MvD!%#fseJ9Q49igk>eSiNG9d9oV_9w%uZD(Go~GGC>hN~;{_?l z#k2C1l*^~GavrmHVXcm!Mfh3QjvfHfwrQ5tBK>9d352y)v;x<){pb}GwH~wvJ2dkN IS`XNN1GFpSwg3PC diff --git a/tests/MODEs b/tests/MODEs new file mode 100644 index 0000000000000000000000000000000000000000..db024ebea16d7e9e08dc41cf8e1b19d889567930 GIT binary patch literal 1247 zcma)5J#5oZ5OyTGP(4^$6(LbhPqiGUiHLt1r*;!j+)#>|wv<*;89;9GiX%)@Y)4c~ z6=JEx%*@2VhQz=UBqRoAX0}RnKovyl0v+J|mj(nCli$1V?z`{4dnVjzatLLpF3wau z!VQfbf@!n*JrF$G+G3sntqt(%E@PW;ztv!vGdiFXE`4?ns(dLAZ$Od=Cl7zYs~%+V zr790Qpb>6r&}%-zyG*#N7x%;RpyEkbRta}&u-rqf4+;(Ok#g(-<62>#Kz7OH4tQ==P9_k96qM_IL(yL3d{#C;2rz2h1 zP1pFGBGSMmphlG^+_SNmv@3*YK{V(bTGig#YPmjZP=j#Kr2q_SB}Lr9Z&}KVm}lCS zYt?<`df?fuw$p%hhO~rxiSlDp^e*-7<|ZZF>yacVW6*ohwp@ncw-=JIs&_*PGEzTm zHUjX28mKF2SOCy33y`$GtIr(fvuz)1K8_|e(2-Qlc&`+*G)qNcS4L@{mSS`dOxy(S z9m%1SmgM5N$&1E2x?Guo+2sXTtIXG~%&%6evkNQc+Vn#0+De6HO+KUMl&mTm`hngh z+~@QC-6nh82>0zyfK1`OdhTh*?$H&SxvbAO%csU}S{au!#|Ash@_ckuz8$XEpuwtJ zZP&vwf80pu!%4yyJfR4{|P&0(SGRopYHN{(6+8&V;&3QcQy{<^&oV zJvvDeshSW9(bEtT!gF(>E+x^W{grUTa-7_{g@61%mC;C9^348QSfW!amdvO+Sd hda|;mcCkY^gAVDQPF)}xk%Ln3(av0G7 delta 62 zcmV-E0KxyZ5v>uhp9TR%lb{9^31n$uXK!v{Y;%*o1}79w@?$6>NoF8)Xk~dIWN#pD UZ*(k^_y(&1Gn1qTCzI3%;<%$0<^TWy From 5ecf53b3ba659ac411e0216d4951d7f7c49811dd Mon Sep 17 00:00:00 2001 From: jgharston Date: Sat, 21 Jan 2023 22:11:09 +0000 Subject: [PATCH 3/8] Updated test programs --- tests/Colours | Bin 0 -> 1562 bytes tests/Environ | Bin 0 -> 3171 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 tests/Colours create mode 100644 tests/Environ diff --git a/tests/Colours b/tests/Colours new file mode 100644 index 0000000000000000000000000000000000000000..b80486581c13f59e3e48e9d9c9cff17752155eee GIT binary patch literal 1562 zcmaJ>Ply|36rTZm5x%P3N=0mWeq=V8oiFapB-u&7WP&qEQ^q6fW*2!e+qtk|vx51u^twqOnt*I+@ghxL6klTBJga>)1Q`@P?L z@AuyKi1hFyccB8+UZ=Me_K9>dbr&uM{Q+FAU4mA)`FapSb!BuWWJxT*Xwz82mf?kea9>;5y>ojDVuI@Q$9pcd5H_tTdAD` z%Kw0OA-biSm*PYCtXwfoJwl)Zk;*5A@QIfyR}3@H54{wT>T`&{<)xUZM&9oe>4M1R zrKk46v$F==1jDqD%EQcl$8(WLtyj>jpnU+Q$?%ir@k5NO?PVfER|3Ui86InOCt?B6V|P*e#a0uh`#e1|Rc=XZuPyucMc* zR1EId?3{rqH9T=N3PgHyF|x+gZC-hGqXqqTZ>!US^?>dc(-ffFd@X3fm8c^q!}S-2 z@U?Is!wr-A?H~-Gs3rIPNmqgvqiMP>7}MPu&Ij2(JiZT(t)o&ogGe8rIsn6B4qOL| z;Xx?k5b5*u7;d2yi3UzoJ5Xk18y?GR=0d|$OGNsL4k6=Up_Xb}sBcUlcq~kI7sdbX z#E6S{IWukzk$yOxL`1JBVy=))IEeJ~sUbL`--6A758wcDCXs$Ulf?0Bs_oaNk&1jw zq&ttsF(x(rmY!y%^S@*1_rbNrcog|x;H3D7NPqr!>Hm-jFm_TUB0qF;N|lr(AAfoz z1}vEa3VjUIymD1a2{Y4unbs3qXAHjjAejxXj39nEDPH@L9aS%(5O1g$t`=* z#Yg4WG(%m?3lZ_PiLMcOiQN;Utz{f#$50pIgQ+g$o+PKEviI*S)I%!UG2Sr zgE$#u=ye0=UFGzKq2mz9ZT$!c7dp+&F2MGKhvWmk03wGocsJbKXb%v7bf|Zl{q}?) z!f(&ueDA J%pZ`$e*ug{#%%xq literal 0 HcmV?d00001 diff --git a/tests/Environ b/tests/Environ new file mode 100644 index 0000000000000000000000000000000000000000..95e6e9a7930d93bdcf6566f8c134794ba35e4081 GIT binary patch literal 3171 zcmZuzU5Hy*9Z#YKD_&u>x<1J6=^;sTCrNwnO>*bX$wzzVCTY{1Nn(;|r}c}>D*Gwq_jtVGT&9kc4t-yQWIu={;)IN9@=8%XT9 z<02x^0>no8L&Il!vf_TU657_o(XQw|Nu+ebrW|+4(X1o3AJw~K^6Mw2ij1O<` z4C3V{t?p;9x>Gn+A|=SwMopARg_6q#FTA zTTvqW7XmSRA*SmmVk@C0GWi14<}2AbUtM+Bs@-ikY}cFI_4+%f+rcmV+*rx*ELWAt zS6`U(_CjRb-*E-2@FE%!=OwO0zWL&uJEwXixzrJGFDQ}ko%^dLru#P&>FaP zM1Dvi{3JQ&*U&)0PCmT&)1RRQX$}g{=Xd>cXoBEN=}q z#>0K`1f;Fd+TPtAxs)9FwbFXVBA>tSOP^&ONpcchb=@sqlx)?aH7|@maR@Nw(50iCGEhkqsF=zZfF9t-t0O`L0 z>*Q7^0KZGxAnD?(QWk>$JTq6K??p4CAKVO7a)!7=0k6o|!^0sle~W-$qaTt;{Rro# zYO4sNev+pZDCa>S8BK|P3?QiwarE!9?gNy3M=$~jxTio8GWCO z!x2T>qrK~=h0$jT2b2cLCL|Lg>0d%CBOSuuYX$<#rRCOAUn7J@Kl9w2XGg=AU4G#a zVI+F*#n3cGIOhW);Wy`EK%PBo!3I~tm+?Epk&KTQ{dkeP`%{=Qd4J?jj6O(}i<+>FuvS2A&UP`w;zhnYFPtpCmoZ=4%u%h)3={P{CLq&sYkjFGfzJ{WAa7N2>5hyki+BW7gV~! zc)Qxxbt3=!BMWk#PK4dTWunC17g{h2WTBuLMEy`GY9VBP+tP^m@zAVgf@o>`mPzC! z!i#ALFD3v&#|G|kr1$q_Q%RtD^Vuso=eJy+KT74Y)>4X!QUQvQXWPD73m#HBxO3i| zAjMSv|40SzGFM_vcncq;DbNIes0Tp8%+TrtOTa|lUqvZbTkF;qDU>c>zFa{EUZ^rpjLH3v~l>4sd_eU&j&0+?W6JC99ygeOG#=a8!vG~K2lX*=%wc{B(k=aaS zZY9Jf9v(r@PfETK^}Ku|G!6Gs!Bk?usLtNiUz$V8cIWDicuG^nJ9ujJLu?&kgB(u> z96O=nz2M@{0yHJ|>$Mpi$Vm^AT%A7Rts61K6Q{y>YAmNuOw*R z!_LqwCHBYSYyl}ej$}=z(GioQ3@i}L5$SyDak`)zq5fkf_Ln}=#P}*^z`O;2L4 Date: Sat, 21 Jan 2023 22:11:28 +0000 Subject: [PATCH 4/8] Delete ENVIRON#060e00 --- tests/ENVIRON#060e00 | Bin 3195 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 tests/ENVIRON#060e00 diff --git a/tests/ENVIRON#060e00 b/tests/ENVIRON#060e00 deleted file mode 100644 index 91d0d19e542bc9a190ea860ac7f1bd17a26ab046..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3195 zcmZuzTZkiB8BU@DDweQ1x<1J6nM0CEb&~0-N>W{2xy)2ol9|kQCoz?t=^1aNJJmB` z(@9&Ep6v!%W<`Wi9~x#++z0Vt@UjmJD?T*himf91;Dh+!gXprbVqm~apal`UeE+Fb zPcIrsa?XGL`~RK){8Hot=TBIL)kgOQ-gv~6OX`voIlpkissn#_*gIhNdfs5X=QB6p z*l|Y_=DU;0V06cqBF~&NrAP|w9k<4q3}ZeoMfz6+QNuBvKP)9_ zshV#wD*+o9U`jFDiL#Y2Kh_!U2lBH>+PH^2fz3WZ8^iU zT$UnVe`dzpbCywW$2D1n7g2~fFL5dI?Pq7)K2sxcN)^HBMJe*?`M(CaJuGzW!e@^Vp%y!rW{D%z4cI~I1v{jujVJ-?`G zMz_K2-f(Mg*qe+!2w6M+!~mIvK#FRq=T z<#V8Qx~jU^ak>tEHqIOtLPZFe!@!>|1qKWTbfvzN)e8FkWL=TV$rZ(%F@BF11EN|0 z_uqhZGOH4R-^HyFckxBR3&ww*n@Q34qL|SSZ3H4Y&Dt>tv<&W%R3)?#+6-D$CoMN-Z6)m6sYokp|EoLZ-0tzHuXH-r?= zz_SG%<=15?s#5~5RM5isC2sooTjZ2@l;D0=%gZL6fJ7%?2v2faaPnz{b^U3PCYNrf z&w3uND9Rq~UO&r>Itw@;H9$5YnGi|;0$Lei5cXcu;8-p#wubx?AvF5gr)E4m96ayx ziw_7R(Yw!vs>#C{@0$XCGj8_DvS-YXaVp@;`1W8Z{NqJGUgYln1gdo28~S6>0Z4%q z{lcXg>*KgT@Nn_Q-T^Pt_J3uIZx~Ya%apl8^ZCs_z?w~w$0g%S_^oI;`9AF^Nz)L* z)fE7~kPG+$u2%^9&$$Pi@=Z`%t=O zwT2F&q3jzvk&|#Qrog?J31r$9E(7lQ{=TR*F;s6pc{*qOmh1Besa)1rNKs}gs2YN8 zTUTqr>q@tI#+ze=n9BbjuHdoeQmhGU;Y&3E#9)uCZLCh&g~M{Px@4>Nl8vYsU-2+O z0A8X|TuvRevpK@Cs5agRz;ZN4^c)T_4&cW&!}8@%%NHB!Q}#p!!@AodeWePL^oAk4 ze?lz_q7=JVISD$1h?J`SB86OZ+IDI=yIN~H-A-JPkc?}Mwc48C5i2Qne=U>_t(AE( zTnZg}s3W98&4syVLQ}YrVqdu)D*NPmgE}39GP6++fP_J!)d`k>iD+s?!B<;#YV#0E zmoHzgpaL&b(Z6->Z7KFWTKyn-oJQ3rjN}48_=2-y3aB2IG-0#eQu5;nC?3 zXFjWq<5NMvp$%ne*{6BoLi5)Vf`FCGp>L9;68QtX%2>AUJn!%5ldT)h!bDYE$v z-XHY{Tidiij;DhYDX(6j21pn)k3?SG%^LDT)$H>`LG7ulR*QO@Nl0w{+)Sk&Y+&87h Date: Sat, 21 Jan 2023 22:12:52 +0000 Subject: [PATCH 5/8] Tided MODE fall-back MODEs sorted into logical order and optimised fall-back for unsupported MODEs. --- auxmem.vdu.s | 43 ++++++++++++++++++++++++++----------------- 1 file changed, 26 insertions(+), 17 deletions(-) diff --git a/auxmem.vdu.s b/auxmem.vdu.s index 89ac8bb..d51f72c 100644 --- a/auxmem.vdu.s +++ b/auxmem.vdu.s @@ -112,16 +112,18 @@ VDUWORKSZ EQU VDUVAREND-VDUWORKSP+1 * * Screen definitions -* 0 1 2 3 6 7 ; MODEs sort-of completed +* 0 1 3 4 6 7 ; MODEs sort-of completed 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 04, 02, 07, 00, 00, 00, 00, 00 ; Pixels per byte -SCNTYPE DB 65, 64,128, 01, 00, 00, 00, 32 ; Screen type +SCNBYTES DB 08, 08, 08, 01, 08, 01, 01, 01 ; Bytes per character +SCNCOLOURS DB 03, 15, 15, 01, 07, 01, 01, 01 ; Colours-1 +SCNPIXELS DB 04, 02, 02, 00, 07, 00, 00, 00 ; Pixels per byte +SCNFALLBACK DB 03, 04, 05, 03, 04, 05, 06, 07 ; Fall back if unsupported +SCNTYPE DB 65, 64, 66, 01,128, 02, 00, 32 ; Screen type * b7=FastDraw -> HGR mode * b6=SHR mode on Apple IIgs * b5=Teletext +* b1=40COL/20COL * b0=40COL/80COL * Colour table @@ -704,15 +706,16 @@ VDUINIT STA VDUQ+8 * MODEs available: * MODE 0 - 640x200 SHR graphics, 80x24 bitmap text (GS only) * MODE 1 - 320x200 SHR graphics, 40x24 bitmap text (GS only) -* MODE 2 - 280x192 HGR graphics, 40x24 bitmap text +* MODE 2 --> MODE 1 * MODE 3 - 80x24 text -* MODE 4 --> MODE 6 +* MODE 4 - 280x192 HGR graphics, 40x24 bitmap text * MODE 5 --> MODE 6 * MODE 6 - 40x24 text * MODE 7 - 40x24 with $80-$9F converted to spaces * * On //e, MODE 0 -> MODE 3 -* MODE 1 -> MODE 6 +* MODE 1 -> MODE 4 +* MODE 2 -> MODE 5 * VDU22 JSR NEGCALL ; Find machine type AND #$0F @@ -721,16 +724,22 @@ VDU22 JSR NEGCALL ; Find machine type :NOTGS STA VDUBANK LDA VDUQ+8 AND #$07 - +; jgh BIT VDUBANK - BMI :INIT ; Skip if GS - CMP #$00 ; Mode 0? - BNE :S1 - LDA #$03 ; --> Mode 3 instead - BRA :INIT -:S1 CMP #$01 ; Mode 1? - BNE :INIT - LDA #$06 ; --> Mode 6 instead + BMI :INIT ; All MODEs supported + CMP #$03 + BCS :INIT + ADC #$03 ; Fall back to replacement MODE + +; BIT VDUBANK +; BMI :INIT ; Skip if GS +; CMP #$00 ; Mode 0? +; BNE :S1 +; LDA #$03 ; --> Mode 3 instead +; BRA :INIT +;:S1 CMP #$01 ; Mode 1? +; BNE :INIT +; LDA #$06 ; --> Mode 6 instead :INIT TAX ; Set up MODE STX VDUMODE ; Screen MODE From 34ed8b02ca0024d6b1779b130bcee47444e4fb79 Mon Sep 17 00:00:00 2001 From: jgharston Date: Sat, 21 Jan 2023 22:16:25 +0000 Subject: [PATCH 6/8] Add files via upload --- auxmem.chario.s | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/auxmem.chario.s b/auxmem.chario.s index b7dc886..a700742 100644 --- a/auxmem.chario.s +++ b/auxmem.chario.s @@ -157,7 +157,7 @@ INKEYGO CLI ; Enable IRQs JSR GETCHRC ; Get character under cursor STA COPYCHAR ; Save char under edit cursor LDA CURSORED - JSR PUTCHRC ; Display edit cursor + JSR SHOWWTCURSOR ; Show write cursor JSR COPYSWAP1 ; Swap to copy cursor INKEYGO2 JSR GETCHRC ; Get character under cursor STA OLDCHAR @@ -174,12 +174,14 @@ INKEY0 ADC FLASHER BNE INKEY3 ; Not time to toggle yet LDA OLDCHAR ; Prepare to remove cursor BIT FLASHER - BMI INKEY2 ; Remove cursor + BPL INKEY1 ; Do not remove cursor + JSR REMRDCURSOR ; Remove read cursor + BRA INKEY3 INKEY1 LDA CURSOR ; Add cursor BIT VDUSTATUS BVC INKEY2 LDA CURSORCP -INKEY2 JSR PUTCHRC ; Toggle cursor +INKEY2 JSR SHOWRDCURSOR ; Show read cursor INKEY3 LDA #$27 ; Prepare to return CHR$27 if Escape state CLC BIT ESCFLAG ; Check Escape state @@ -213,10 +215,10 @@ INKEYOK PHA ; Save key or timeout LDA OLDCHAR ; Prepare for main cursor BIT VDUSTATUS BVC INKEYOFF2 ; No editing cursor - JSR PUTCHRC ; Remove cursor + JSR REMRDCURSOR ; Remove read cursor JSR COPYSWAP1 ; Swap cursor back LDA COPYCHAR ; Remove main cursor -INKEYOFF2 JSR PUTCHRC ; Remove cursor +INKEYOFF2 JSR REMWTCURSOR ; Remove write cursor PLP BCS INKEYOK3 ; Timeout LDA ESCFLAG ; Keypress, test for Escape @@ -540,7 +542,7 @@ KEYCURSOR CMP #$C9 BEQ KEYCOPY PHA LDA OLDCHAR - JSR PUTCHRC ; Remove cursor + JSR REMRDCURSOR ; Remove read cursor PLA JSR COPYMOVE ; Move copy cursor JSR GETCHRC ; Save char under cursor @@ -553,7 +555,7 @@ KEYCOPYTAB LDA FXTABCHAR ; Prepare TAB if no copy cursor BVC KEYREADOK1 ; No copy cursor, return TAB LDA OLDCHAR ; Get the char under cursor PHA - JSR OUTCHARCP ; Output it to restore and move cursor + JSR PUTCOPYCURS ; Restore and move read cursor [OFF] JSR GETCHRC ; Save char under cursor STA OLDCHAR PLA From d3f3d2e267e5a57cb3806a4aa790f33e4e348431 Mon Sep 17 00:00:00 2001 From: jgharston Date: Sun, 22 Jan 2023 21:31:54 +0000 Subject: [PATCH 7/8] Create x --- demos/x | 1 + 1 file changed, 1 insertion(+) create mode 100644 demos/x diff --git a/demos/x b/demos/x new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/demos/x @@ -0,0 +1 @@ + From 6739f65d7f06e6c9f652f08a8401edf5d36bb09d Mon Sep 17 00:00:00 2001 From: jgharston Date: Sun, 22 Jan 2023 21:32:36 +0000 Subject: [PATCH 8/8] Create x --- demos/graphics/x | 1 + 1 file changed, 1 insertion(+) create mode 100644 demos/graphics/x diff --git a/demos/graphics/x b/demos/graphics/x new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/demos/graphics/x @@ -0,0 +1 @@ +