[comp.binaries.atari.st] v11i090: dublvis -- Format DS disks that work in SS drives

koreth@panarthea.ebay.sun.com (Steven Grimm) (07/25/90)

Submitted-by: sgstree@polyslo.CalPoly.EDU (Samuel Streeper)
Posting-number: Volume 11, Issue 90
Archive-name: dublvis

Here is the Double Vision disk formatter which formats double sided
disks that can also be read by single sided drives. The source code is
also intended as an example of how to write an accessory which also
runs as a program just by changing its name. (For this to work you need
an appropriate startup module, like SOZOINIT.O also posted to the
sources group.)

Samuel Streeper

p.s. The program has a copyright in it (by me) but both source and
binary may be distributed freely.

p.p.s. To the guys that asked for it, this source will show you how to
prototype a boot sector, modify it, and to tweak the checksum to make
sure it is or isn't executable.

table
 !"#$%&'()*+,-./0123456789:;<=>?
@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
begin 644 dubl_bin.arc
M&@A$54),7U9)4RY$3T, 4PD  ),4ZUX6[003   ,("!-H(*F# @B;^J(86/0z
M2IHY:=ZX 6'DC9PV8>C0*2.G@8* %\3D 3$E3)LZ9=B0I".G3!DX'#UZ)&@0y
MH4*&(!Q"E C"C$6,&CGV_)EQ#@@R#]<8G5-G#!H0=-!DA%IP9)B6'EN&(1-Fx
MH4&>8MY$!0'1S1F<8=R0.9K0*]DT9,JL13IGS5$Y:>R4F>."9!JS."'&]5AGw
M#D>C=]*P42E5+X@P8\;L-4KG#0@:,& L ?'&S-&,85B N(-&L4$R;0/#E0NBv
M\&&/B1>#$&.P*\[*(+2NC6IPS)LV<!AN!($C\V:Z:US(5$#%\ABMP\,<3-WPu
M8<2)R$4;9CB&#@@1%2]F%/%8[7<H<L26Z>XW+@@9(CRF73N&39HQ=GF*0 @Bt
M"9T0Y(% T$.C*::23^)Y)QURCQF5%G$P0"4'9&N(%@,,'AG6G45')27:?&^Ys
M)T.!LM$& ASI;=2=7'TY\<8=(/@&AU6R\=:3:7-XE$="HZ7EG42X145@=N7Mr
M5A6)*H51HD&ZV?;51&%%E>%?9]5F'FHW&208:V3@I1=?(%Q1T$0[U@%"8P:9q
M82!K=< 1HD$QL)!A2NMY)T(5;J"H'GM3K/8>>2#6=U]^$^UGF7\ @M">02/&p
MIA)M'F$DQQJLA>&@'6$HYF21CPW%1EQR@."&2:R),$421!0!'Y*S]08=BQX%o
MX<9(:C)D5)FBOC@:7L,%65"'=;%J8I-N2<3&2(F-%89'6+JUY5Q)W957&7TEn
MX1FN<-2A8(V_;OF>1[7N!<)?5!ED*JJJDH=42QO*D8=HO+4DK$%N6!8'2G/0m
M<5V#4+T!6VE.W6CK8_(:.Q*Q./&T('5O0AMLE],JIX!'-KFET[YC/#AL'1-9l
MVJF>9TS8!F>A+KB779!)-L<<%N71EQ0<NT&E1VDHZ.!1)S\6V60MLXH1I:WEk
MF6*=5+[Y'@AE6)H&1Q+W"=RQ,4IEED$VABLJJ3VE-_)^50C!Q!=6)#&%"U!(j
M<01YN''M-=ABNQ#$$$.(('&L/94!8[T;S:'#<@$A8%F88X* *X) =<I@S4A/i
M:)A19>CEKI!F4375'1[S5+-' 2U &X+4@H!"%CRNX8;=DM/A0@I\0^*WHJ";h
MF?%$!L?XZG19YF0=3\@A5O-3"]?^+.:0+ "Q7G-_I/K?2;#EQ@G>L?M;&V68g
MIZ>*^D;.(<?3$QUY[J4#O\ ='-$KUE );K16LD]5C-/%$A7?-_+>$?C$9KAEf
MS][U0N_IG;<C-A[]N)[AG_>4I)N12&4IOTD3CC@SD9KU17W5V<E$')4K.GC/e
M*6DY ]6Z18>,%(8SGOE+"UQ#ECI9Q"@\X9_[CJ<HFM#.8K>;".$RLI%0M>1>d
M:6@)X^20GE"9H26G2<H</F2>RQGO>P:"2DI4@JLT>,9&##I@>1+7P]$$#G$Sc
MI(-1')BZU8% 5K1:X!UXM9&.F:&&0;-?]<Y@M$8E$6^M\A["GM2ILE2I8=(Bb
M7A?_!D$\,FAXXGK=8]A N3P813><&F/-J.:O(_:1?=@18E_Z!!@MK68N7@KDa
M@V*'2-YX+UR4D8IWP"<O109E(KX*8K!(8YIQC=)C:I2+G(X8J$VZ 6JF9&2Yz
M@&47)[IR7$:))1E6Z$47IF=\ZS*ANX ) ONT89&[L0P-<" P<7&(*6)(9KN6y
MQA?O34$AVJP,7L2%$0.&P3$>P\BLJHG"4&$SG!;AY@!OQ:/$S $-Q/P;&*&2x
M!N@)CD>"P@\#O\,?1*'-,ED4C1I%8Q'O86]H[%F0AUZXOACZ+ Q @V)2O!>6w
M\6E(G!5$&A[6HRTG]65 E(D>&2ACF34DL0UOR!='W^!198+ #CETS1 '&96$v
MG.$IOBR3.PVYD9$1B(!)(T,>O/<7,]1)EIW"J1P^2"[? $=;0H$>3)?IFSI\u
M*C=VXY5!O&>CCN[/IF$X0Z;<T!<P%E(TB*-@0=C@)C7^LPY,]8QTI$I5%*+Rt
M5PP2@[;N>J9S1H]YLZ&I^;+V&[+^JJE/=5AREO.$>%&%2GJC&,,@R19QP;$Ns
MI/OH":WX/RP218N&2\I)2[/%'"D 1670R$B2-H>1X&8K:_&EC4 F,F9.%7:Hr
MC"D(8N "&I"L54&1@V@$:T$%V&@U2B(+I6 T)"<ZM25N\$Y<8**6HO&$-+$Mq
M2*BJUDK:%$TW'BD#'AZ"6I[$3B*6= ^'P"(6?'Y10>N<T$:TDT#IDNX."?F4p
M1_0D!MN,Q$1FL!0:H_*@>HWN,=MB W_[ X)R/H8,1B(0N:JFK3JTI'AB&DE<o
M+:*4O2G /V3IH%I8"E9+\83!"GI+)?V8R7D]QBVX0:\">N>L2_(R:/I2">)8n
MPLU^Z4QEH=32>B2R%F]UIES,FBB(>-/ 428QP8II$5%4,@4JL,5W/N8>FA[Cm
MD3/0M,EIT -KCJG='"KS79P:D1&FTD&OA'(J5S&(&-)P!@V.5VKE6JH"1L<:l
MW-"F+T.0B&'N%3TZ0,U&7695O<2SF)$0.IHM-I*2?:.6*<GWB8"-UFUWMC+#k
M,>Q9O"S>(RVJT^$FMJ;M^A (9E#"=N5&L1UBESCA/&4 >X36H@V5$8) A1,8j
M!065Z:!*+E1K<<XA!6W-%:5)XN7#W2P'S>90=CS"7(I&<%]9- JS@\W+G;)Li
MD"JQT7-J=I_H(H=F;L@BN&OFUUVJ20[Y>I.6J>L9\(VKNQD;SH9_-6PJN!;&h
MZ,XVO@?*/X+I>2NRMAH%363*,C+PT8T,=KV]%0,0[A(Y?2F"7LR(1G]+RBXVg
MTC@#/<TH?IGY#6M)ZUIE;4?5Q 63T[+QIG*<5"@KP&JTR1@)P5ME3['A14FFf
M"+&;^1>E_)*"L4O99.;4KHW[B;C]L;)LX.@_5"Z3YULY;B[KJ$R/I-!/,IAPe
M7-\X/BRSH7@>2=[KX-A!H%DU.+%UE5Q,^^>:;-:B6:SAAY+L$4Y+!@ZO;">?d
M_Z(DJ/WP-ZD-%DR1HB:AB 0$3;C*&$#0.K-4ZT8CC7GA$X)WC\\!(]S"[(<Pc
M7.A?!;YH(/I+#1,LF1C!W$ID\(B-NJ*8FMG6,BV!24;D C6[@NBA^HN\7="7b
MD.:RQ%*EB1PH&8[VU1*(MR;A%+W)DA YU-XW[BDGM],$1*C1A<C,A=7$%+!Ja
M"?8(,60L[4288"FA#*%X)3E)2E8"1)AT1 $Q, .0, !A$CT9X10N\44CAQ(>z
M400J,01AH 82(1I#$ 0@D ,R  ,RT'$@4 53$ 0> 1H(1%5"3%]625,N4%)'y
M !80  !V%,MV]7UC&@  #& T    @<M !) & B@B @ D!TOR.22@B5\  $\Dx
M A "Y)O&@GH *&D%@(258C.*#=1"Y0P*$"T ,(!&D@)- !P, !IX<02P@4%Dw
MO #PHH&0,S]XB'02Y,D[F2.:K33C))?# 5Z.,G5B96#5@0F@P<BQDHH9#DCRv
M#+R X@=9 $%T?)69D,NC&3\!9&  AH&04UJMRF1C-^U "&#F(B"#Y9%A !(4u
M*6;\Z"ND <;F)L#EQ(N3.I^Y#D1R[N+8LF<\) 408&X#$E0J"PZ +/# U['!t
M\'FLA0QOWVH!]/Y-/'COO[R)_%T.N/G?U0%60YBK (E3 #Q\ (#N&O8C& > s
M\2%X!@(#M2A6$C%C8"YMVP!P/P)#B,DW ( ZA^X*@'0  D%HE($,*B AQ!%@r
M$"!$!U(<P< 1% #0ACVK*7#4#RX @ !T;@%E W+!#;A: J[Y<1T%]H&0GV>@q
M6?$//:0]L)$;__#S&&)S'>!)8WBM1 8#0 !@ 7M@ %  '6"@<!X #OAHA@2/p
M19;CCO,)T]>2%?AXA@!@T!+@0!& P  :K &@@!D("!%<$#: @< ,_)0)EPU?o
M A !%&.6>28  CCRV 4XK"; 7 N88!>0?)I!0)'_L/$8!0JL]L]<#!#V2)T1n
M@", &O_\H6&' &Q!":A:>$&J&*2"4>%J#]R8F& ,T'(=! <6"0 ]X"$!3"!Qm
M*@#->##4*<%+9#(  2"Y[MHK$D#\"D"P&@T+0K$1!!G=6Z*2:NI;6J#*K:I*l
M#; :E,'A"*NL3T&05#GEO,##(64,$0)T%QZPZEML@CB0B$HI4.)U&O0 Q#_^k
MP. "P6<HT,-X =1HJR/KMOMNO/,J%9W%/]C;+ZCYGO(8OV;^^U3  Q=\L#]Gj
M(+ P:PX;T>"# $#1!@#_(( I. "0N=.&V([*[;8K>;L2N&:RZBJEZ!)D<(UFi
M#.0+? '@$1MWLTG]R(7ANGO191_+,*[(3 I!(SYU#M@"$B].T.N^2J@-0)!Zh
M%>&V ?L:(?8_9 LHP]DOU@H!"#320X4K+\( 031COWP$S6VH P,/&O"2T-B g
M%PX(O6=@S1K''WH<HM=*D2A8 R8^10$8("QW!J66_ND(?(7:520__H"!!*: f
MY'G1F1[\Z8J@A!KZ"*("*#J[-&"@%=P%Y  O6.S#!UG\H@#P0\NCD2HU*:R6e
M<JYY %T+NAH!K@%QG0-N#["O@6]ED(3;,.P[Q-UY[[LWVO3X7;G@A.-Z>.(.d
M6MP_&O>XR$T.;_N#P>7P]2&D6"Q\X1I?^<YWAM0!9G7<*TQP,. !V FO2/M@c
M!P3:9P0D "(<0)! ^XJ A$ (8SS_@$80=,4K/@GL'_K@'(>48@ (\DF"HS/?b
M4QR .]V9Z0K%4 ;#>* 4+E&A5D3 @0&P<008%" U/R"?8!*@@]@H 0AF<$ 6a
MD_* >RB&$XU)7A8UT\7HE=$,#,@B?!" QD<HSDAML,7CS,0-(,#  #(XF#ZHz
M$ 18!*$-H$@*W;I6-AF   '0X,5 Z#84S23D.I%BX X!T,//K49<2M'B;83(y
M)"M64'6LT^! ,& $J@T$>F!@@A+69 ,S4. Q&##$:G+@&E[(CERK3,@N>VD7x
M5&;0,1O4A"L! $L Z,,-H,K6STZ5JE7UZRB:&P"A*'$="=@' /#03XL(]AA1w
M\<8+O!$#;\#P@@PA@%!*.%$T?;82H E':,(A6O;,A,W,8?"5W'R*!.:I+6I^v
MJT)'::>&D#:KA+J34DBPBWC^\(\;FHR<P!@*")1R&0Q4<G3Z ,$' *<A <"!u
M8 A0P-+\(4[1]*<T#%"!&S2$@B8<*&-%<0T [ (#%FA(/   P9;<U"!LQ D#t
M8 "'?1384OZ0Y@  \($[>9 A!0323$@(QB#B) !N!,%@9@)J ,Z@ QT< !U%s
ML&+99A !0!2ID0*(WP.*!)YT $$[?VRDKJ"!"!   0(0,"$@CG L,-@ /(ULr
M:Y',"HXB*!$ #UAK7,%)5P.L=:]]_6M@ 0&((ASKF^!HZFC.H3ZJ:NBJ",CJq
M5OGDU49Z  9%0L(AG '#M4H MOT)1#B"X(VONE.L9S  >-!QUV>%AP\/^,<Wp
M@2':EP8@IC-%  IFR@"I$@0, M  -\ SA2-\T0SV6.J*]C.0U4Q@+@Z@0FSVo
MV!H6<85@==J"(D: C(%PP1+Q50-][:N)LCE@OSOU1)VZX \ <T$4 Y:'@4U1n
M)RU8P<"JJ--] 2P$'E0(O>J]BT8(#!0=G 8N<G$O?V;@#@WMRP$D-M.^()!Bm
M!NQ+ BENDEXHD&(([,L"*9; OC"0X@CI10,IML"^.)!B#.S+ RD6B%Y D&(.l
M[$L$*?; ODB08A#LRP0I;HA>4#""$I-@(%V01XK3HQ<5I%@%^V+!:C* X=B0k
ME 4P$(P7@CI3&,1Y(%X0 $EI<&< >($ ),5!G[U@ )+R8- ((*D?Y:S2MQ"Xj
MN2E&P(F[K&( A'DU-&AS940\$$I+VM+R6(T--$U2!@R:SDJ3LYYG2H%! WJFi
M&!BT<!W-4DX#(-(G3K$"5MSB%\=X7S0NL8WU@N,2ZU@O/"ZQCS, Y!(+62]$h
M+K&1]>(!!LQ4?0@P Y.-O4IX]'B58G;V*MU1Y%6R8S4ST'1S28J /F, 'J5Vg
MMSQ("@%WNX.DK18,!MC17$^#.=PR.?%J9*!N6^-:+_\M\:Y!O1HG%)R\MR[Qf
MIS.0\$I?6BDC>'B+.BWQ?_<:X;_6"XN%[6MNS_C;Q [RCE>C HV[U-^@_CC%e
M5R,'EX^XXPA?S1HT+F%70$,C6A "%HPC!! D(@1*($@(OA!4)S0A"T3O^<]7d
M(@010($$9(+ "](#@B]^1NI %SK1C8YTI3,=! Z'.M7!3G6K8YT@6P^JU^O c
M=N&(G>ID3SH$EM[T(*C=[G4/NMNS'O>N P'BI(G'1HX@ G>R@0!^"  1 D&"b
M#%7*  I8G.0%88( "& 0__C'0,Y  "0,P1C" ($ F/5%T@,C&-8 @NF%, 1Ba
MP%X02CC"EH@PB!8,02;?W+0+/J&$5P" ?./4Q\'E"U:$ & \"@A&G 90)P?Xz
M [,M&)@^5M:PVH&@<OJ0 N'T =A $FP<08BO(DP8 T#86 HT\H>UCT^P-F#Cy
M!6^I,'J%T9@//YI%@7=W=I=W!"$"0T$ >X0,3B $?Q=T 3AX!/$992(  >!Yx
M%<@:%@@)!> 0"G 193( &U@ &XB!%$@0!V"!'!@ ET&!%IB!!$"!E^$0# "#w
M!6  %4@ *C@  ]""+Q@ "'"!D&"#EY$ *@A51A( .NAY)0@))T  V*8^-J@Av
M%_&#QU>!.W@1&YB#1L(3%P&$&2   L GZ@,)&%  6-B%:,@G&QB%)7B!!K"!u
M&GB!%U&"-.@0$.!Y.PB#=".'80@)!&!DH5<F%Q$AEV%C A !0N 0  $AEV%Ct
M A !!4H H   T@ ! "P,+%C@7P0   8 " #@ P )  Q$!%!@(:0" 2+$86A1s
M(H%_D @D+&B  AP *@U>F,@1I4J%D%HR@DES)D4!-E?FI("*)T*?  X$Y<"Rr
M@@L "%5JI*@   ( "3P:B# $*\^'%!,$U0  +,0*-AA>I:@T)0"R#U-6P.'5q
MX%H "\;2I B@@@ZH&0%L .P   , #;1R!9P5H\0&>LWV%<(0(\6\;N$6)%!!p
M2L&#%VD^T-M1+IF560]LK   0FO%$%4F9DWQ0=F%! %M?DC3X 2:$I8V5<.Po
M*D6"OW\3S,E[P6>$%(.[99JS@AV&T%L+KZX'0&&#'2E:(+VY@FZ$M@]#UWNBn
M/*+;Z0$#^/=/M,<!K@7$-2"0(%"W.+5$!4,"(33 =@94X A@"%E$T4G3->4*m
M8!(Y6%.$U3D#F$HBT&0 @A7  UA'(=#4EDK4&6 !1@AIY %-""!H@0R J=8!l
M36)AJ"(4@%UEH0(ROH105B#0A!F*+%D@"6#.,441 S+" MAA15($F8X62 -8k
M8B]2Y(",\A FF&@(7E 8>GW1-%]F )RQV04D>/40BU;529%! :!4) !_^-/Gj
MGW[ZXX<??/A0Z*!]^I%3GYM10 Q$$KQWT7L2:20 !"/A69&:%) #J:21;F0Ii
MII_5AP&G_'RJ:J50D6I0?;_Q58%KDZK:T:B9%G!C $.\ 4<><J1Q!AIT@!!#h
M#CG  ,(48;111QEL+$N''&64 4<9<D!$Q!MUB,%&&2!8D<8<:;SA!@A&O"%'g
M&V'000>V (B1Q[+-/AOM%--6>VVV -AAK LQ@&"0%'6X,0<(81SL AQRG &"f
MNB"X$,888V@;K!UE_ 5 $ !0ENZZ[4($A1QOO#M&L5.D00:X- )0A1L,EUS&e
MR<NJS#)$2;AAQAL0?<RNNVFXX28 ,,  T1MF@("#T=N"D 0=)0)0!!YIT $1d
M%6B NVVWWX8[;KGG[@RRN]B"<$?" -P1+-GGRDNOL]!*2ZVU9=]1-1H T)$&c
M' >;07(;(#01AAQC@) %MT*[X'2Q8O\\!T1D<.LMN.2N3 8(9(R[QL%SO $"b
M'6BT"P*Y0G\+0.5E7$[&Q64</$88YU(;QN6ALY$TZ&5 KKGB0;@QKQEI?'NPa
MVE6_>VX89KR;;<$QFZRWT*/;#((,9@<?K1LE@R!&[K*3$<;D#Y]+^AE=HZXZz
MZW,\!0#6XX+0N.ALI-%&U0?GP>WGGM- %P# "_^P')A+ [5.IJXTM"Y\G\L:y
M"$A6,MT-D [JRH/B4E8ZRMGL?&G V., \#HW8*]8Q'L7_D# /)(Y+W4 V!KXx
MQ$4N<P5P#IM3WQ.6 !$0@$"%76,AV "PA1ET80L^:]?S'&8W-D2K"%((PA2*w
M@# C\@%W( C:^_3F0A="D0]S@-;,WJ4ZS87@AT&D Q^& +LQ0*L+$-E"#'[(v
M!Q 400XD V#0T*6NGX4 !#\$P0SQF$8?;@$$(Y,9S5*VLNF!H(U(2V#[,@?#u
M'^!Q"X%TWAC+>$8>^A$$+VO>%FM62.HA\G9H6*3F'/G#3)IPBY-T@QG9@$8Ut
MLM&-<(18"(/F,#&\(7M9)"  \[C'5J[QCTYXPQW,MC9PV:\. $2=L<+'AGFUs
MT7MT",,(02=*&"HNCWI<@@W1N#$=<&$*22!"$5HF!&^"4YPM<R4PA4G,JH$+r
MBM1B5]!H>4C,M4N:$$P@N,XY3O>]@0TK R BST7-@S%R#=?\8S:WN1D!*,  q
M#M" !2!J  08H*(,L*A&6Y)1!#ST(PC0  0D@("0DL"C'J@H!2SJ  6TU  0p
M4( $%(  !AC ( XP  <TD%.<&@ $'K6!1TU@4Y]2@ $4<&E'%> #CT*@I YHo
M:5)G6E,'V-2C,F"  YY:4P5@(*H*,($$&" !$\#4I0X@J0)HJ@"#9%0!11V n
M!29JD+7>= !)O2L$(! Q*"B  AB0@ -H  $O4."F#: I 6"* $C$E %M+0!Cm
M90K7M@Z L9! P%/KFE2#/%6F'E4K27,"6LK:U  2N.AA4:O:BZ;6 '0H*P8Jl
H^E 5730 Q," 06"  0SP%@-(X*U!9*!;!UB!  2@ '*5FUSD @ : '0Hk
 j
end