100 ; PROGRAM NAME IS 'SSTODS' 26 JUN 87
110 ;
120 PEEKW $001260,MAXC%:IF MAXC%>0 THEN MODE 1
130 CLS:X=FRE(0):POKE $001090,HEX(0001900000019000)
140 DIM A$1,B$1,L$79:POKE $00D81E,HEX(00019000)
150 IF X<394000 THEN VTAB 14:MSG%=11:GOSUB MESSAGE
160 VTAB 2:HTAB 10:MSG%=1:GOSUB MESSAGE
170 VTAB 19:MSG%=2:GOSUB MESSAGE:VTAB 19:HTAB 35:INPUT "",SOURCE_DRIVE%
180 IF SOURCE_DRIVE%<>1 THEN IF SOURCE_DRIVE%<>2 GOTO 170
190 VTAB 20:MSG%=3:GOSUB MESSAGE:VTAB 20:HTAB 40:INPUT "",DEST_DRIVE%
200 IF DEST_DRIVE%<>1 THEN IF DEST_DRIVE%<>2 GOTO 190
210 VTAB 21:MSG%=4:GOSUB MESSAGE:VTAB 21:HTAB 45:A$="":EDIT A$
220 IF A$<>"Y" THEN IF A$<>"y" THEN IF A$<>"N" THEN IF A$<>"n" GOTO 210
230 DR SOURCE_DRIVE%:CALL $00D80C:PEEKW $014000,SECT%:POKEW $00D822,SECT%
240 PEEKW $00D81C,SSIDE%:IF SSIDE%<>1 THEN MSG%=12:GOSUB MESSAGE:END
250 CLRLINE 22:VTAB 22:MSG%=5:GOSUB MESSAGE:CALL $00D7FC
260 IF SOURCE_DRIVE%<>DEST_DRIVE% GOTO 280
270 CLRLINE 22:VTAB 22:MSG%=6:GOSUB MESSAGE:VTAB 23:HTAB 32:EDIT B$
280 CLRLINE 23:VTAB 22:DR DEST_DRIVE%
290 IF A$<>"Y" THEN IF A$<>"y" GOTO NO_FORMAT
300 CLRLINE 22:POKE $00D81C,HEX(0002):; 2 SIDED FORMAT
310 MSG%=7:GOSUB MESSAGE:CALL $00D7F8
320 VTAB 22:CLRLINE 22:DSIDE%=2:GOTO 340
330  "NO_FORMAT":CALL $00D80C:PEEKW $00D81C,DSIDE%
340 IF DSIDE%<>2 THEN MSG%=10:VTAB 24:GOSUB MESSAGE:END
350 POKE $019025,HEX(02):; DOUBLE SIDED DISK
360 POKE $0191FF,HEX(75):; BOOT CHECKSUM
370 MSG%=8:GOSUB MESSAGE:CALL $00D800:VTAB 22:HTAB 71:MSG%=9:GOSUB MESSAGE
380 VTAB 24:CALL $00D80C:POKE $014000,HEX(0324):CALL $00D808:DR 1:END
390 ;
400  "MESSAGE"
410 RESTORE 1:READ MSG_NUM%:IF MSG%>=MSG_NUM% THEN PRINT "MESSAGE ERROR":STOP
420 START%=MSG_NUM%:IF MSG%=1 THEN READ LEN%:GOTO 440
430 FOR I%=1 TO MSG%-1:READ LEN%:START%=START%+LEN%:NEXT I%:READ LEN%
440 RESTORE START%:FOR I%=1 TO LEN%:READ L$:PRINT L$:NEXT I%
450 RETURN
460 DATA 14,5,1,1,1,1,2,1,1,1,1,1,1
470 ; MSG1
480 DATA "     SINGLE TO DOUBLE SIDED CONVERSION UTILITY PROGRAM"
490 DATA " "
500 DATA " 'SSTODS' READS A SINGLE SIDED DISK AND THEN WRITES TO A DOUBLE SIDED DISK."
510 DATA " "
520 DATA " *** CAUTION ***  ANY DATA ON THE DESTINATION DISK WILL BE DESTROYED!"
530 ; MSG2
540 DATA " INPUT THE SOURCE DRIVE # (1 OR 2) "
550 ; MSG3
560 DATA " INPUT THE DESTINATION DRIVE # (1 OR 2) "
570 ; MSG4
580 DATA " DO YOU WANT TO FORMAT THE DESTINATION DISK ? "
590 ; MSG5
600 DATA " READING IN SOURCE DISK.  THIS WILL TAKE ABOUT 20 SECONDS..."
610 ; MSG6
620 DATA " REMOVE THE SOURCE DISK AND INSERT THE DESTINATION DISK"
630 DATA " PRESS RETURN WHEN YOU ARE READY"
640 ; MSG7
650 DATA " FORMATTING DESTINATION DISK.  THIS WILL TAKE ABOUT 64 SECONDS..."
660 ; MSG8
670 DATA " WRITING DATA TO DESTINATION DISK.  THIS WILL TAKE ABOUT 20 SECONDS..."
680 ; MSG9
690 DATA " DONE"
700 ; MSG10
710 DATA " SORRY, THE DESTINATION DISK IS NOT DOUBLE SIDED!"
720 ; MSG11
730 DATA " WE WILL NEED TO USE SOME OF YOUR SCREEN FOR STORAGE!!"
740 ; MSG12
750 DATA " SORRY, THE SOURCE DISK IS NOT SINGLE SIDED!"
