Page 4 of 4
Re: Run a SuperBasic program from Assembler?
Posted: Mon Apr 01, 2024 11:14 am
by t0nyt
Managed to get my head around the config block stuff, in a small test harness
But it' doesn't seem to be appropriate to a LRESPR'd program of this sort, that I can see
Will just add an optional parameter to "menu" that can be an alternative path which is then stored in memory in-place of the default
Many thanks
Re: Run a SuperBasic program from Assembler?
Posted: Mon Apr 01, 2024 12:37 pm
by tofro
Config blocks work in just about everything, even S*BASIC programs. (It's plain simple, just some embedded bytes with a tag header so Config can find them. No obligation to use any specific compilation approach.)
Re: Run a SuperBasic program from Assembler?
Posted: Mon Apr 01, 2024 2:17 pm
by NormanDunbar
The official documentation for Config may also help. It's downloadable from Wolfgang's web site at
https://www.wlenerz.com/qlstuff/Config.zip.
Cheers,
Norm.
Re: Run a SuperBasic program from Assembler?
Posted: Mon Apr 01, 2024 2:21 pm
by t0nyt
Thanks Norm
I did search the interweb for documentation but nothing came up in the search
Many thanks
Re: Run a SuperBasic program from Assembler?
Posted: Mon Apr 01, 2024 4:39 pm
by tofro
Unfortunately, Wolfgang's documentation describes the raw binary format expected by config. Tony's macros, however (which are a bit fragile and not absolutely obvious to use) are not described there. I seem to recall my original QPTR documentation had some description of the config macros, but more recent documents seem to lack that chapter.
Re: Run a SuperBasic program from Assembler?
Posted: Tue Apr 02, 2024 2:20 pm
by t0nyt
Have modified the program to use a config block for the path and am able to re-configure the path using level 1 config program from Dilwyn's download pages
Am sure the code could be done better (like sanity checking on the path configured)
Many thanks all
Code: Select all
TITLE Show Menu
INCLUDE 'win2_dev_quanta_QDOS1_IN'
INCLUDE 'win2_dev_quanta_MACRO_LIB'
INCLUDE 'win2_dev_quanta_CONFIG_MAC'
BP.INIT equ $110
IO.QIN equ $E0
SECTION CODE
start lea define,a1
move.w BP.INIT,a2
jsr (a2)
rts
define dc.w 1
dc.w MENU-*
dc.b 4,'MENU '
dc.w 0
dc.w 0
dc.w 0
MENU lea runcmd,a0 ; ptr to lrun text
move.w (a0)+,d2 ; byte count
bsr.s endLoop ; skip loop
lea met_cmdpath,a0 ; ptr to configured path
move.w (a0)+,d2 ; byte count
bsr.s endLoop ; skip loop
lea runcmd2,a0 ; prt to MENU text
move.w (a0)+,d2 ; byte count
bsr.s endloop ; skip loop
rts ; all done
nextchar move.b (a0)+,d1 ; get character
bsr.s doqin ; send to buffer
endLoop dbra d2,nextchar ; loop if not done
rts ; loop done
doqin movem.l a0/d1/d2,-(sp)
QDOSMT$ MT.INF
move.l sv_keyq(a0),a2
movem.l (sp)+,a0/d1/d2
VECTOR IO.QIN,a4
rts
runcmd dc.w cmdEND-runcmd-2
dc.b 'lrun '
cmdEND equ *
runcmd2 dc.w cmdEND2-runcmd2-2
dc.b 'MENU',$0A
cmdEND2 equ *
mkcfstr cmdpath,40,{win1_wrk_}
configBlk mkcfhead {MENU},{1.0}
mkcfitem string,'P',mxl_cmdpath,,,{Path to Menu File}
mkcfend
END
Re: Run a SuperBasic program from Assembler?
Posted: Tue Apr 02, 2024 3:26 pm
by NormanDunbar
tofro wrote: Mon Apr 01, 2024 4:39 pm
Unfortunately, Wolfgang's documentation describes the raw binary format expected by config. Tony's macros, however (which are a bit fragile and not absolutely obvious to use) are not described there. I seem to recall my original QPTR documentation had some description of the config macros, but more recent documents seem to lack that chapter.
I've had a look through all my docs, and unfortunately, I seem to only have the latest versions. I did have Jochen's original printed QPTR manual, but I updated that to Wolfgang's PDF/odf version, and the Config chapter has been removed. I do have an image of the original QPTR floppy disc, but the docs were printed on that too -- nothing in electronic format.
Bummer!
EDIT: Section 3.2 has an example of using the macros.
https://dilwyn.theqlforum.com/docs/manuals/Config.pdf
Cheers,
Norm.