From f3803fb0dbc6b0f51d84085aa1694ed36338dfa2 Mon Sep 17 00:00:00 2001 From: FeralChild64 Date: Sun, 12 Jul 2020 16:48:50 +0200 Subject: [PATCH] DOS Wedge nowv asks for confirmation on dangerous commands, updated binaries --- bin/basic_generic.rom | Bin 8192 -> 8192 bytes bin/basic_ultimate64.rom | Bin 8192 -> 8192 bytes bin/kernal_generic.rom | Bin 8192 -> 8192 bytes bin/kernal_ultimate64.rom | Bin 8192 -> 8192 bytes bin/mega65.rom | Bin 131072 -> 131072 bytes bin/mega65_pxlfont.rom | Bin 131072 -> 131072 bytes doc/Extended-BASIC.md | 1 - src/basic/wedge/wedge_dos.s | 68 +++++++++++++++++++++++++++++++++--- 8 files changed, 63 insertions(+), 6 deletions(-) diff --git a/bin/basic_generic.rom b/bin/basic_generic.rom index dc9dba7bbfb39ebcbaba4cd5b72bacba3350e308..8e9caf1c002eca45c671f4250b3621c8ff6c618b 100644 GIT binary patch delta 5142 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 delta 4396 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 F{{w3zzuo`< diff --git a/bin/kernal_generic.rom b/bin/kernal_generic.rom index 75684fcc422bb9df7b58d2ea2c882f1b19d72a78..57116e02d872973f9151e1cbd0091ae1bd0b48f7 100644 GIT binary patch delta 1004 zcmXw1UuauZ9KI(vH`dUut!pu&Y{#2FO=ugkP1kE7vEt&caM2NPJ_#p(u4HQqeZF}} z!TzLlizehnAB0QEQP0+Cf*Z0j>(fHwL%GOa=EG>Srdu}{SJ{IDp`P4OIQQfGzTbC$ z=kM~|@?4Qs@t=q6mbr;fTwfPVFCOf&@A?Y$)qO{?Pt4zY5z#U6XE)b9rohA6JSF(w zU)zHHa(mX6Fnj1D927znCUnC;;*YLtuXR@ZU&^LH(-qm4TXeA^)6XprU5pgpt#G~2 zgZUm@uJG8(5=|34d8aK{qW1hwd$}%ZTRYlIyWh_~wngn;%|zc+Ch>zGw1bVx*7@S) zJ(_{9lUevGnS)YNhpWjnT;ab^L!||k##Ne7nE*2Q=?oZDfr5|9`Wc8*zy1~^sBt%L z9jAr632P`1i9E#fP{@Npm<#Xk@?D1N%7A000IcSx{$yFSW>aCEcorQ`fU zAJ^!Zk8C4kpFAd_s0-EK+>p?e8^uOeuS)2)2StXz^`LDxB23`q87DlzgkHqE${n84 zEu{VT zA2tYMYyieBFZ1#hIvJ*wMnpPR8Wrhy=@s$Du&8bv6Mq^KZw!iIZA3iWIQ#ZlK@)aX z{2-g|h760V92PiKXWS=>>AgB4?O55{o+a(~%3`}f6hhOsN;CGWG!t3263w(d>sbov zplXPnn(&Xf$k5lMe@?!LK ZEH-oMbo7Jwqo)L+e`{;M+;dO8{y!#GoNoXC delta 942 zcmZWkZ%k8H9KEj(D6~}PA`#qhH<~z&*dPYhMV&gSie5z_`hi9BR%k;18M7=gAsR@? zHLh;i!|ucUu-TB_>P5j;vjL^0pGtTM#H-N{+Y+ONrvgzQiq874yM0}<4?B6uJLmjP zPR{Mx*0rsZ2H>qM^#`Znip#wqXo96G{U)!3yc*CIJrqplBBE}>Wy8HiLBPYvL!`Z# zMWFjHkj>gCP<@wRdCp7xNHm&=$4B70xB{4nY$2s9BBIfIs3Zh`9+WL4w)T}KqR$f) z;6bTpbXVtOm^e~yc@wK7ttpSZk(H6QlviHIEX0}e$*Wi)kA5xLh*R}pCuvi?xQ(=` z9^6VCsvA4dWEc)5bK8&O)*S-@JYIJ_`hcSdji7rgDJRm@J~YL=Z$f{=idgNwh-~$JsMlikH%2 zT*gFrCmwh!R+hpKM7}3`rLMLP1kQ@7%Q6vx*)b?TagHjoJOp)&Hvdfhh0N!nx^uoXmI9BCzxB?=Ok@yAvUx#YrS zjpRt>A(S-Kk&j%gsMF1qe%Q1UjceclwPI9>6+%MvP$h0`6vSacJ+!AXyH-}SPw)SG zPjBALyrtQt+4HP|e|yFTsuUmnW?iUy@nDzzQ@v~}S6>}-V(f$Jk2XXO#P@Hl4^#!7 ztS(T3pM2LAtV8V?%Z=9>KEjPch{A-fyn(;IslME)e1yjR_;|A|m`HuxY%kT2`op$* za0mZUFAvd1Ev9HZMH49|fFA;M z8g!~a(MSE-B*bYzI|&J@-;0|s(&D{@IaGi|0pbNH7C>{UC83fN<4?OE;Zj zd>2*OVJ>I4x_5cB5%XVltmE0oTjtYVsOMl72A52nfS$5Np)ca<>5fC+-FM#Kce30e>YTw>WkHm1 zkVf|e2>F(^pnZ^e0m5`l>Bd2((QX1FmAZJYG-q6xJN#gsTxo23YT~+wIG5PdO|e%b zIJH?DWC=)&dC=qtvq@x_fx4SE-!*)AjXyipbE`k$}un!|P7LR;p4Y!F762S!aV^YVtB z9Hy=wL3Ctw7}3$y7tr;?D0S_5bYlozA4IZx1U~Oel`^|E7iq`J z-u4V>zgXpT*yqT;XixD@P& z)E~A+us=h|tnRjyECt&p+pBO|vQlx-_*L~x(#_gdkcbNQk8w6C#bFrU=b4w6=XsyD z?QPqGN(es8D}RS?z{=hp5H5uavWn*$a(qMK0#betkJ>GKfrQJ4dy2z=HKPC#_s*7s z3ok%E&zL0{tA%n_t0*$CF5^nD2XB*blUP(#TwKCAoP{%wx6XUNJUG}m?)6-gAFTOp zd~$R&Zbr=h{=xW&uE$}mZUD+7eaL8w^61|b`aB4`2RqA1tmbo$M^jqYFbdw6|4Tl8 z^7PsBi5JZWUmkk(|0m^j>U{axbY}8{`RGJeu-;6SOq=G++qnAun5H_UsxgMmNt1E9 zs%O*@R>W0JQ&o6-Cd}KyFR@3J;Few(pHTo#hMkOHk{qH@Mdy>`o;*$ll`3SW}SB93Xxlz$Z!l)@&0#MTG1&d^)6Y&HEGDg*_D$JtB1Kc3gH)aF-nA zp>I^FmFpt{e3obIZH-M;9CZqSoDO?a&@s%|tcGLo>HsN)kH0syN4oyn!~qbx%vT0U z%hqWJZXvBqMyrTM)IX2OG7yP7S4GY&TxEIbGV26gWF4pFmWP%qZP;VEDL3Y3`JEA^ zyJc)u6B;RN;88-8a6rO-3Hx%D#7!%R54(vUdq@BuM@RZsczsOIa}9dq3?Yze{{@FO zI_rbgLrijK9(r{s#G>=zofy1j+kCB|>vM(<+vcMsKb%ME vD`CUr#wkWz??dg8wQu$v;CJq77B)9DY-!je?A{@427oDMw__mbtXusRMgYaT diff --git a/bin/mega65.rom b/bin/mega65.rom index c299e1c5727878681036b04a7b6545cfab1681ae..563284aa00fde16aadc8f3ae976b1336fdb7083f 100644 GIT binary patch delta 5510 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 diff --git a/bin/mega65_pxlfont.rom b/bin/mega65_pxlfont.rom index e496e28528bc5a14aa3afb9c46c7fcc8b568a5a1..896f68ff2ce37989bbc64da64944d15a2685174a 100644 GIT binary patch delta 5510 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 diff --git a/doc/Extended-BASIC.md b/doc/Extended-BASIC.md index 29f27e61..4dd452ca 100644 --- a/doc/Extended-BASIC.md +++ b/doc/Extended-BASIC.md @@ -112,7 +112,6 @@ Ideas for the future, most of them suitable for Mega65 or other power machines o * `LABEL`, `LGOTO` and `LGOSUB` - jump to label * some kind of subroutines with local variable namespace, possibly loaded from disc (like in Warsaw Basic 3.2) * for Mega65 mode, move variables to a separate memory area, consider extending variable name length -* DOS Wedge should ask (`ARE YOU SURE?`) before removing a file or formating the disc * `←V` (verify from tape) - if Kernal is extended to offer this feature * modulo function or opeerator * `DPEEK`, `DPOKE`, `QPEEK`, `QPOKE` - 2/4 byte `PEEK` and `POKE` variants diff --git a/src/basic/wedge/wedge_dos.s b/src/basic/wedge/wedge_dos.s index f214d91d..214d6d49 100644 --- a/src/basic/wedge/wedge_dos.s +++ b/src/basic/wedge/wedge_dos.s @@ -51,6 +51,52 @@ wedge_dos: wedge_dos_command: + // Check if command needs confirmation + + ldy #$00 + lda (TXTPTR), y + + cmp #$52 // 'R' - because 'RD' is a directory removal command + bne !+ + + iny + lda (TXTPTR), y + cmp #$44 // 'D' + bne wedge_dos_command_confirmed + beq wedge_dos_command_ask +!: + cmp #$4E // 'N' - for the disk format + beq !+ + cmp #$53 // 'S' - for the file scratch + bne wedge_dos_command_confirmed +!: + // This is probably a dangerous command - check further the syntax, + // if 'N:', 'S:', 'Nx:' or 'Sx:' (where 'x' is a digit) - ask for confirmation first + + iny + lda (TXTPTR), y + cmp #$3A // ':' - colon + beq wedge_dos_command_ask + + jsr is_09 + bcs wedge_dos_command_confirmed + + iny + lda (TXTPTR), y + cmp #$3A // ':' - colon + bne wedge_dos_command_confirmed + + // FALLTROUGH + +wedge_dos_command_ask: + + jsr helper_ask_if_sure + bcs_16 wedge_dos_clean_exit + + // FALLTROUGH + +wedge_dos_command_confirmed: + // Provide command name jsr wedge_dos_setnam @@ -62,14 +108,13 @@ wedge_dos_command: // Retrieve status, print it if not OK jsr JCLALL - jsr wedge_dos_status_get + jsr wedge_dos_status_get_no_new_line lda BUF+0 cmp #$30 // '0' bne wedge_dos_status_print - lda BUF+1 - cmp #$30 // '0' + eor BUF+1 bne wedge_dos_status_print // Clean-up and exit @@ -103,6 +148,10 @@ wedge_dos_status_get: jsr print_return + // FALLTROUGH + +wedge_dos_status_get_no_new_line: + // Here the flow is mostly the same as in the example from // https://codebase64.org/doku.php?id=base:reading_the_error_channel_of_a_disk_drive @@ -158,10 +207,19 @@ wedge_dos_status_get_done: wedge_dos_status: jsr wedge_dos_status_get +#if HAS_OPCODES_65C02 + bra wedge_dos_status_print_no_new_line +#else + jmp wedge_dos_status_print_no_new_line +#endif + +wedge_dos_status_print: + + jsr print_return // FALLTROUGH -wedge_dos_status_print: +wedge_dos_status_print_no_new_line: // Print buffered status @@ -205,7 +263,7 @@ wedge_dos_directory: bcs wedge_dos_basic_error // Ignore start address (2 first bytes) - XXX check for errors - + jsr JCHRIN bcs wedge_dos_basic_error jsr JCHRIN