'NULL' command in OS65D BASIC

Post Reply
nama
Posts: 357
Joined: Wed Mar 30, 2011 9:44 am
Location: New Zealand
Contact:

'NULL' command in OS65D BASIC

Post by nama »

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

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
nama
Posts: 357
Joined: Wed Mar 30, 2011 9:44 am
Location: New Zealand
Contact:

Re: 'NULL' command in OS65D BASIC

Post by nama »

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.

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
dave
Site Admin
Posts: 710
Joined: Tue Sep 09, 2008 5:24 am

Re: 'NULL' command in OS65D BASIC

Post by dave »

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
nama
Posts: 357
Joined: Wed Mar 30, 2011 9:44 am
Location: New Zealand
Contact:

Re: 'NULL' command in OS65D BASIC

Post by nama »

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:

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
Thanks

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
MK14HAK
Posts: 356
Joined: Wed Mar 16, 2011 1:49 am
Location: New Zealand

Re: 'NULL' command in OS65D BASIC

Post by MK14HAK »

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
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
Post Reply