Getting OPD Basic over to a QL

The Thor, Aurora, Q40, Q60 & Q68 etc. are discussed here.
User avatar
Chr$
Super Gold Card
Posts: 629
Joined: Mon May 27, 2019 10:03 am
Location: Sachsen, Germany

Getting OPD Basic over to a QL

Postby Chr$ » Mon Aug 17, 2020 7:02 pm

Just for fun, after viewing an ICL Basic program on the OPD I thought I'd attempt to move one over to the QL and get it running there.

For example, on the ICL OPD 'Welcome' cartridge there is a file also called 'Welcome' and when loaded on the OPD (Tonto) with the usual lrun mdv1_welcome, it looks very much like a QL SuperBasic program with some different keywords etc. The Welcome program when run on the OPD just introduces the OPD functions and invites you to press menu numbers that then display further info (it loads files named t1 to t9 that contain text) - quaint, nothing remarkable, but something that I thought QLers might like to see and something that should be preserved.

So, using Dave Walkers OPD/QL Interchange program I was able to read the OPD Welcome cart and transfer the files onto the QL. Once in the QL world I then copied them via QNET to the fat1_ of my Q68.

I popped the Q68 SD card into my PC and was half expecting to be able to open the 'Welcome' file and be presented with a SuperBasic looking program for editing and then experimentation in an emulator.... but not so! The 'Welcome' fine is not human readable when using a text editor.

So, as the Welcome file can only be used on an OPD running the ICL version of basic loaded into RAM I assume that that program is what turns the gobbledegook into structured readable Basic on the screen?

I also tried loading the OPD driver on the QL which creates new opd1_ and opd2_ devices and with load opd1_welcome attempted to load the welcome basic file from the original OPD cartridge. The result of that was 'bad parameter'.

Anyway, if anyone else wants to have a look, here are the contents of the ICL 'Welcome' cartridge, zipped in windows (because for some reason the 'ICLBASIC' file cannot be seen within a QL emulator environment). Also attached is a QL Zipped version of just the 'Welcome' file, as Qemulator kept adding a header to it, so must see it as being an executable.
Attachments
Welcome.zip
(40.45 KiB) Downloaded 23 times
qzip.zip
(3.44 KiB) Downloaded 20 times


Collector of QL related computers, accessories and software even though I don't understand how any of them work.
Original QL's: many (plus quite a bit of other old stuff and 100+ original software titles)
Custom AT cased QL system with Gold Card, Qimi mouse, Hermes and MFM HDD
PC with QXLII card installed
Q68 also present

Ask me about near NOS re-felted good quality Microdrive Carts - many available.
User avatar
Chr$
Super Gold Card
Posts: 629
Joined: Mon May 27, 2019 10:03 am
Location: Sachsen, Germany

Re: Getting OPD Basic over to a QL

Postby Chr$ » Sun Aug 23, 2020 8:55 pm

I managed to get the plain text ICL basic 'Welcome' prog over to a QL! And then to here:

Code: Select all

1 REMark 3 Dec 84 * WELCOME 4.0 * Ë ICL 1984
2 DIM n(8):sg=SEGMENT(7):INK 6:PAPER 0:WINDOW 480,240,0,0
3 WHEN ERRor :CLS:AT 2,3:PRINT'System error'\'Please start again':PAUSE 500:BYE
4 LBYTES mdv1_t1,sg,0:s=0:f$=CHR$(192):bb=1
5 BEEP 12,9,0,6,12,9,0,6,12,9,0,6,9,30:p1
6 hd'WELCOME MENU':s=0
7 PRINT'1  Introduction'\\'2  Noticeboard'\\'3  Telephone Directory'\\
8 PRINT'4  Telephone Control'\\'5  Voice Response'\\'6  Computer Access'\\
9 PRINT'7  Calculator'\\'8  BASIC'\\'9  Housekeeping'\\
10 PRINT'0  Exit from Welcome Program':AT bb+bb+1,27:PRINT'Just seen'
11 b$=INKEY$(-1):b=CODE(b$)-48:IF b=bb:GO TO 13
12 IF b>0 AND b<10:AT b+b+1,27:PRINT'Loading':LBYTES 'mdv1_t'&b$,sg,0:bb=b
13 SELect ON b
14 =0:p0:=1:p1:=2:FOR c=8,13,16,14,17:CLS:pt c:g
15 =3:FOR c=8,10,8,17,10,9,10:CLS:pt c:g
16 =4:FOR c=9,19,3,9,14,12
17 IF c=3:AT 13,0:CLS 2:ELSE CLS
18 pt c:g:END FOR c
19 =5:FOR c=11,12:CLS:pt c:g
20 =6:FOR c=14,15,14,15,15:CLS:pt c:g
21 =7:FOR c=8,19,9,24,8
22 CLS:pt c:IF c=24:FOR x=155304,155308:POKE_L x,-1
23 IF c=19 OR c=24:PAUSE 300
24 g:END FOR c
25 =8:FOR c=11,12,11,13,11,8:CLS:pt c:g
26 =9:FOR c=9,9,14,13,11,11,12:CLS:pt c:g
27 =REMAINDER :BEEP 20,5:GO TO 11
28 END SELect :GO TO 6
29 DEFine PROCedure pt(u):FOR w=1 TO u
30 FOR j=1 TO 8:n(j)=PEEK(sg,s):s=s+1
31 a$='':FOR j=1 TO n(8):a$=a$&CHR$(PEEK(sg,s)):s=s+1
32 IF n(5)=255:
33 PAPER 2:CSIZE 2,0:FOR y=3 TO 18,20:AT y,n(6):PRINT a$
34 NEXT w:END IF
35 INK n(1):PAPER n(2):CSIZE n(3),n(4):AT n(5),n(6)
36 IF a$='':FOR j=0 TO 7:PRINT INKEY$(-1);
37 PRINT a$:PAUSE n(7)
38 END FOR w:END DEFine
39 DEFine PROCedure hd(h$)
40 CLS:CSIZE 2,1:t=(40-LEN(h$))/2:AT 0,t:PRINT h$
41 CSIZE 2,0:AT 3,0:END DEFine
42 DEFine PROCedure f
43 CSIZE 2,0:INK 6:PAPER 0:AT 21,0:PRINT FILL$(CHR$(204),40)
44 AT 22,0:PRINT f$;'1  next page   ';f$;'7  main menu   ';f$;'0  exit'
45 REPeat k
46 fk=CODE(INKEY$(-1))
47 SELect ON fk:=241:RETurn :=247:RETurn :=240:p0:=REMAINDER :BEEP 20,5
48 END REPeat k:END DEFine
49 DEFine PROCedure p0
50 hd'END OF WELCOME':PRINT"That is the end of the Welcome Program"\\
51 PRINT"The scripts in section 3 of the OPD"
52 PRINT"Welcome Package take you through"
53 PRINT"using the facilities of the OPD":PAUSE 255:BYE:END DEFine
54 DEFine PROCedure bx(w,h,x,y)
55 CSIZE 2,0:fa$=FILL$('_',w):AT y,x+1:PRINT fa$
56 FOR z=1 TO h:AT y+z,x: PRINT'|':AT y+z,x+w+1:PRINT'|'
57 AT y+h,x+1:PRINT fa$:END DEFine
58 DEFine PROCedure p1:CLS:pt 6:CLS
59 pt 2:bx 14,8,12,0:pt 1:bx 32,13,3,9:bx 6,7,28,14:pt 1:bx 16,7,11,14
60 pt 2:bx 21,3,12,10:pt 1:bx 5,11,4,10:pt 1:CLS:pt 12:CLS:pt 8
61 FOR i=2 TO 18 STEP 4
62 FOR j=25 TO 35 STEP 5:bx 3,3,j,i
63 END FOR i
64 pt 12:bx 7,3,15,18:pt 4:CLS:pt 18:REPeat k
65 IF CODE(INKEY$(-1))=241:EXIT k
66 BEEP 20,5:PAPER 2:AT 17,0:PRINT'Please try again':PAPER 0
67 END REPeat k:CLS:pt 1:CLS:pt 14:f:END DEFine
68 DEFine PROCedure g:f:IF fk=247:GO TO 28:END IF :END DEFine


Lots of things that QL's don't like or do differently. e.g. that 'SEGMENT' thing on line 2, which is rather like RESPR, so I've read. I had a play, but I'm not expert enough to get it to work in a QL environment.


Collector of QL related computers, accessories and software even though I don't understand how any of them work.
Original QL's: many (plus quite a bit of other old stuff and 100+ original software titles)
Custom AT cased QL system with Gold Card, Qimi mouse, Hermes and MFM HDD
PC with QXLII card installed
Q68 also present

Ask me about near NOS re-felted good quality Microdrive Carts - many available.

Who is online

Users browsing this forum: No registered users and 1 guest