From 0c0ddefe488a3ce779231517028a9347f59186db Mon Sep 17 00:00:00 2001 From: Terence Boldt Date: Tue, 26 Oct 2021 21:29:40 -0400 Subject: [PATCH] Update exec command firmware --- Apple2/AT28C64B.bin | Bin 8192 -> 8192 bytes Apple2/CommandFirmware.asm | 5 +- Apple2/CommandFirmware.lst | 168 +++++++++++----------- Apple2/DriveFirmware.lst | 2 +- Apple2/FileAccessFirmware.lst | 2 +- Apple2/MenuFirmware.lst | 2 +- RaspberryPi/Apple2-IO-RPi.hdv | Bin 33553920 -> 33553920 bytes RaspberryPi/apple2driver/handlers/exec.go | 25 +++- 8 files changed, 110 insertions(+), 94 deletions(-) diff --git a/Apple2/AT28C64B.bin b/Apple2/AT28C64B.bin index 26928c7ae65510aeadf6621b8da3470dff542de3..4bbe3cde065196e069ac33cdcd842ea58295c927 100644 GIT binary patch delta 1384 zcmZwBziZP$7{~E11vPEcHj`u!@;EqHI@!gsV;291I7kCu2mga~5r+~9$H8t%E2yb&zTtYEen>dCtQ-zT9*V$L9^Nt&Ob>*{b!1_$Ya~jgzx5 z#5W&K#tFTU;*<6E`0?#^*qn-F?w~*U3D>YWn5;E$e1;a(*zelqp6!18>m)L8{t7Xs@pTc26$E(%%&)&;U= zY|Yr3Ico-K7O`gD%8j>DXRR5?ENacF)>qE@nyia~b&sw4*1Cs+R)KYqtT|hAw&u>7 zLz+jdxwmrTt<+g-4l<8g^Q!f&v%Vv1J+KwdGPS%301zQVeEg&r-*1}u4 z@mA`rwE$T}twq)P(OEx{bt$kOvh}mI9-^RCU|k|>$<~ssrL&fhmJw^|t=xDkb=F#f zETh)4YW?c0$7Ed&tVeA9X01mkXcbtO$!geY*lL{BKx!gZ`j?h27hirf<`Ln`wRq`b!eAr_LrTKFGa8WE9|g)M>vLkcA< z;XMKtL4q>-^BIC-mm+9mks?GcMGO+|^v&eyEX%6~X66f@wWYPC-EN~F!j|{`ISg)! z5I%jqh&?lf4{sNH@tdcMVr3}3v4ddnOFV#1I9O;ye8YU0hSrUHed^AyI|T>c;I=p$ zE_l#BmmbjBM4j-*^27V9j~+kqdh!L#&+q$S&9uyO-IsHsMH}%>(U)7l_Z_0NViF#vU#gqa7NH5#>|cb`uE z`wkdb&@D1NY}YQjrGH6DSURp*VdI1A_&Oae1D><+;J$8C)Jj%kvH{uReHecJO!xH?KUn z)WH)ngG<8*&#De??%fja*jypK+;COa$JSdLm863|I_9i!&yUgHt5RK;@9IrljW_Iu_ z2Dhv{c)EjUX9iCXBRs1*xTS*=4o)~YksX`}iW7MTCvtEL8`a55-P<{6yK4fZBCn7hp2WDrf}9h|H_ zcxiUYNLlO4R4!EGuJUhUv@nZc{W2+yhxZsXvzgVPR9X9uT);&h(D>D*v%a)Y_c3{D5p zbl$<~>Vvms2k&5T+scDCJ9uYi@a8bWv&w^q?QC0!8rTK9q6jrn3$?KucE=v5gSyxg z^-v#sVQ)0RKG+uxu^$>?e;j}V(HIBeU^GF1rf7!dXn~e!h1O_;wrGd;=zxwm1c%}< z9F9)tj3aO)j>6ICf@9DX$Kp5~j}verPQuAJ1*hUPoQ^YaCc5D)oQ-pEF1q79oR168 z0~g{VT#QR_DK5k1xB@+KC9Xm*T#akc8+~vsuEX`{iyP1n{c$61LNNy5X54~XF%Y-m zcHDtGaTo5!J-8S5;eI@T2k{Ud#vlyFBX|@;@EC^TaSX!~coI)xIG#ocMqngH;Tep^ z7(9#T@H|TK0$#*R7>jWjj|q4g6Y&aO#cP;^$#@-8@CM58CZ^&oL@*6+BZ_zMF5biY z_y8YbIzGY-e2kg+1hX(3a}c5&F~pHT5-FrH7xVBb=HoLgz(RbEMfd_=;wvo1*Z2lY z@GZW>_gIP_unf!bBYwgP{EU_O1*`BYR^vDPjz6#le_}1xVLd9a0e|6d{DY0ygw6OD zTd)<|upK+F6aNk8Z+|3A4YP~c)fAbUrk1H~b~C%1Jxm=_*X(KPnfhigv$ttr_A&dK zhGsw0$n0+pFbA5(<{)#hX<`D?)HE~AO$*b~v@)$t8SaX~?-ke}gG$)yp%_-(obDBBboMFy1-OO3$Y;%q|*K{}M zne)vBriZ!ETx2dbmzYb23O$Yt41$dehh3VEUQ<=0gbGNz2+-vSL_nQaIgXSUguo+|qn@7x}W{7#r3^k9N zVde?*q9WbHP4ynO{saoyl7rBW6d}--b^qrn~CNX^Qw8x zOfr+r>t>31!<3mf%~bQ2iI{2TZ4))`n0L*4=6&;l`Or)^ADJ2EV>8oyVrH4yW{wF> zxrv#$NtmQbnY5W}=9y2;eDj%EU>2Is%_8%K`O)T zel$Os73OEN()?mpnP1In^PBnI{9)FZKh0XR&a5{TW`p_5{B8a*8_g!O+5Bs^n5|}; S*=}~2orQDw?^jr3@&5pkKLS7i delta 3665 zcmZwHd6>)v9LMn)S*fi1T-R?|x6M^Thg&N-5)sO}qQ+T{O0^_O+h$7|N7zDI>^QS- zbB`lJ3OP!Mu&ip`yZXF;JKOBD&;0Rv&pb2peV)(!F*D`vy%JMoO>9JDp9Yb|Vk~DY z22ZB7ib!u2VLewRA=#N?**w#kS;RQKCZCBP)O5tK zkz*}!X^GDI_1D}Qk(A_2t!7WDVT~#t$>+0Dt0&EHrrwLUPw!-HVb7^yjZR2*vChRh zS8$!nu(`slbA{G%6I!P`bDhg@xWcS+6(ujMGxPGi`xA zxsx^4o>P;dZic!U>JAQd8#Z^Cq3+O7ZbCzKXAX564tJQL?t(*C28X7ZLu0H_W&a<# z+#Kp)sQqLcYxL}th*I{P70zfQxYJ|UJYjZvLOZz$?bMyQ(_=V1VRm{7?%W#O zx!v4ZEC0@PbLWoSoo(}W)?%lZonCf&gFC&3%^PN?H?)(R&`#Z%JH3X(8)m1s;Lg3l zo%_t4we#-`m^=69?rfL0voPkJSFAb!j#LC0cNE%BMX)4X+ z5qVUa%VW|)T1qQU$JR@D?S?Ma>q`UNx=cK1R zFTJFPzq`wT1m*iy`DDg5#2Fnl`D#PRz87?E_Re4QpGEzp#Xc;48Wt_Y& zZ^(F=AQNShyeV(V+cH_+k$2@iNsuWrRo<6r@_|g34`qgYBs1k>Nt90{Nj{ZXk}RLe z=Q3NqkU8?D*k!KFllihhzLJHqNESE^&)Tyy6qT1Z0=&mOZjpevo~#Uw)JWa!?M* zPjXm(mS5zE9F=48s~ndTa#BvoZ}PjGmOtc-oRxF(r<|7y@|RqcOLAE<EolQN_%DM!ka3Zx>bM50J#QiW6{)kt+>kZ4ka)Fd&a7O73@kh;YDGWB`ZfHWkr zIpORT5nS4e*C$q^HWDfa~*vVWnkIW|v$X8?`Swt3-6!JCs zhAbgV$ujaSSx&wqsbmFNNmh|G;vlQZ8nTwGBkRcq@;%u|(#a;WnQS3j$u_c`>>xXd zlembRc!-zyh@S+=F0z~KA$!RWWFOg2ek2FTL2`)vL=Kam$uHyxIZBR^U&(QDf}A9$ z$ZzC#a+>@>&XBX@9Ql)+Cl|!soL2i;; 0 { + b := bb[0] + sendCharacter(b) } - b |= 128 - a2io.WriteByte(b) } } } @@ -202,3 +199,17 @@ func a2wifiSelect(linuxCommand string) (string, error) { "sudo wpa_cli -i wlan0 reconfigure" return linuxCommand, nil } + +func sendCharacter(b byte) { + fmt.Print(string(b)) + if b == 10 { // convert LF to CR for Apple II compatiblity + b = 13 + } + if b == 9 { // convert TAB to spaces + b = ' ' + b += 128 + a2io.WriteByte(b) + } + b |= 128 + a2io.WriteByte(b) +}