Home » Personal collection » Acorn DFS disks » dfs_box01_disk04b_dumpmaster.scp » DEMO1
DEMO1
This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.
Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.
Tape/disk: | Home » Personal collection » Acorn DFS disks » dfs_box01_disk04b_dumpmaster.scp |
Filename: | DEMO1 |
Read OK: | ✔ |
File size: | 3100 bytes |
Load address: | 1900 |
Exec address: | 1900 |
Duplicates
There is 1 duplicate copy of this file in the archive:
- Personal collection » Acorn DFS disks » dfs_box01_disk04b_dumpmaster.scp » DEMO1
- Personal collection » Acorn DFS disks » dfs_box01_disk04_dumpmaster.scp » DEMO1
File contents
10REM *** BEEBUGSOFT DUMPMASTER *** 20REM *** DEMONSTRATION PROGRAM *** 30REM By T.Powys-Lybbe & J.Wallace 40REM (C) Beebugsoft 1984 50REM Version 1.0 60: 70MODE 7:HIMEM=&3000:DIM Q% 256 80*FX4,1 90VDU3:CLS 100ON ERROR IF ERR=17 GOTO 90 ELSE E%=0:PROCerror 110PROCenter_printer 120PROCmove_down 130VDU3:REPEAT 140ON ERROR IF ERR=17 GOTO 90 ELSE E%=1:PROCerror 150PROCmenu 160IF C%=49 PROCdemo 170IF C%=50 PROCcopy 180IF C%=52 PROCoscommand 190IF C%=53 MODE 7:END 200UNTIL C%=51 210GOTO 90 220END 230: 240DATA "Epsons, Datac, Shinwa, Star, Gemini MicroP, Ensign, Taxan, PW-1080" 250DATA "FX80, Taxan, PW1080: linear" 260DATA "Datac 109v, linear special" 270DATA "Shinwa CP80, larger special" 280DATA "Seikosha GP80 & GP100" 290DATA "Seikosha GP250" 300DATA "Seikosha GP700A, linear & colour" 310DATA "NEC 8023" 320DATA "Facit 4510, linear" 330DATA "Anadex 9500 or 9501" 340DATA "Integrex Colourjet or CANON 1210" 350DATA "Mannesmann Tally MT80" 360DATA "Mannesmann Tally MT160" 370: 380DATA EPSONSM,EPFX80M,DATACM,SHINWAM,SEK80M,SEK250M,SEK700M,NECM 390DATA FACITM,ANADEXM,INTEGXM,MT80M,MT160M 400: 410DEF PROCenter_printer 420VDU 22,7,10 430RESTORE 240 440FOR Y%=0 TO 3:VDU 154,148:PRINT STRING$(35,CHR$255):NEXT 450PRINTTAB(8,2);CHR$131;"DUMPMASTER";CHR$148'' 460PRINTTAB(16,3);CHR$131;"from BEEBUGSOFT";CHR$148'' 470FOR I%=1 TO 13 480PRINT CHR$130;CHR$(I%+64);CHR$135; 490READ P$:PRINT P$ 500NEXT 510PRINTTAB(0,21); 520FOR Y%=0 TO 2:VDU 154,148:PRINT STRING$(35,CHR$255):NEXT 530PRINTTAB(6,22);CHR$131;"Enter printer type (A-M)";:VDU 148,8 540*FX15,1 550REPEAT K%=GET:UNTIL K%>64 AND K%<78:P%=K%-65 560RESTORE 240 570FOR I%=0 TO P%:READ A$:NEXT 580ENDPROC 590: 600DEF PROCmove_down 610J%=&3000+P%*&200:O%=&900 620FOR I%=0 TO &1FF STEP 4 630O%!I%=J%!I% 640NEXT 650ENDPROC 660: 670DEF PROCmenu 680VDU 22,7,10 690FOR Y%=0 TO 2:VDU 154,148:PRINT STRING$(35,CHR$255):NEXT 700PRINT TAB(15,2);CHR$131;"M E N U";CHR$148'''' 710PRINT'" 1. Demonstrate screen dump" 720PRINT'" 2. Save screen dump" 730PRINT'" 3. Re-select printer type" 740PRINT'" 4. O.S. command" 750PRINTTAB(0,21); 760FOR Y%=0 TO 2:VDU 154,148:PRINT STRING$(35,CHR$255):NEXT 770PRINTTAB(10,22);CHR$131;"Enter choice (1-4)";:VDU 148,8 780*FX15,1 790REPEAT K%=GET:UNTIL K%>48 AND K%<53:C%=K% 800ENDPROC 810: 820DEF PROCdemo 830ON ERROR IF ERR=17 THEN 130 ELSE E%=1:PROCerror 840VDU 22,7,10 850FOR Y%=0 TO 2:VDU 154,148:PRINT STRING$(35,CHR$255):NEXT 860PRINTTAB(6,2);CHR$131;"D E M O N S T R A T I O N";CHR$148''' 870PRINT " Enter mode (4 or 5) :"; 880*FX15,1 890REPEAT K%=GET:UNTIL K%=52 OR K%=53:PRINT CHR$(K%):M%=K%-48 900PRINT'" Normal or Inverted (N or I) :"; 910*FX15,1 920REPEAT K%=GET:UNTIL K%=78 OR K%=110 OR K%=73 OR K%=105 930IF K%=78 OR K%=110 IN%=0 ELSE IN%=1 940IF M%=5 PROCdemo5 ELSE PROCdemo4 950CALL&900,IN% 960ENDPROC 970: 980DEF PROCdemo5 990VDU22,5,23;8202;0;0;0; 1000FORY%=7 TO 1023 STEP 8:MOVE0,Y%:DRAW 1279,Y%:NEXT 1010GCOL0,1:MOVE0,0:DRAW0,1023:DRAW1279,1023:DRAW1279,0:DRAW0,0 1020COLOUR1:PRINTTAB(2,3)"DUMPMASTER from" 1030PRINTTAB(5,5)"Beebugsoft" 1040COLOUR2:PROCdouble("MODE 5",6,7) 1050COLOUR2:PROCdouble("DEMONSTRATION",2,10) 1060PROCdouble("SCREEN",6,13) 1070PROCcircle(290,280,170,1,1) 1080PROCcircle(530,220,170,0,1) 1090PROCcircle(780,220,170,3,1) 1100PROCcircle(999,280,170,2,1) 1110ENDPROC 1120: 1130DEF PROCdemo4 1140VDU22,4,23;8202;0;0;0;19,0,4,0,0,0 1150MOVE0,0:DRAW0,1023:DRAW1279,1023:DRAW1279,0:DRAW0,0 1160PRINTTAB(7,3);"D U M P M A S T E R from" 1170PRINTTAB(10,5);"B E E B U G S O F T" 1180PROCdouble("M O D E 4",14,8) 1190PROCdouble("D E M O N S T R A T I O N S C R E E N",0,11) 1200MOVE120,220:DRAW120,450:DRAW390,450:DRAW390,220:DRAW120,220 1210MOVE490,220:DRAW640,450:DRAW790,220:DRAW490,220 1220PROCcircle(980,335,115,1,0) 1230MOVE170,190:MOVE170,420:PLOT85,440,190:PLOT85,440,420 1240MOVE540,190:MOVE690,420:PLOT85,840,190 1250PROCcircle(1030,305,115,1,1) 1260ENDPROC 1270: 1280DEF PROCdouble(A$,K%,L%) 1290A%=&A:X%=Q% MOD 256:Y%=Q% DIV 256 1300FOR N%=1 TO LEN(A$) 1310?Q%=ASC(MID$(A$,N%,1)) 1320CALL &FFF1 1330VDU23,224,Q%?1,Q%?1,Q%?2,Q%?2,Q%?3,Q%?3,Q%?4,Q%?4 1340VDU23,225,Q%?5,Q%?5,Q%?6,Q%?6,Q%?7,Q%?7,Q%?8,Q%?8 1350VDU31,K%+N%,L%,224,8,10,225 1360NEXT 1370ENDPROC 1380: 1390DEF PROCcircle(X0,Y0,R,C%,F%) 1400N%=100:T=2*PI/N%:S=SIN(T):C=COS(T):X1=R:Y1=0:MOVE X0+X1,Y0+Y1 1410GCOL0,C%:FOR M%=1 TO N% 1420X=X1*C-Y1*S:Y=X1*S+Y1*C 1430IF F%=1 MOVEX0,Y0:PLOT85,X0+X,Y0+Y ELSE DRAW X0+X,Y0+Y 1440X1=X:Y1=Y 1450NEXT 1460ENDPROC 1470: 1480DEF PROCcopy 1490ON ERROR IF ERR=17 THEN 130 ELSE E%=1:PROCerror 1500VDU 22,7,10 1510FOR Y%=0 TO 2:VDU 154,148:PRINT STRING$(35,CHR$255):NEXT 1520PRINTTAB(4,2);CHR$131;"S A V E S C R E E N D U M P";CHR$148''' 1530RESTORE 380 1540FOR I%=0 TO P%:READ F$:NEXT 1550PRINT'TAB(7);"Dump will be called";CHR$131;F$' 1560PRINT"Insert cassette or disc then press SPACE" 1570PRINT 1580*FX15,1 1590REPEAT UNTIL GET=32 1600$Q%="SAVE "+F$+" 900 B00 AEF" 1610X%=Q% MOD 256:Y%=Q% DIV 256:CALL&FFF7 1620ENDPROC 1630: 1640DEF PROCoscommand 1650ON ERROR IF ERR=17 THEN 130 ELSE E%=1:PROCerror 1660VDU 22,7,10 1670FOR Y%=0 TO 2:VDU 154,148:PRINT STRING$(35,CHR$255):NEXT 1680PRINT TAB(10,2);CHR$131;"O.S. C O M M A N D";CHR$148 1690PRINTTAB(0,21); 1700FOR Y%=0 TO 2:VDU 154,148:PRINT STRING$(35,CHR$255):NEXT 1710PRINT TAB(8,22);CHR$131;"Press ESCAPE for menu";CHR$148 1720VDU28,0,20,39,5,12,14 1730REPEAT 1740PRINT:INPUT "*" $Q% 1750X%=Q% MOD 256:Y%=Q% DIV 256:CALL&FFF7 1760UNTIL FALSE 1770ENDPROC 1780: 1790DEF PROCerror 1800VDU3:PRINT 1810REPORT:PRINT 1820PRINT"Press SPACE to continue" 1830REPEAT UNTIL GET=32 1840IF E%=0 GOTO 90 ELSE GOTO 130 1850ENDPROC
#� *** BEEBUGSOFT DUMPMASTER *** #� *** DEMONSTRATION PROGRAM *** "� By T.Powys-Lybbe & J.Wallace (� (C) Beebugsoft 1984 2� Version 1.0 <: F� 7:�=&3000:� Q% 256 P *FX4,1 Z�3:� d$� � � �=17 � �DZ@ � E%=0:�error n�enter_printer x�move_down ��3:� �$� � � �=17 � �DZ@ � E%=1:�error � �menu �� C%=49 �demo �� C%=50 �copy �� C%=52 �oscommand �� C%=53 � 7:� �� C%=51 � � �DZ@ �� �: �N� "Epsons, Datac, Shinwa, Star, Gemini MicroP, Ensign, Taxan, PW-1080" �#� "FX80, Taxan, PW1080: linear" "� "Datac 109v, linear special" #� "Shinwa CP80, larger special" � "Seikosha GP80 & GP100" "� "Seikosha GP250" ,(� "Seikosha GP700A, linear & colour" 6� "NEC 8023" @� "Facit 4510, linear" J� "Anadex 9500 or 9501" T(� "Integrex Colourjet or CANON 1210" ^� "Mannesmann Tally MT80" h� "Mannesmann Tally MT160" r: |@� EPSONSM,EPFX80M,DATACM,SHINWAM,SEK80M,SEK250M,SEK700M,NECM �)� FACITM,ANADEXM,INTEGXM,MT80M,MT160M �: �� �enter_printer � � 22,7,10 � � �dp@ �&� Y%=0 � 3:� 154,148:� �35,�255):� �#�8,2);�131;"DUMPMASTER";�148'' �)�16,3);�131;"from BEEBUGSOFT";�148'' �� I%=1 � 13 �� �130;�(I%+64);�135; � � P$:� P$ �� ��0,21); &� Y%=0 � 2:� 154,148:� �35,�255):� 5�6,22);�131;"Enter printer type (A-M)";:� 148,8 *FX15,1 &#� K%=�:� K%>64 � K%<78:P%=K%-65 0 � �dp@ :� I%=0 � P%:� A$:� D� N: X� �move_down bJ%=&3000+P%*&200:O%=&900 l� I%=0 � &1FF � 4 vO%!I%=J%!I% �� �� �: �� �menu � � 22,7,10 �&� Y%=0 � 2:� 154,148:� �35,�255):� �$� �15,2);�131;"M E N U";�148'''' �(�'" 1. Demonstrate screen dump" �!�'" 2. Save screen dump" �'�'" 3. Re-select printer type" ��'" 4. O.S. command" ��0,21); �&� Y%=0 � 2:� 154,148:� �35,�255):� /�10,22);�131;"Enter choice (1-4)";:� 148,8 *FX15,1 � K%=�:� K%>48 � K%<53:C%=K% � *: 4� �demo >#� � � �=17 � �tB@ � E%=1:�error H � 22,7,10 R&� Y%=0 � 2:� 154,148:� �35,�255):� \3�6,2);�131;"D E M O N S T R A T I O N";�148''' f)� " Enter mode (4 or 5) :"; p*FX15,1 z+� K%=�:� K%=52 � K%=53:� �(K%):M%=K%-48 �)�'" Normal or Inverted (N or I) :"; �*FX15,1 �,� K%=�:� K%=78 � K%=110 � K%=73 � K%=105 �"� K%=78 � K%=110 IN%=0 � IN%=1 �� M%=5 �demo5 � �demo4 � �&900,IN% �� �: �� �demo5 ��22,5,23;8202;0;0;0; �&�Y%=7 � 1023 � 8:�0,Y%:� 1279,Y%:� �-�0,1:�0,0:�0,1023:�1279,1023:�1279,0:�0,0 ��1:�2,3)"DUMPMASTER from" �5,5)"Beebugsoft" �2:�double("MODE 5",6,7) $�2:�double("DEMONSTRATION",2,10) $�double("SCREEN",6,13) .�circle(290,280,170,1,1) 8�circle(530,220,170,0,1) B�circle(780,220,170,3,1) L�circle(999,280,170,2,1) V� `: j� �demo4 t$�22,4,23;8202;0;0;0;19,0,4,0,0,0 ~(�0,0:�0,1023:�1279,1023:�1279,0:�0,0 �&�7,3);"D U M P M A S T E R from" �!�10,5);"B E E B U G S O F T" ��double("M O D E 4",14,8) �:�double("D E M O N S T R A T I O N S C R E E N",0,11) �0�120,220:�120,450:�390,450:�390,220:�120,220 �'�490,220:�640,450:�790,220:�490,220 ��circle(980,335,115,1,0) �-�170,190:�170,420:�85,440,190:�85,440,420 �!�540,190:�690,420:�85,840,190 ��circle(1030,305,115,1,1) �� �: � �double(A$,K%,L%) !A%=&A:X%=Q% � 256:Y%=Q% � 256 � N%=1 � �(A$) ?Q%=�(�A$,N%,1)) (� &FFF1 23�23,224,Q%?1,Q%?1,Q%?2,Q%?2,Q%?3,Q%?3,Q%?4,Q%?4 <3�23,225,Q%?5,Q%?5,Q%?6,Q%?6,Q%?7,Q%?7,Q%?8,Q%?8 F�31,K%+N%,L%,224,8,10,225 P� Z� d: n� �circle(X0,Y0,R,C%,F%) x9N%=100:T=2*�/N%:S=�(T):C=�(T):X1=R:Y1=0:� X0+X1,Y0+Y1 ��0,C%:� M%=1 � N% �X=X1*C-Y1*S:Y=X1*S+Y1*C �-� F%=1 �X0,Y0:�85,X0+X,Y0+Y � � X0+X,Y0+Y � X1=X:Y1=Y �� �� �: �� �copy �#� � � �=17 � �tB@ � E%=1:�error � � 22,7,10 �&� Y%=0 � 2:� 154,148:� �35,�255):� �7�4,2);�131;"S A V E S C R E E N D U M P";�148''' � � �D|A � I%=0 � P%:� F$:� (�'�7);"Dump will be called";�131;F$' /�"Insert cassette or disc then press SPACE" "� ,*FX15,1 6� � �=32 @!$Q%="SAVE "+F$+" 900 B00 AEF" J"X%=Q% � 256:Y%=Q% � 256:�&FFF7 T� ^: h� �oscommand r#� � � �=17 � �tB@ � E%=1:�error | � 22,7,10 �&� Y%=0 � 2:� 154,148:� �35,�255):� �+� �10,2);�131;"O.S. C O M M A N D";�148 ��0,21); �&� Y%=0 � 2:� 154,148:� �35,�255):� �.� �8,22);�131;"Press ESCAPE for menu";�148 ��28,0,20,39,5,12,14 �� ��:� "*" $Q% �"X%=Q% � 256:Y%=Q% � 256:�&FFF7 �� � �� �: �� �error �3:� �:� �"Press SPACE to continue" &� � �=32 0� E%=0 � �DZ@ � � �tB@ :� � O*Select �s+ScreenInitialise M,os( �P �` �P �` � �@ � � � �@ �` � � � �( �*b$ �*�+f$ +�,$ +���$ $ +�f s$ "+��.+b$ -+�8+f$ 7+��+$ @+���$ s$ L+�$ k$ V+� $ _+� $ h+��+Title �+d �) % �+$ �+ �+$ 7,"G or T or T DUMP�+ �+$ ��� % �+c y),cl Q)+,choose P'�+etter$ �,�+aps% GTl % r h% a r$ ,Hit�,delay '% % r % �,rinter% % Printer z!Y or N or N), DATAC, SHINWA, STARRE $ a,)Mannesmann Tally MT160CANON 1210ialann TaYNCDEFGHIJKLMN 1210ial rinter$ �,)!EPSONS (all), DATAC, SHINWA, STARal(all),�,MoveCode �� rigin% SaveCode �#�#Y or N or N, PW1080: linear specialAVE EPSONSM 900 B00 AEF J-Demonstrate 3l-Draw b; opCol �` ixel � Square ]&$&��+� �+ �+, j+�, �+ �+� �"�ӝD���t�+�ߒI�"�ӝD���t�+�X�1�"�ӝD���t�+�K� � �b b�01245- �"�ӝD���t�+�K� � �� �� �{� ��p���p�{��p��p� �q�p���p��p��q�� �a �z��g �y�j �}�m �|� � ��Y O �����r��s��] O ���|�x�p� � �t���ȥz�� �)��� )��{��E}��z���j6u��07�yJ�uvw���z)�t�rJJ)t ��p �~�q ���~u�u�i���p8�y�p��q�x��+� !�+� !Hit��A,B,C,D( &