Quantcast
Channel: stardot.org.uk
Viewing all articles
Browse latest Browse all 2385

8-bit acorn software: other • Re: file won't run in ADFS

$
0
0
OK, the problem is kinda obvious, the SSD images have to be copied as SSD images and not opened and the contents copied. Doing a *EX now, I get;

Code:

>*EXTeletext  (022)     OwnerPIBRIDGE-00         Option 00 (Off)Dir. TELETEXT       Lib. Library   BFAX82I    FFFFFD5B 0000DAA3   000582     WR/       02/07/24 2641897BFAX82s    00006000 00006000   032000     WR/       20/04/16 264188DBFAX83I    FFFFFD5B 00011D62   0006B8     WR/       02/07/24 2641895BFAX83s    00006000 00006000   032000     WR/       20/04/16 2641889BFAX84I    FFFFFD5B 00013C83   0007C6     WR/       02/07/24 2641893BFAX84s    00006000 00006000   032000     WR/       20/04/16 264188EBFAX85I    FFFFFD5B 00015B57   000960     WR/       02/07/24 264188BPIFAXB     00000800 00008023   000974     WR/       04/07/24 264189DREADME     FFFFFFFF FFFFFFFF   000389     WR/       02/07/24 264189BTIME       00000800 00008023   000102     WR/       04/07/24 264188F>
I modified the program "PIFAXB" to overcome the cursor jump at the bottom and to use a BBC Micro as well as a BBC Master with TIME$

Use this program first call it "TIME"

Code:

   10MODE7:VDU23;8202;0;0;0;   20ONERROR GOTO130   30T$=RIGHT$(TIME$,8)   40H%=VAL(MID$(T$,1,2))   50M%=VAL(MID$(T$,4,2))   60S%=VAL(MID$(T$,7,2))   70GOTO110   80INPUT"Time Hours (0-23):"H%   90INPUT"Time Minutes (0-59):"M%  100INPUT"Time Seconds (0-59):"S%  110TIME=(H%*3600+M%*60+S%)*100  120CHAIN"PIFAXB1"  130IFERR=6 GOTO80 ELSE REPORT:END
Create this program as "PIFAXB1";

Code:

   10 REM piFAXb   20 REM Read BeebFAX ssd disc   30 REM Translated for BBC Master   40 REM J Dale 2024   50 :   60DIM X% 20   70Y%=X% DIV 256   80CLOSE#0   90 C%=FNMenu  100 ONERROR IF ERR=17 THEN RUN ELSE CLS:REPORT:PRINT" at line ";ERL:END  110 IF C%=5THENCLS:END  120 PROCInitialise  130 Q%=0  140 PROCDisplayPage(CurrentPage%)  150 REPEAT  160 NewPage%=FNInputPageNumber  170 PROCDisplayPage(NewPage%)  180 UNTIL FALSE  190 CLOSE#F%  200 CLOSE#O%  210 A%=GET  220 END  230 :  240 DEFPROCInitialise  250 LOCALN%,P%,F$,I$  260 CLOSE#0  270 F$="BFAX8"+STR$(C%+1)+"s"  280 I$=LEFT$(F$,6)+"i"  290 F%=OPENUP(F$)  300 O%=OPENUP(I$)  310 REPEAT  320 INPUT#O%,N%,P%  330 UNTILEOF#O%  340 LastPage%=N%:LastPointer%=P%  350 PTR#O%=0:INPUT#O%,N%,CurrentPointer%:PTR#O%=0  360 CurrentPage%=100  370 ENDPROC  380 :  390 DEFPROCOut(N%)  400 LOCALI%,B%  410 B%=BGET#F%:IFB%<&80THENB%=B%OR&80  430FORI%=1TON%:A%=6:X%?4=B%:CALL&FFF1:!X%=!X%+1:NEXT  440 ENDPROC  450 :  460 DEFPROCDisplayPage(PageNumber%)  470 LOCALP%,Q%  480 P%=FNGetPagePointer(PageNumber%)  490 PTR#F%=P%  500 CurrentPointer%=P%  510 Q%=0  520 CLS  521!X%=&7C00  530 REPEAT  540 B%=BGET#F%  550 IFB%=&FF THEN Q%=1:GOTO570  560 IF B%>&7F THEN PROCOut(B%-&7E) ELSE B%=B%OR&80:A%=6:X%?4=B%:CALL&FFF1:!X%=!X%+1  570 UNTILQ%=1  580 ENDPROC  590 :  600 DEFPROCDH(X%,Y%,M$)  610 LOCALI%  620 FORI%=0TO1  630 PRINTTAB(X%,Y%+I%)CHR$141M$  640 NEXT  650 ENDPROC  660 :  670 DEFPROCHeader(M$)  680 LOCALI%  690 FORI%=0TO1  700 PRINTTAB(0,I%)CHR$132CHR$157CHR$131  710 NEXT  720 I%=20-(2+LENM$DIV2)  730 PROCDH(I%,0,M$)  740 ENDPROC  750 :  760 DEFPROCFooter(M$)  770 PRINTTAB(0,23)CHR$132CHR$157CHR$135SPC(20-(3+LENM$/2))M$  780 ENDPROC  790 :  800 DEFFNGetPagePointer(PageNumber%)  810 LOCALI%,P%,N%  820 PTR#O%=0  830 REPEAT  840 INPUT#O%,N%,P%  850 UNTIL N%>=PageNumber% OR EOF#O%  860 IFN%<>PageNumber%THEN=LastPointer%ELSE=P%  870 :  880 DEFFNInputPageNumber  890 LOCALP$,K%,I%,N%,T$  900 *fx15,1  910 P$=""  920 N%=CurrentPage%  930 REPEAT  940 REPEAT  950 K%=INKEY(20)  960 N%=N%+1:IFN%>LastPage%N%=100  970 REM T$=RIGHT$(TIME$,8):T$=LEFT$(T$,5)+"/"+RIGHT$(T$,2)  980S%=TIME DIV 100:H%=S%DIV3600:S%=S%-H%*3600:M%=S%DIV60:S%=S%-M%*60  990T$="" 1000IFH%<10 T$=T$+"0" 1010T$=T$+STR$(H%)+":" 1020IFM%<10 T$=T$+"0" 1030T$=T$+STR$(M%)+"/" 1040IFS%<10 T$=T$+"0" 1050T$=T$+STR$(S%) 1060 PRINTTAB(17,0);N%TAB(32,0)T$; 1070 UNTIL (K%>47ANDK%<58)ORK%=13 1080 P$=P$+CHR$K% 1090 IFK%<>13THEN1140 1100 CurrentPage%=CurrentPage%+1 1110 IF CurrentPage%>LastPage% THEN CurrentPage%=100 1120 P$=STR$(CurrentPage%) 1140 UNTIL LEN(P$)=3 1150 CurrentPage%=VAL(P$) 1160 =CurrentPage% 1170 : 1180 DEFFNMenu 1190 LOCALA$,H% 1200 CLS:H%=14 1210 PROCHeader("piFAX") 1220 PROCFooter("Flax Cottage Educational Archive") 1230 RESTORE 1240 FORI%=1TO5 1250 READ A$ 1260 A$=CHR$134+CHR$(64+I%)+CHR$131+A$ 1270 PROCDH(H%,2+I%*2,A$) 1280 NEXT 1290 PROCDH(H%-4,2+I%*2,CHR$135+"Choice A to "+CHR$(I%-1+64)+"?"+CHR$134) 1300 REPEAT 1310 H%=223ANDGET 1320 UNTIL H%>64ANDH%<64+I% 1330 =H%-64 1340 : 1350 REM BeebFAX discs available 1360 DATA 1982,1983,1984,1985,Quit
Note: this will only work on BBC and Master machines with or without a second processor due to the use of direct screen memory access via OSWORD 6.

Statistics: Posted by maniacminer — Thu Jul 04, 2024 2:27 am



Viewing all articles
Browse latest Browse all 2385

Trending Articles