Page 2 of 5
Re: WIN extensions
Posted: Fri Jan 15, 2016 1:48 pm
by dilwyn
dex wrote:
I have also tried disk-loaded 2.12 "Magnetic Eprom" version (on Dilwyn's site it is incorrectly described as 2.20 version).
Ah, thank you. I've changed the description now and also amended the filename which got confused between tk2_bin and tk2.bin
Wonder how long that mistake has been on that page?
Re: WIN extensions
Posted: Fri Jan 15, 2016 4:21 pm
by jose_leandro
Hi
My two cents.
I think that we talk about two types of TK2. One type is for standards QL where you put it in 48-64K rom zone o using ram. I use some of them from Dilwyn's site and none of them show ">" with qubide.
The other TK2 type is the one that comes with Gold card, super gold card , trump card, etc, etc. It seems that some of them show the ">".
The qubide rom only have the routines for use it and a pair of extra commands (WIN_DRIVE, MAKE_DIR, WIN_USE )
Bye
José Leandro
Re: WIN extensions
Posted: Fri Jan 22, 2016 1:53 pm
by Silvester
Dex, Try the attached version of Toolkit v2.23, it should recognise Level 2 drivers (ie. directories ->, and drive statistics).
<obscure>
It was extracted from Trump card v1.31, the TK2 part (16784 bytes, no typo) is a distinctly separate part of the EPROM. All that was needed was to remove a pseudo-ROM header (not on 16K boundary) and add some initialisation code so it could be CALLed when loaded into RESPR area.
IIRC The v1.31 EPROM was an upgrade to Trump Card (TC) which came with 'Disk Adaptor' (allowed upto 4 FLP drives using 3-of-8 74HC138 as drive select, which incidentally, I forgot to mention Derek, did also work with Gold Card). It also included the Miracle Hard Drive (MHD) code to handle Level 2 directories (so WIN_REXT didn't need to be loaded off MHD first, making it redundant).
Ironically, although the TC built-in TK2 recognises Level 2 drivers, the associated TC firmware drivers (FLP & RAM) were only Level 1 - even though it included the MAKE_DIR command, it didn't work on them (err_bp). It must have only been intended for TC+MHD users.
I have only tested TK223_bin on a QL with TRL FLP/+128K Interface with MHD attached and it works OK. Therefore it really needs also testing on another Level 2 type device (ie. fitted to a QL without built-in TK2).
BTW If you try to DIR a floppy disk with directories on it created on Level 2 FLP device (ie. GC), but read on a Level 1 FLP device with TK2.23 (ie. TC), you only see the top directories marked ->, but you can't look into the directories (same as earlier TK2). An odd side-effect of having mismatched level-2-aware-TK2 with level-1-FLP.
Also any inbuilt device drivers MAKE_DIR name table entry will get usurped when TK2 asserts its own definition (or reasserted using TK2_EXT), but I don't expect this to be a problem since driver should respond to IOF.MKDR call.
Anyone with news on Trump Card Level 2 EPROM status ?
(V1.31 only has 480 bytes left unused in 32K EPROM, I wonder what was cut out to make room?)
<\obscure>
If it tests OK with other users I'll send a copy of it with the recreated TK223_asm to Dilwyn.
Re: WIN extensions
Posted: Thu Jan 28, 2016 2:09 pm
by Silvester
Also just done TK2 v2.26 (from Trump card v1.36 on Dilwyn's site). From a quick look it just like CLOCK routine changed and a minor bug fix (already noted and done in v2.23). AFAIK last version before Gold.
Re: WIN extensions
Posted: Fri Jan 29, 2016 10:30 am
by dilwyn
Silvester wrote:Also just done TK2 v2.26 (from Trump card v1.36 on Dilwyn's site). From a quick look it just like CLOCK routine changed and a minor bug fix (already noted and done in v2.23). AFAIK last version before Gold.
Thanks Silvester. Available to download from:
http://www.dilwyn.me.uk/pe/index.html
Re: WIN extensions
Posted: Thu Feb 11, 2016 11:08 am
by dex
Solved!
Both new Toolkit versions (2.23 and 2.26) are working and the directory mark -> is displayed correctly with the QubIDE.
Thank You.
Re: WIN extensions
Posted: Thu Feb 11, 2016 5:36 pm
by dilwyn
dex wrote:Solved!
Both new Toolkit versions (2.23 and 2.26) are working and the directory mark -> is displayed correctly with the QubIDE.
Thank You.
Thank you for the feedback, dex.
Just a small note to reassure one or two people who asked why these toolkit 2 versions were a little longer than 16K - it's just that Silvester (who extracted these from Trump Cards - many thanks) added a bit of code to allow them to be run from RAM, that made the files a little bit bigger.
Re: WIN extensions
Posted: Thu Feb 11, 2016 9:04 pm
by NormanDunbar
dilwyn wrote:In Norman's DJToolkit, his LEVEL2 extension (which checks for Level 2 filing systems) simply calls the IOF_XINF (get extended information, trap #3 with d0=$4F or dec. 79) and if this returns an error assumes that it is a level 1 (i.e. no hard directories) filing system.
I've not looked at the extension in detail (just returned from hospital after eye surgery so don't want to spend too long on computer to irritate the eye), but knowing Norman it'll be spot on!
Hope they eye gets better soon. And thanks fr the vote of confidence, maybe you are correct!
Here's the code. There are a couple of bits missing, check_hash checks for the hash separator bit in the name table entry for the first parameter.
Integer_d1 takes the word in d1 and puts it on the maths stack and sets the return type ready to exit back to SuperBasic. It makes sure that d2 bytes are available on the stack first.
Integer_bv returns err_BP via the maths stack and has to make room for it as the stack, at the time called, has not yet been used so there may not be pace for the error code.
Other than that it should be easy enough to follow. Apart from the formatting which has been botched by the Android editor I used to extract the code with.
Code: Select all
*====================================================================*
* LEVEL2 = Test to see if the level 2 drivers are present or not. *
*--------------------------------------------------------------------*
* There must be 1 parameter preceeded by a hash. Return 1 if there *
* are level 2 drivers on the connected device, zero if not. *
*--------------------------------------------------------------------*
* Stack uses 4 bytes and requires 2 for the result. *
*====================================================================*
level2 bsr count_pars There should be 1
moveq #2,d2 Assume an error will occur
subq.w #1,d0 Was there 1 ?
beq.s l2_1_ok Yes
l2_badpar moveq #ERR_BP,d1 Bad parameter
bra integer_bv Quit via an unused stack
l2_error rts Quit
l2_1_ok bsr check_hash Test for the hash (#)
beq.s l2_badpar Not there, quit & complain
moveq #64,d1 This big
bsr mtalchp Allocate it (preserves D2)
bne.s l2_ret_err Oops...
move.l a0,d5 Save buffer address
moveq #get_long,d0 Get 1 long please
bsr get_params Go get it
bne.s l2_error Oops...
move.l 0(a6,a1.l),d0 Get channel number
addq.l #2,a1 Tidy stack but leave room for a word
bsr get_chan Convert to id in A0 for trap
bne.s l2_ret_d0 Oops...
move.l a1,d7 A1 gets corrupted
moveq #IOF_XINF,d0 Use extended trap
moveq #0,d1 Must be, why ?
moveq #0,d2 Interrogate mode
moveq #timeout,d3 Infinity rules ok ?
move.l d5,a1 Buffer address in A1 for trap
trap #3 Do extended trap, A0 & A1 preserved
move.l d0,d6 Store error code
moveq #MT_RECHP,d0 Trap is set
move.l a1,a0 Buffer address
trap #1 Release buffer, no errors
moveq #0,d2 I don't need any extra space
move.l d7,a1 Restore maths stack
move.l d6,d1 Restore previous error code
beq.s l2_ret_1 Level 2 is present
moveq #0,d1 Level 2 drivers not found
bra integer_d1 Back to SuperBasic
l2_ret_d0 moveq #0,d2 Stack is fine
l2_ret_err move.l d0,d1 Get error code
bra integer_d1 Return it as result
l2_ret_1 moveq #1,d1 Flag found level 2 drivers
bra integer_d1 And finished
Re: WIN extensions
Posted: Fri Feb 12, 2016 10:36 am
by dilwyn
Thanks Norman. Eye much better now, actually able to do some QLing again now!
Android editor botched the formatting? Hmm. Maybe we'll have a concerted effort to tempt you back to Windoze then <runs and hides>

Re: WIN extensions
Posted: Fri Feb 12, 2016 10:10 pm
by NormanDunbar
dilwyn wrote:Thanks Norman. Eye much better now, actually able to do some QLing again now!
Android editor botched the formatting? Hmm. Maybe we'll have a concerted effort to tempt you back to Windoze then <runs and hides>

When I said it botched it, I meant that the combination of spaces and tabs in the original caused the problems. Plus I configured the editor on my tablet, to replace tabs with 4 spaces, which doesn't match the original I suspect.
I do have Windows 7 Professional, which I own, running on my laptop, in a VirtualBox VM. But I almost never use it!
Cheers,
Norm.