So I'm trying in a BEXEC* program from Peek65 (Peek65_V4N7-07_1983.pdf) magazine and when I run it i get a syntax error. I narrowed this error down to two 'NULL' commands:
18 POKED,2:NULL0:PRINT:PRINTK"Files;"C"Tracks"
and
24 IFR$="P"THENNULL8:POKED,3:GOTO40
It seems the NULL command doesn't work!!!!
Removing these two NULL commands allows the program to run, but there is some issues which I can only imagine stem from not having these commands in the program. Can anyone add any insight as to why 'NULL' doesn't work?
Thanks
Philip
'NULL' command in OS65D BASIC
-
- Posts: 369
- Joined: Wed Mar 30, 2011 9:44 am
- Location: New Zealand
- Contact:
'NULL' command in OS65D BASIC
2P (1mhz 32k) - 502 + 8k + CEGMON + garbage collector fix BASIC, D&N MEM-CM9 + 24k, 540 (mono) [SOLD]
4PMF (2mhz 24k) - 505, 540, 527, D13 + 5.25" + Gotek
Superboard RevD - CEGMON + 610 board 24k + D13
Spares - 3 x 527, 1 x 505, Backplane
-
- Posts: 369
- Joined: Wed Mar 30, 2011 9:44 am
- Location: New Zealand
- Contact:
Re: 'NULL' command in OS65D BASIC
Replying to myself here.
I found this in the OS65D tutorial manual:
There are a few BASIC functions in OS-65D V3.2 that are no
longer present in V3.3. The first two of these functions are
NULL and WAIT. These keywords have been replaced by EDIT and
TRAP.
…not sure where that leaves me though
May try to find a better BEXEC* program and type it in again.
I found this in the OS65D tutorial manual:
There are a few BASIC functions in OS-65D V3.2 that are no
longer present in V3.3. The first two of these functions are
NULL and WAIT. These keywords have been replaced by EDIT and
TRAP.
…not sure where that leaves me though
May try to find a better BEXEC* program and type it in again.
2P (1mhz 32k) - 502 + 8k + CEGMON + garbage collector fix BASIC, D&N MEM-CM9 + 24k, 540 (mono) [SOLD]
4PMF (2mhz 24k) - 505, 540, 527, D13 + 5.25" + Gotek
Superboard RevD - CEGMON + 610 board 24k + D13
Spares - 3 x 527, 1 x 505, Backplane
-
- Site Admin
- Posts: 717
- Joined: Tue Sep 09, 2008 5:24 am
Re: 'NULL' command in OS65D BASIC
NULL only affects how many nulls are added for a new line on serial / cassette output. It seems that v3.3 added a command-line editor that provided that functionality a different way. I don't think it will make any difference if the NULL statements are removed.
Dave
Dave
-
- Posts: 369
- Joined: Wed Mar 30, 2011 9:44 am
- Location: New Zealand
- Contact:
Re: 'NULL' command in OS65D BASIC
That's what I thought.
However the program at typed in is having problems.
Mostly the program works, but I've noticed that when I alter a file name from the BEXEC menu, then try to do another DIR listing, the list is shown as incomplete, and missing many of the files on the disk. However, the files ate actually still there, just not displaying. I'll need to do more playing with it to see exactly what it does, and also I'll check my typed in code vs the magazine listing in case I typed something in wrong.
Here is the code as it exists at present:
Thanks
Phil
However the program at typed in is having problems.
Mostly the program works, but I've noticed that when I alter a file name from the BEXEC menu, then try to do another DIR listing, the list is shown as incomplete, and missing many of the files on the disk. However, the files ate actually still there, just not displaying. I'll need to do more playing with it to see exactly what it does, and also I'll check my typed in code vs the magazine listing in case I typed something in wrong.
Here is the code as it exists at present:
Code: Select all
2 REM BEXEC* 06/15/83
4 DEFFNA(X)=10*INT(X/16)+X-16*INT(X/16)
6 DEFFNB(X)=16*INT(X/10)+X-10*INT(X/10)
8 D=8994:POKED-1,2:POKE741,76:POKE750,78:F$="FILENAME"
10 POKE2073,96:POKE2893,28:POKE2894,11:E$=" ALREADY EXISTS"
14 T=39:DIMN$(T),F(T),Q(T),U(T):C=0:K=0:P=11897
16 DISK!"CA 2E79=12,1":GOSUB88:DISK!"CA 2E79=12,2":GOSUB88
18 POKED,2:NULL0:PRINT:PRINTK"Files;"C"Tracks"
20 INPUT"List/Print/Free/Rename/Delete/Create/Save/Exit";R$
22 R$=LEFT$(R$,1):IFR$="L"THEN40
24 IFR$="P"THENNULL8:POKED,3:GOTO40
26 IFR$="F"THEN50
28 IFR$="R"ORR$="D"THEN60
30 IFR$="C"THEN74
32 IFR$="E"THENPOKE2073,173:END
34 IFR$<>"S"THEN18
36 GOSUB100:DISK!"SA 12,1=2E79/1":GOSUB100:DISK!"SA 12,2=2E79/1"
38 GOTO18
40 PRINT:PRINT"OS-65D V3.X DIRECTORY"
42 PRINTF$" TRACK RANGE":GOSUB116
44 FORA=0TOT:FORB=1TOK
46 IFA=F(B)THENPRINTN$(B)TAB(12)F(B)TAB(16)"-"Q(B)
48 NEXTB,A:GOTO18
50 PRINT:PRINT" --FREE TRACKS--":GOSUB116:J=0
52 FORI=JTOT:IFU(I)=0THEN56
54 NEXTI:GOTO18
56 PRINTTAB(6)I;TAB(7)"-";:FORJ=ITOT:IFU(J)=0THENNEXTJ
58 PRINTJ-1:I=J:GOTO54
60 GOSUB110:FORI=1TOK:IFN$(I)=N$THEN64
62 NEXTI:PRINTN$" NOT FOUND":GOTO18
64 IFR$="R"THEN70
66 FORJ=F(I)TOQ(I):U(J)=0:C=C-1:NEXTJ:N$(I)=N$(K)
68 F(I)=F(K):Q(I)=Q(K):K=K-1:GOTO18
70 GOSUB112:FORJ=1TOK:IFI<>JANDN$(J)=N$THENPRINTN$;E$:GOTO18
72 NEXTJ:N$(I)=N$:GOTO18
74 IFK=TTHENPRINT"NO SPACE":GOTO18
76 GOSUB112:FORI=1TOK:IFN$(I)=N$THENPRINTN$;E$:GOTO18
78 NEXTI:INPUT"1st track,# tracks";F,N:Q=F+N-1
80 IF(F>Q)OR(Q>T)THENPRINT"ERROR": GOTO18
82 FORI=FTOQ:IFU(I)=1THENPRINT"TRACK"I"USED":GOTO18
84 NEXTI:FORI=FTOQ:U(I)=1:C=C+1:NEXTI:K=K+1
86 N$(K)=N$:F(K)=F:Q(K)=Q:GOTO18
88 FORI=PTOP+248STEP8:IFPEEK(I)=35THEN98
90 IFK=TTHENPRINT">"T"FILES":RETURN
92 K=K+1:N$(K)="":FORJ=ITOI+5:N$(K)=N$(K)+CHR$(PEEK(J)):NEXTJ
94 F(K)=FNA(PEEK(I+6)):Q(K)=FNA(PEEK(I+7))
96 FORJ=F(K)TOQ(K):U(J)=1:C=C+1:NEXTJ
98 NEXTI:RETURN
100 FORI=PTOP+248STEP8:IFK=0THEN106
102 L=0:FORJ=ITOI+5:L=L+1:POKEJ,ASC(MID$(N$(K),L,1)):NEXTJ
104 POKEI+6,FNB(F(K)):POKEI+7,FNB(Q(K)):K=K-1:GOTO108
106 FORJ=ITOI+5:POKEJ,35:NEXTJ:POKEI+6,0:POKEI+7,0
108 NEXTI:RETURN
110 PRINT"OLD ";:GOTO114
112 PRINT"NEW ";
114 PRINTF$;:INPUTN$:N$=LEFT$(N$+" ",6):RETURN
116 FORI=1TO22:PRINT"-";:NEXTI:PRINT:RETURN
REM -CORRECTIONS (minus 'NULL' Statements)-
18 POKED,2:EDIT0:PRINT:PRINTK"Files;"C"Tracks"
24 IFR$="P"THENEDIT8:POKED,3:GOTO40
Phil
2P (1mhz 32k) - 502 + 8k + CEGMON + garbage collector fix BASIC, D&N MEM-CM9 + 24k, 540 (mono) [SOLD]
4PMF (2mhz 24k) - 505, 540, 527, D13 + 5.25" + Gotek
Superboard RevD - CEGMON + 610 board 24k + D13
Spares - 3 x 527, 1 x 505, Backplane
-
- Posts: 356
- Joined: Wed Mar 16, 2011 1:49 am
- Location: New Zealand
Re: 'NULL' command in OS65D BASIC
Phil, are you wanting a 3.2 or 3.3 Bexec ? The tutorial disk 5 in the WinOSI download has a 3.3 version. Might save you some typing !
Mike
Mike
600RevB:16K,2MHz,64x32,470,CEGMON
SuperKit:502,540B,542B,CEGMON, 8" and 5" FDDs
Cards:PE IO,6522 D-A-D, AY3-8910,ProgramGraphics,Color,UK101
WIP:HexDOS,FDD Emulator
SuperKit:502,540B,542B,CEGMON, 8" and 5" FDDs
Cards:PE IO,6522 D-A-D, AY3-8910,ProgramGraphics,Color,UK101
WIP:HexDOS,FDD Emulator