Jump to content
drac030

SpartaDOS X 4.49 (release version)

Recommended Posts

Posted (edited)

Ok, here you are: it now accepts a numeric parameter which is a bitmask selecting which CONSOL bit(s) are to be taken into account.

 

The default is $02 (SELECT). DISSDX.SYS $01 changes this to START, $03 - START+SELECT and so on.

 

Untested.

 

EDIT: source code for mads

consol  = $d01f

; SDX equates
jhwctrl = $0715

; SDX symbols
U_GETNUM smb 'U_GETNUM'

        opt ?+

        org $80

mask    .ds 1

        blk reloc main

dissdx  lda #$02        ;select
        sta mask

        jsr U_GETNUM
        beq ?nomask

        and #$07
        sta mask

?nomask lda consol
        and mask
        bne ?quit

        sei
        ldx #$01
        jsr jhwctrl
        lda #$00
        sta $d1ff
        jmp $e477

?quit   rts

 

 

dissdx.zip

Edited by drac030
  • Like 7

Share this post


Link to post
Share on other sites
5 hours ago, Jacques said:

It's useful, but still it takes a bit of time, because SDX needs to boot-up and then DEVICE DISSDX is preceeded with DEVICE SPARTA and DEVICE SIO in one of my .cfg files I created for this.

Why not move DEVICE DiSSDX to the first line of config.sys?

Share this post


Link to post
Share on other sites
Posted (edited)
16 minutes ago, BillC said:

Why not move DEVICE DiSSDX to the first line of config.sys?

I think this might be problematic, since SPARTA.SYS is required for access to the SDFS file system, and SIO.SYS for access to disk drives. The CAR: driver (used to access files on the CAR: device) is built into the kernel, meanwhile (apologies in advance for any technical inaccuracies!).

 

EDIT: Um... I guess one could put DISSDX.SYS onto CAR: using the SDX Imaging tool.

Edited by flashjazzcat
  • Like 1

Share this post


Link to post
Share on other sites

@flashjazzcat Do you think it would be easy to update the Hias driver in BIOS to be compatible with SDX INDUSX.SYS? It is like XF-551 protocol, but lower divisor for data frame. Command frame at 19.2 (with high bit set on command) and IIRC about 76K on the data frame. The SDX SIO driver does it, but BIOS does not.

 

Konrad should know the exact divisor number.  That would be sweet if the BIOS could handle it all. Divisor 0 PCL: and Super-Synch w/ Track buffer.

 

Next step: Write Happy, Bit-writer, etc code in all that wonderful Z80 RAM that is available.

 

Also, why can't it do UltraSpeed protocol WITH track buffer? There is plenty of room for it.

 

 

 

Share this post


Link to post
Share on other sites
5 hours ago, Kyle22 said:

The SDX SIO driver does it, but BIOS does not.

You realise high speed IO on the XF doesn't currently work owing to an error in my transcription of Hias' source code? It's been fixed for months here but I don't know if it will do what you are now suggesting. I will have a look.

  • Like 1

Share this post


Link to post
Share on other sites
Posted (edited)
9 hours ago, Kyle22 said:

Also, why can't it do UltraSpeed protocol WITH track buffer? There is plenty of room for it.

This is planned (I say cautiously that for version 4.60 ;))

Edited by trub
  • Like 2

Share this post


Link to post
Share on other sites
9 hours ago, Kyle22 said:

It is like XF-551 protocol, but lower divisor for data frame. Command frame at 19.2 (with high bit set on command) and IIRC about 76K on the data frame. The SDX SIO driver does it, but BIOS does not.

Not fully awake, I misread your earlier post and thought it directly concerned XF-551 high speed SIO. :) I have no objections to providing support for the same protocols as those supported by INDUSX.SYS, but there are two issues:

  • Hardly any code space left in the PBI BIOS
  • Limited knowledge of what is required, and a desire not to inadvertently wreck Hias' existing high speed probing strategy

Hias' high-speed driver is fully open-source so if anyone wishes to specify the necessary changes, I will happily attempt to port them across to the U1MB/Incognito firmware.

Share this post


Link to post
Share on other sites

Indus protocol is the same as XF, just the Pokey divisor is 6.

  • Like 2

Share this post


Link to post
Share on other sites
44 minutes ago, drac030 said:

Indus protocol is the same as XF, just the Pokey divisor is 6.

Thanks. I think I'll leave this for a future revision, though, since I can see some things which could do with a complete redesign before any attempt is made to handle further special cases.

  • Like 1

Share this post


Link to post
Share on other sites
Posted (edited)

I have implemented Hias' latest change, intended to deal with PERCOM timeouts:

Once it's known that this works, I will release the new firmware. Note that this still won't provide divisor $06 support for INDUS drives. I've had little success trying to implement that, since the emulated INDUS in Altirra keeps acknowledging the XF-551 speed poll; the arbitrary speed code for the INDUS therefore never makes its way into the internal speed table.

Edited by flashjazzcat
  • Like 1

Share this post


Link to post
Share on other sites
2 hours ago, flashjazzcat said:

I have implemented Hias' latest change, intended to deal with PERCOM timeouts:

Once it's known that this works, I will release the new firmware. Note that this still won't provide divisor $06 support for INDUS drives. I've had little success trying to implement that, since the emulated INDUS in Altirra keeps acknowledging the XF-551 speed poll; the arbitrary speed code for the INDUS therefore never makes its way into the internal speed table.

Would it be possible to patch the BIOS with divisor 6 for those of us who have Indus and no XF drives?

 

Share this post


Link to post
Share on other sites
Posted (edited)
6 minutes ago, Kyle22 said:

Would it be possible to patch the BIOS with divisor 6 for those of us who have Indus and no XF drives?

I'm not very keen on doing so. I would prefer to create something generic which works in both cases, and that - in the absence of any real hardware - requires some way of accurately emulating said hardware. Of course I can send test versions to people with INDUS drives, but that will become a rather drawn-out process unless I can observe something working first-hand.

Edited by flashjazzcat

Share this post


Link to post
Share on other sites

I'm ready and willing to try a test version.

:)

 

Share this post


Link to post
Share on other sites
Just now, Kyle22 said:

I'm ready and willing to try a test version.

Understood and appreciated. My issue here is that I have been working on this firmware update since last August and I am not keen to postpone it for another one or two weeks.

 

Share this post


Link to post
Share on other sites

I tend to agree with Jon on this one, if the releases don't flow... the birds NEVER leave the nest. Sometimes you just have to push them out and help them along if things don't fly. It's awesome if they all get it first try though.

Share this post


Link to post
Share on other sites
1 hour ago, _The Doctor__ said:

Sometimes you just have to push them out and help them along if things don't fly.

Well, quite. At this juncture, my primary concern is to 'push out' something which has all known issues fixed (and to the best of my knowledge, this is the case). Experimental changes should probably wait for version 3.11. ;)

  • Like 2

Share this post


Link to post
Share on other sites
Posted (edited)

superspartados cart has an off switch... it's quite nice, when you don't need sparta, but don't wanna unplug and plug...;)

very convenient and quick

Edited by _The Doctor__

Share this post


Link to post
Share on other sites
On 4/12/2020 at 3:21 PM, flashjazzcat said:

Well, quite. At this juncture, my primary concern is to 'push out' something which has all known issues fixed (and to the best of my knowledge, this is the case). Experimental changes should probably wait for version 3.11. ;)

sounds like you need pre release beta testers in your routine... real pain in *ss nitpicky types who won't share it until you release it. It might drive folks crazy as you talk about it, but it prevents some of the major egg on the face stuff.

Share this post


Link to post
Share on other sites
Posted (edited)
29 minutes ago, _The Doctor__ said:

superspartados cart has an off switch... it's quite nice, when you don't need sparta, but don't wanna unplug and plug...;)

The Super SpartaDOS_X PCB for the original case doesn't have an off switch, but can be easily disabled by typing "COLD /N" at the DOS prompt. This is true of the ICD SDX versions as well.

Edited by BillC

Share this post


Link to post
Share on other sites
Posted (edited)
33 minutes ago, BillC said:

The Super SpartaDOS_X PCB for the original case doesn't have an off switch, but can be easily disabled by typing "COLD /N" at the DOS prompt. This is true of the ICD versions as well.

you can add the switch to the other versions, there were instructions to do so, and if you don’t want to damage your original cart there are ways to do so
image.jpg

 

/N has always been a choice shutting off cart, but the switch is very convenient, and yes there are utils to turn express and sparta back on after shutting off, but the real switch does that as well... it's just faster and more convenient sometimes

Edited by _The Doctor__

Share this post


Link to post
Share on other sites
44 minutes ago, _The Doctor__ said:

you can add the switch to the other versions, there were instructions to do so, and if you don’t want to damage your original cart there are ways to do so
image.jpg

 

/N has always been a choice shutting off cart, but the switch is very convenient, and yes there are utils to turn express and sparta back on after shutting off, but the real switch does that as well... it's just faster and more convenient sometimes

I just checked and COLD /N disables the cartridge pass-thru as well, while the switch is supposed to leave the pass-thru active.

Share this post


Link to post
Share on other sites

Why don't you COLD /C

???

 

Share this post


Link to post
Share on other sites
Posted (edited)
1 hour ago, Kyle22 said:

Why don't you COLD /C

???

 

I didn't know/remember the /C switch, also a nice feature that booting INIDOS.SYS (available on the toolkit disk) will re-enable SDX without cycling power.

Just put on a disk/ATR and use the SpartaDOS BOOT command, I used a "BOOT BOOTLD\INIDOS.SYS" to the toolkit ATR and tested that this works.

Edited by BillC

Share this post


Link to post
Share on other sites

Unless memory is failing me, I thought COLD /C is cold start with SDX off and cart enabled.

 

  • Like 1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...