First attempts to boot my Tetroid GIRL

Nagging hardware related question? Post here!
polka
Brittle Membrane
Posts: 107
Joined: Mon Mar 07, 2011 11:43 am

First attempts to boot my Tetroid GIRL

Postby polka » Sun Oct 21, 2018 1:36 pm

Hi all !
At the beginning, there was the QL (128k,2 120k MDVs). Then, the boot files were only to load one program from an mdv. After, I got a SuperQboard (with 512K more RAM, TK2 and 2 720k FLPs – and soon a mouse). Thus I could boot a floppy with several tools (for inst. the four Psion programs, C68 edit-compile-load-make, etc.) Today, I’ve got a Tetroid (with 768k more RAM, TK2 and 2 720k flp…

AND : a 8Gb CF store. I already told how I decided to partition this huge space :
Number One partition called GIRL to be always linked to WIN1
8 partitions called BOY2 to BOY9 that could be linked to WIN2
10 partitions called CAT0 to CAT9 and 10 partitions called DOG0 to DOG9 to be linked to WIN3

One may not create too big partitions (however, one may have up to 32 – I have 29), and one may not link too many of them at the same time, because their FAT must reside in RAM : the GIRL , BOYs and CATs partitions have a 60k FAT and DOGs a 110k FAT.

Here is the definitive version of my CF setup tools :

Code: Select all

32500 DEFine PROCedure DEST(N$)
32501    D$ = 'WIN3_' & N$
32502    MAKE_DIR D$
32503    DEST_USE D$
32504 END DEFine
32505 DEFine PROCedure NO_BOY
32506    WIN_DRIVE 2
32507 END DEFine
32508 DEFine PROCedure NO_ANIMAL
32509    WIN_DRIVE 3
32510 END DEFine

32511 DEFine PROCedure UP_GIRL
32512    CLS #2
32513    PRINT#2,"QubATA version " & WIN_VER$
32514    WIN_DISK #2,"SHOW"
32515    WIN_DISK #2,"DETAILS",1
32516    WIN_DRIVE -1
32517    WIN_DISK "INIT",1

32518    WIN_FORMAT 11,5
32519    WIN_DISK #2,"CREATE",1,1,60
32520    WIN_DRIVE 1,1,1
32521    FORMAT "WIN1_GIRL"
32522    DIR #2,WIN1_
32523    WIN_CTRL 1,14

32524       MAKE_DIR WIN1_SYS
32525       MAKE_DIR WIN1_BIN
32526       MAKE_DIR WIN1_ETC
32527       MAKE_DIR WIN1_PRG
32528       MAKE_DIR WIN1_PRG_C68
32529       MAKE_DIR WIN1_PRG_QMAC
32530       MAKE_DIR WIN1_PRG_PSION
32531       MAKE_DIR WIN1_TMP
32532       MAKE_DIR WIN1_WORK
32533       MAKE_DIR WIN1_GAMES
32535       MAKE_DIR WIN1_QubATA
32536       COPY dev$ & "setup_bas" TO WIN1_QubATA_setup_bas
32537       COPY dev$ & "unzip_exe" TO WIN1_ETC_unzip
32538       COPY dev$ & "starter1_zip" TO WIN1_QubATA_starter1_zip
32539       EW WIN1_ETC_unzip ; "-d WIN1_ WIN1_QubATA_starter1_zip"
32540       DIR #2,WIN1_

32541    WIN_FORMAT 0
32542    PRINT #2, "DONE !"
32543    WIN_DISK #2,"SUMMARY",1
32544 END DEFine

32545 DEFine PROCedure UP_BOYS
32546    CLS #2
32547    WIN_FORMAT 11,5
32548    FOR I = 2 TO 9
32549       WIN_DISK #2,"CREATE",1,I,60
32550       WIN_DRIVE 2,1,I
32551       FORMAT "WIN2_BOY" & CHR$(I+48)
32552       DIR #2,WIN2_
32553       WIN_CTRL 2,14
32554       WIN_DRIVE -1
32555    END FOR I
32556    WIN_FORMAT 0
32557    PRINT #2,"DONE !"
32558    WIN_DISK #2,"SUMMARY",1
32559 END DEFine

32560 DEFine PROCedure UP_CATS
32561    CLS #2
32562    WIN_FORMAT 11,7
32563    FOR I = 10 TO 19
32564       WIN_DISK #2,"CREATE",1,I,240
32565       WIN_DRIVE 2,1,I
32566       FORMAT "WIN2_CAT" & CHR$(I+38)
32567       DIR #2,WIN2_
32568       WIN_CTRL 2,14
32569       WIN_DRIVE -1
32570    END FOR I
32571    WIN_FORMAT 0
32572    PRINT #2,"DONE !"
32573    WIN_DISK #2,"SUMMARY",1
32574 END DEFine

32575 DEFine PROCedure UP_DOGS
32576    CLS #2
32577    WIN_FORMAT 11,7
32578    FOR I = 20 TO 29
32579       WIN_DISK #2,"CREATE",1,I,433
32580       WIN_DRIVE 2,1,I
32581       FORMAT "WIN2_DOG" & CHR$(I+28)
32582       DIR #2,WIN2_
32583       WIN_CTRL 2,14
32584       WIN_DRIVE -1
32585    END FOR I
32586    WIN_FORMAT 0
32587    PRINT #2,"DONE !"
32588    WIN_DISK #2,"SUMMARY",1
32589 END DEFine

32590 DEFine PROCedure UP_ALL
32591    UP_GIRL
32592    UP_BOYS
32593    UP_CATS
32594    UP_DOGS
32595 END_DEFine

32596 DEFine PROCedure BOY( N )
32597    CLS #2
32598    WIN_DRIVE 2
32599    WIN_DRIVE 2,1,N
32600 END DEFine

32601 DEFine PROCedure CAT( N )
32602    CLS #2
32603    WIN_DRIVE 3
32604    WIN_DRIVE 3,1,N+10
32605 END DEFine

32606 DEFine PROCedure DOG( N )
32607    CLS #2
32608    WIN_DRIVE 3
32609    WIN_DRIVE 3,1,N+20
32610 END DEFine

32611 DEFine PROCedure KILL_BOYS
32612    WIN_DRIVE -1
32613    FOR I = 2 TO 9
32614       WIN_DISK#2,"REMOVE",1,I
32615    END FOR I
32616    WIN_DRIVE 1,1,1
32617 END DEFine

32618 DEFine PROCedure KILL_CATS
32619    WIN_DRIVE -1
32620    FOR I = 10 TO 19
32621       WIN_DISK#2,"REMOVE",1,I
32622    END FOR I
32623    WIN_DRIVE 1,1,1
32624 END DEFine

32625 DEFine PROCedure KILL_DOGS
32626    WIN_DRIVE -1
32627    FOR I = 20 TO 29
32628       WIN_DISK#2,"REMOVE",1,I
32629    END FOR I
32630    WIN_DRIVE 1,1,1
32631 END DEFine

32632 DEFine PROCedure KILL_ANIMALS
32633    KILL_DOGS
32634    KILL_CATS
32635 END DEFine

32636 DEFine PROCedure KILL_ALL_EXCEPT_GIRL
32637    KILL_ANIMALS
32638    KILL_BOYS
32639 END_DEFine


Now, it was time to transfer all my software to the CF card and to design new BOOT programs.

I decided to reuse the way I booted from floppies (and also with QEM), but to design more modular superbasic tools… using MERGE and MRUN to dispatch the boot process among several optional files. Here is the proper BOOT file ; you may notice that it is very small :

Code: Select all

REM file BOOT
TK2_EXT : mode 4 : OK=32741

a=RESPR(250) : LBYTES 'win1_SYS_exists_bin',a : CALL a

WINDOW#0,388,42,110,4:PAPER#0,2;:INK#0,7:BORDER#0,1,7
WINDOW#1,88,216,20,4:PAPER#1,208;:INK#1,7:BORDER#1,1,7
WINDOW#2,388,172,110,48:PAPER#2,0;:INK#2,4:BORDER#2,1,7
OPEN#3,scr_512x34a0x222:PAPER#3,0;:INK#3,4:BORDER#3,1,0

32700 mrun win1_toob:bye

32757 DEFine PROCedure BYE
32758 PAPER#3,0;:INK#3,4:CSIZE#3,0,0:CLS#3:AT#3,0,7:CLS
32759 CLS#0:PRINT#3,' F1',,' F2',,' F3',,' F4',,'F5':RESTORE OK
32760 FOR i = 5 TO 69 STEP 16
32761    READ p,q,p$,Q$:PAPER#3,p:INK#3,q
32762    AT#3,1,i:PRINT#3,p$:AT#3,2,i:PRINT#3,q$
32763 END FOR i
32764 p = CODE(INKEY$(-1))/4
32765 IF p<58 OR p>62 : GO TO 32764
32766 PAPER#3,0:READ q:GO TO p+q-58
32767 END DEFine BYE

MRUN WIN1_OPTIONS


There are numbered lines (that may be called intructions) and un-numbered lines (commands).
Because for me, lines to be executed only once may not stay in memory when booting terminates.

Numbered lines are only of one procedure called “bye”, which cannot run without loading several other files. One of them called OPTIONS is MRUN at the end :

Code: Select all

REM file OPTIONS
1 LRESPR 'win1_sys_ptr_gen'
2 LRESPR 'win1_sys_wman'
3 LRESPR 'win1_sys_hot_rext'
4 LRESPR 'win1_sys_Qptr'
5 LRESPR 'win1_sys_Qpac2'
6 LRESPR 'win1_sys_fileinfo2_bin'
7 MERGE WIN1_TOP_MENU
8 MERGE WIN1_SUB_MENU3
9 MERGE WIN1_SUB_MENU4
10 LAST_LINE = 10

These are LREPR and MERGE instructions (but you will see what happens with them in the end).

After LRESP-ing some tools, these instructions will merge (in this instance) three files called TOP_MENU, SUB_MENU3 and SUB_MENU4.
Let’s first examine how TOP_MENU interacts with the “bye” procedure :

Code: Select all

REM file TOP_MENU
32700 mrun win1_toob:OK=32741:BYE

32741 DATA   2,7,"    Qed    "," Text EDIT "
32742 DATA   2,7,"   QJUMP   ","    QRAM   "
32743 DATA 208,7,"    NO     ","   MENU3   "
32744 DATA 208,7,"",""
32745 DATA  80,7,"   SUPER   ","   BASIC   ",32746

32746 EXEC_W WIN1_BIN_QED_EXE : BYE
32747 EXEC WIN1_SYS_QRAM : BYE
32748 PRINT#2,'no SubMenu3':BYE
32749 PRINT#2,'no SubMenu4':BYE
32750 CLS:CLS#0:PRINT#0,'Say "BYE" to quit SUPER BASIC':STOP

32751 DEFine PROCedure WIN3(N)
32752 DATA_USE flp2_:WIN_DRIVE 3:IF N>=0:WIN_DRIVE 3,1,N+10
32753 END DEFine

32754 DEFine PROCedure DEST(N$)
32755 D$="WIN3_" & N$:MAKE_DIR D$:DEST_USE D$
32756 END DEFine


Look essentialy at lines 32741 to 32750. Boot sets OK = 32741, and the “bye” procedure restores data reading with OK, and then reads 5 DATA instructions and displays 5 informative labels at the bottom of the screen (lines 32758 to 32763 of “bye”). Then “bye” will check which key F1 to F5 one has pressed and execute one of the 5 instructions below. Instruction for F5 ends with STOP, and thus goes back to SuperBasic interactive mode. The four other instructions all end with “bye”, but they are of two types : for F1 and F2 they execute a program (or a SuperBasic procedure). For F3 and F4, for the moment they say ‘no submenu’ and restart “bye”. But as you will also MERGE SUB_MENU3 and SUB_MENU4, they will actually do something else :

Code: Select all

REM file SUB_MENU3
32721 DATA   2,7,"   MENU3   ","   PROG1   "
32722 DATA   2,7,"   MENU3   ","   PROG2   "
32723 DATA  80,7,"  to TOP   ","    MENU   "
32724 DATA   2,7,"   MENU3   ","   PROG3   "
32725 DATA   2,7,"   MENU3   ","   PROG4   ",32726

32726 PRINT#2,'Execute MENU3 PROG1':BYE
32727 PRINT#2,'Execute MENU3 PROG2':BYE
32728 OK=32741:PRINT#2,'Back to TOP MENU':BYE
32729 PRINT#2,'Execute MENU3 PROG3':BYE
32730 PRINT#2,'Execute MENU3 PROG4':BYE

32743 DATA 208,7,"  to SUB   ","   MENU3   "
32748 OK=32721:PRINT#2,"Going to SUB MENU 3":BYE


You see that the ten first lines of SUB_MENU3 have exactly the same structure as TOP_MENU and the two last lines modify the line numbered 32743 and 32747 of TOP_MENU. So, the label for F3 is changed by line 32743 and when executing line 32747, OK is set to 32721 and “bye” thus jumps to SUB_MENU3. In this sub-menu, the label for F3 (line 32723) will say ‘Back to TOP MENU’, and line 32728 resets OK to 32741 before calling “bye”.

Same thing after merging SUB_MENU4 !

Code: Select all

REM file SUB_MENU4
32731 DATA   2,7,"   MENU4   ","   PROG1   "
32732 DATA   2,7,"   MENU4   ","   PROG2   "
32733 DATA   2,7,"   MENU4   ","   PROG3   "
32734 DATA  80,7,"  to TOP   ","    MENU   "
32735 DATA   2,7,"   MENU4   ","   PROG4   ",32736

32736 PRINT#2,'Execute MENU4 PROG1':BYE
32737 PRINT#2,'Execute MENU4 PROG2':BYE
32738 PRINT#2,'Execute MENU4 PROG3':BYE
32739 OK=32741:PRINT#2,'Back to TOP MENU':BYE
32740 PRINT#2,'Execute MENU4 PROG4':BYE

32744 DATA 208,7,"  to SUB   ","   MENU4   "
32749 OK=32731:PRINT#2,"Going to SUB MENU 4":BYE


In this example, SUB_MENU3 and SUB_MENU4 contain only stubs for demonstration.

Now some tidying up ; remember that I don’t want to keep instruction lines when they are to be used only once. The file OPTIONS, when it is MRUN, will execute lines 1 to 10 the last one setting LAST_LINE=10. After executing these 10 lines it executes also line 32700, loaded by TOP_MENU (and also, to be sure by BOOT). This line asks to MRUN a little file called TOOB :

Code: Select all

REM file TOOB
WIN3 10 : DLINE 1 to LAST_LINE : BYE
32700 REMark Modular Boot POLKa fecit


that will delete lines 1 to LAST_LINE and call “bye”… in the meantime replacing line 32700 by a REM

Some final notes on conventions that I use :
The labels for executing some programs or procedures are white on red.
The labels for jumping to submenus are white on “purple”
The labels for jumping back to calling menus are white on red stripes

But any colour conventions may be used.

I organized this example like a “menu tree” and go back to calling menus with the same key as used for going to submenu.

But any menu graphs may be designed.

You could even use the main menu (for instance) to MERGE different sets of files even modifying this menu itself, thus using various boot processes, depending on what you want to do in a given session.

May the FORTH be with you !

A FORTH programmer will code FORTH in any langage (even SuperBasic)
Like an old (satiric) say : “a Fortran programmer can code Fortran in any langage”

POLKa


User avatar
Artificer
Chuggy Microdrive
Posts: 66
Joined: Fri Nov 24, 2017 8:43 am

Re: First attempts to boot my Tetroid GIRL

Postby Artificer » Sun Oct 21, 2018 7:26 pm

Interesting indeed. I admit I have never considered using unnumbered lines in my boot programs. QLHeaven's approach to flexible booting has been to, after an option has been selected, to write a note to the boot file on the boot disk that an option has been selected and the let the boot file rerun with this note changing its behavior. Similarly to how windows works. Doing that might add even more flexibilty to your approach. Seehttp://qlheaven.blogspot.com/2018/01/boot-menu-for-q60-with-multiple-hard.html

Artificer


polka
Brittle Membrane
Posts: 107
Joined: Mon Mar 07, 2011 11:43 am

Re: First attempts to boot my Tetroid GIRL

Postby polka » Sun Oct 21, 2018 11:09 pm

I am curious to have a look at your code.

The difference seems to be that I don't write and read (and interpret ?) notes between the boots, I simply might MRUN other OPTIONS (evenyually with other MERGEs) adding and replacing lines in the BOOT, and that line 32700 ensures that what must be RUN only once is immediately deleted after. My code is rather tortuous, but compact : because, on a plain old QL (which I favour), you need to spare memory (even when you have 896K - like with the Tetroid card - since you inevitably use a lot for FATs etc.).

May the FORTH be with you !

POLKa
Last edited by polka on Fri Oct 26, 2018 7:12 pm, edited 1 time in total.


User avatar
Artificer
Chuggy Microdrive
Posts: 66
Joined: Fri Nov 24, 2017 8:43 am

Re: First attempts to boot my Tetroid GIRL

Postby Artificer » Mon Oct 22, 2018 11:06 am

Hi polka, if you are interested I have posted a snippet of my boot code on my blog here : https://qlheaven.blogspot.com/2018/10/answer-to-question-on-qlforum.html


polka
Brittle Membrane
Posts: 107
Joined: Mon Mar 07, 2011 11:43 am

Re: First attempts to boot my Tetroid GIRL

Postby polka » Fri Nov 09, 2018 2:29 pm

My GIRL does not like JM, she prefers JS !

As I told, I have two QLs, the one bought end 1984 with a JM rom and the second bought in 1986 with a JS rom. I always used both with my Sandy SuperQboard without problems.

First, I tried my Tetroid card with my JS machine, and after setting-up all the partitions initialised win1_ like Alain Haoui. Then I booted the QL from win1_ with no trouble.

Next I swapped the Tetroid card to my JM machine. And it never succeded booting !

The first issue seemed to be that the function 'EXISTS' loaded at the beginning would not work within the program that loaded it. so I wrote a simpler BOOT (on flp1) :

Code: Select all

TK2_EXT : dev$='win1_' : sys$=dev$ & 'SYS_'
LRESPR( sys$ & 'EXISTS_bin' )
MRUN flp1_BOOT_AH


and modified Alain Haoui BOOT REM-ing all the initial lines up to 200 (renaming it BOOT_AH).

After that, all the calls to EXISTS seemed to work, and all the extensions could be loaded.

To be noted : you have to use MRUN, not LRUN, because otherwise the settings of dev$ ans sys$ are lost !

But this did not work all the way. After it loaded all the extensions, I got following message :

Code: Select all

Für solche Programme verzichten alle
Beteiligten auf jeden Rechtsanspruch.
at line 550 bad name

And after that line, nothing more seemed to work ! Why ? I still have to analyse. Any ideas ?

Please don't tell me to use my JS machine, I want to continue to use both, or at least figure what is wrong and try to put it right.

Here is the BOOT_AH that does not like JM :

Code: Select all

0100 REMark General Boot file
0110 :
0120 rem LET dev$='win1_'     : REMark change to suitable primary device
0130 rem LET sys$=dev$&'SYS_' : REMark system directory
0140 rem addr=RESPR(250) : LBYTES sys$&'exists_bin',addr : CALL addr
0150 :
0160 rem PRINT "Extending ToolKit II ..."
0170 REM IF NOT(EXISTS('TK2_EXT')) THEN
0180 REM  addr=RESPR(16876) : LBYTES sys$&'tk226_bin' : CALL addr
0190 REM END IF
0200 rem TK2_EXT : WTV
0210 :
0220 PRINT "Loaded system is : "; VER$
0230 :
0240 PRINT "Loading Hardware extensions ..."
0250 REMark LRESPR sys$&'ipcextam_bin': REMark for SuperHermes
0260 REMark LRESPR sys$&'ipcexts_bin' : REMark for Hermes only
0270 REMark IPCEXT 6 : REMark keyclick off
0280 REMark PRINT "(S)Hermes version is : ";IPCVER$
0290 :
0300 PRINT "Loading RunTime libraries..."
0310 LRESPR sys$&'qlib_run_336mod'
0320 LRESPR sys$&'turbo_tk_code'
0330 :
0340 PRINT "Loading Extended Environment ..."
0350 LRESPR sys$&'ptr_gen' : REMark with QIMI mouse enabled
0360 LRESPR sys$&'wman'
0370 LRESPR sys$&'hot_rext'
0380 LRESPR sys$&'Qptr'
0390 LRESPR sys$&'clsa_rext'
0400 LRESPR sys$&'getstuffed_rext'
0410 LRESPR sys$&'menu_rext'
0420 IF NOT(EXISTS('RAM_USE')) : LRESPR sys$&'RamPrt'
0430 LRESPR sys$&'Qpac2'
0440 LRESPR sys$&'fileinfo2_bin'
0450 REMark LRESPR sys$&'SERMouse' : REMark modify for SerMouse
0460 REMark IPCSTUFF 0,CHR$(27) : REMark uncomment for SuperHermes mouse
0470 REMark IPCMOUSE : REMark uncomment for SuperHermes mouse port 6
0480 :
0490 PRINT "Loading Additional Drivers ..."
0500 IF NOT(EXISTS('SDP_SET')) : LRESPR sys$&'SDUMP_rext'
0510 IF NOT(EXISTS('DEV_USE')) : LRESPR sys$&'dev_rext'
0520 LRESPR sys$&'env_bin'
0530 LRESPR sys$&'sigext30_rext'
0540 LRESPR sys$&'history_cde'
0550 HISTORY #0, 20 : REMark Historize 20 commands for #0
0560 :
0570 PRINT "Setting date and time ..."
0580 IF NOT(EXISTS('DATE_PROT')) : EXEC_W sys$&'DateSet_obj'
0590 PRINT "System time is : ";DATE$
0600 :
0610 PRINT "Customizing ..."
0620 SETENV "TMP=RAM1_" : SETENV "TEMP=RAM1_"
0630 SETENV "TERMINFO="&sys$&"terminfo" : SETENV "TERM=qdos"
0640 SETENV "QASCADE_RC="&sys$&"qascade_rc"
0650 DEV_USE 1,dev$&'SYS_',2 : DEV_USE 2,dev$&'BIN_',3
0660 DEV_USE 3,dev$&'ETC_',4 : DEV_USE 4,dev$&'WORK_'
0670 DEV_USE 5,dev$&'PRG_'     : DEV_USE 6,dev$&'PRG_PSION_'
0680 DEV_USE 7,dev$&'PRG_C68_' : DEV_USE 8,dev$&'PRG_QMAC_'
0690 PROG_USE dev1 : DATA_USE dev$ : SPL_USE paraf
0700 REMark IF VER$=='HBA' THEN : PRT_USE par : ELSE PRT_USE prt,par : END IF
0710 SDP_SET 19,3,1,0 : SDP_DEV 'PARD' : REMark SDP_KEY '*'
0720 REMark sv_base=163840 : POKE_W sv_base+HEX('8c'),10 : POKE_W sv_base+HEX('8e'),0
0730 :
0740 PRINT "Setting Hotkeys ..."
0750 ERT HOT_PICK  (CHR$(27),'')
0760 ERT HOT_WAKE  ('.','BUTTON_PICK')
0770 ERT HOT_THING ('z','BUTTON_SLEEP')
0780 ERT HOT_WAKE  ('/','Qascade')
0790 ERT HOT_WAKE  ('f','Files')
0800 ERT HOT_THING ('F','Files')
0810 ERT HOT_WAKE  ('j','Jobs')
0820 ERT HOT_WAKE  ('p','Pick')
0830 ERT HOT_WAKE  ('r','Rjob')
0840 ERT HOT_CMD   ('<','clsa 1')
0850 ERT HOT_CMD   ('>','clsa 2')
0860 HOT_GO
0870 :
0880 PRINT "Setting Buttons ..."
0890 EXEC clock_exe
0900 REMark EXEC qascade;"Start" : PAUSE 50
0910 BT_WAKE 'Hotkeys'
0920 BT_WAKE 'Exec'
0930 BT_WAKE 'Jobs'
0940 BT_WAKE 'Channels'
0950 BT_WAKE 'Sysdef'
0960 EXEP 'Files';"\NFiles \Dwin1_"
0980 HOT_DO CHR$(27) : CLSA 1
0990 EXEC qascade;"Start"
1000 NEW  : REMark Finished


May the FORTH be with you !

POLKa


User avatar
tofro
QL Wafer Drive
Posts: 1606
Joined: Sun Feb 13, 2011 10:53 pm
Location: SW Germany

Re: First attempts to boot my Tetroid GIRL

Postby tofro » Fri Nov 09, 2018 3:09 pm

JM is known to have problems when a Basic program uses extensions it has just loaded (in the same program).

That is why you get a "Bad name" for the HISTORY command in line 550 - That toolkit command has just been loaded at line 540.

You will get more of these for other extensions you LRESPR and use in the same boot file.

If you insist on using JM (I actually don't see why someone would want to do that), you should be extracting the LRESPR and LBYTES/CALL commands into a pre-boot file of its own.

Tobias


ʎɐqǝ ɯoɹɟ ǝq oʇ ƃuᴉoƃ ʇou sᴉ pɹɐoqʎǝʞ ʇxǝu ʎɯ 'ɹɐǝp ɥO
polka
Brittle Membrane
Posts: 107
Joined: Mon Mar 07, 2011 11:43 am

Re: First attempts to boot my Tetroid GIRL

Postby polka » Fri Nov 09, 2018 6:09 pm

Thank you very much ! This is actually what I noticed already happening whith 'EXISTS' ? OK, this seems another good reason for my "modular" booting !

My will to stay with JM is of same nature as photographying B&W on film and developping - printing in a wet laboratory : (nostalgic-masochistic) fun !

I want to stay here essentially with the old technology (minus mdvs plus a little more memory). But I also like to play with a RaspberryPI.

May the FORTH etc.

POLKa

By the way, I received last week a "new" double 720K floppy set from ByteDelight. It is nicely built and seems to work well, however it is a "garage business" :)
I don't object.


polka
Brittle Membrane
Posts: 107
Joined: Mon Mar 07, 2011 11:43 am

Re: First attempts to boot my Tetroid GIRL

Postby polka » Sun Jan 06, 2019 2:00 pm

Hi, Happy new QL year to all !

My Tetroid QL(JM!) stays with me in the Alps till Easters (my winter quarters over Bourg-Saint-Maurice).

And he found here three new CF cards (that were used with my first digital Canon : two 512Mb cards and one of 1Gb).

So, I decided to try to fit them to my Tetroid card, and did so first "manually" with a Kingston labeled 512Mb CF.

WIN_DISK "SHOW" answered : Device 1 - Model SAMSUNG CF/ATA
(whereas my 8Gb card would have answered : Device 1 - Model CF CARD)

WIN_DISK "DETAILS",1 answered "CHS Geometry 1010 16 63"
(whereas my 8Gb card had answered "CHS Geometry 14791 16 63")

Followed by : Device type "DirAcc" , Protocol "ATA/IDE" (for both)

But : Media support "Removab" (whereas the 8Gb was said "Unremov")

So far, so good ! now I tried : WIN_DISK "INIT",1 answer : Read only !

OK, I had forgotten to declare WIN_FORMAT 1 before. After that, it worked :

WIN_DISK "INIT",1
SAMSUNG CF/ATA
Initialize disk (Y/N) ?


Then to create the first partition :

WIN_FORMAT 1,5
WIN_DISK "CREATE",1,1,60

Alter partitions (Y/N) ?

resulted with (not quick) formatting in 2 passes, answer : 15372s

and finally :

WIN_DRIVE 1,1,1
FORMAT WIN1_GIRL
DIR WIN1_

GIRL 122832/122976sect

Everthing thus seems OK, now I will rewrite my Tetroid Setup program to redo it automatically, and also try it on my two other cards.

May the FORTH be with you

POLKa

Just a question : what is the difference if you select "quick format" option or not in the command "win_format" ? may it be better not to select this option when first creating partitions on CF cards that were used for something else ?



Who is online

Users browsing this forum: No registered users and 6 guests