Jump to content
IGNORED

SpartaDOS - Early Versions


MrFish

Recommended Posts

 

Would be appreciated - Good to verify if it matches up with the two known 'versions' of v1.1 discussed in this thread or not.

Trying to make an ATR image of it, not having much luck. I loaded the Spartados 1.1h atr and I can read my disk, but getting it to copy to an atr image is not proving very easy, been at ATR copying and manual scanning for a while tonight, need to get some sleep, I'll do more tomorrow night, I hope to image it then. I did notice its utilities where very different from the 1.1H version though, so I definitely want to get it backed up to an ATR

Link to comment
Share on other sites

Trying to make an ATR image of it, not having much luck. I loaded the Spartados 1.1h atr and I can read my disk, but getting it to copy to an atr image is not proving very easy, been at ATR copying and manual scanning for a while tonight, need to get some sleep, I'll do more tomorrow night, I hope to image it then. I did notice its utilities where very different from the 1.1H version though, so I definitely want to get it backed up to an ATR

Thanks for your efforts. Even just a screenshot of the directory would be a start to compare files & timestamps.

Link to comment
Share on other sites

I sometimes find using different drives help with clean dry heads, sometimes I carefully clean the disks.... I go right to this routine the first time a disk fails, as it usually gets worse the more the the heads grind it in and dirty things up... I have found the XF's are sometimes good at getting the data when a 1050 doesn't and vice versa, last ditch effort is to get an scp or kryoflux image and let some one hand examine the data and pick the good stuff around the bad to get a restored image...

Edited by _The Doctor__
Link to comment
Share on other sites

Here is Mike's response:

 

Hi Jeff, Sorry, just noticed your question today. The core DOS functionality of SDX came from SpartaDos 2.3. Its disk layout is quite different from AtariDos and DOSes derived from it. SDX added a ton more commands to SpartaDos 2.3 and of course was cartridge based rather than loaded from disk. -Mike

 

 

Edit: I had asked him if SDX was from scratch or not.

 

 

Wow !!! So he is still around and even answered your technical question !!! Does Kevin know? An interview with him would be so fabulous. And I would even pay if he still has any sources and is ready to release them.

 

Link to comment
Share on other sites

So it appears I've got 3 bad sections on my diskette and an iffy 4th one which comes and goes. Everytime I load Spartados I got several hearts and a 7 on the command line, any attempt to run any command, like DIR causes the OS to crash. On the other side it seems to load better, however every command I type results in an Error #130.

 

I've copied what files I could from the side 1 disk with the SD OS on it, the other side is SD formatted by only has Amodem on it. The 2 files I could not copy from the side 1 were format and init. Is there any disk repair/disk doctor util I could use to try to salvage this disk and get it running, it would be great to get this version saved.

 

I've attached an ATR of the files I was able to copy. It just won't boot because I can't run the format from this version of SD :-(

 

post-23-0-32548400-1550292166_thumb.jpg

 

post-23-0-62741500-1550292180_thumb.jpg

 

post-23-0-26953800-1550292194_thumb.jpg

 

Spartados 1-1.atr

  • Like 2
Link to comment
Share on other sites

Wow !!! So he is still around and even answered your technical question !!! Does Kevin know? An interview with him would be so fabulous. And I would even pay if he still has any sources and is ready to release them.

 

I agree. He is one of the "holy grails" in my mind along with Bob Puff that I'd love to hear an interview. I would also be interested to ask if he has any of the source material, but I bet most of it was lost when ICD went out of business, and their warehouse was repossessed.... In the ANTIC podcast Tom Harker interview, I believe he mentioned how it irked him to see people who obviously got hold of their hardware inventory and were selling it on eBay and such for a long time afterwards.

 

A few that come to mind:

- Would love to hear background about how he got to know the hardware of the disk drives and Atari computers so well.

- Where did he learn of the optimized 'Chicago' sector skew he employed in the 810 archiver, was it the ACE newsletters from 1980-81 that detailed a sector order modification to Atari's 810 Rev B ROM? This was 2-3 years before the Archiver was released.

- The early ICD vapourware product "Archiver II" for the 1050, I presume became the "Super Archiver" sold by CSS. I believe I read ICD wished to distance itself from products that could be used for piracy, and focused on selling the simpler US Doubler product to the masse instead. I'd be interested to know his take of this.

- Was there an earlier variant of the US Doubler that didn't support the WDC 2797 controller. (USD Mask ROM's I've seen so far all end in L, implying a connection to Atari's rev L which added such support)

- The US Doubler was fixed at 52000bps SIO speed for ultraspeed, but the UltraSpeed handler incorporated into all disk based versions of SpartaDOS all the way back to 1.1 will actually reliably run at up to divisor 3 (89000bps) with modern SIO drive emulators. This was a very forward thinking protocol that has helped improve the modern Atari 8-bit experience

- His thoughts on Happy 810, 1050 Duplicator 'incorporating' support for the UltraSpeed protocol

 

And just to relay praise for the pure innovation for the time in SpartaDOS, and the rest of their hardware products, especially the MIO. Really allowed my Atari 8-Bitter to compete in the BBS arena against ST's and PC's well into the 90's.

  • Like 3
Link to comment
Share on other sites

 

I agree. He is one of the "holy grails" in my mind along with Bob Puff that I'd love to hear an interview. I would also be interested to ask if he has any of the source material, but I bet most of it was lost when ICD went out of business, and their warehouse was repossessed.... In the ANTIC podcast Tom Harker interview, I believe he mentioned how it irked him to see people who obviously got hold of their hardware inventory and were selling it on eBay and such for a long time afterwards.

 

A few that come to mind:

- Would love to hear background about how he got to know the hardware of the disk drives and Atari computers so well.

- Where did he learn of the optimized 'Chicago' sector skew he employed in the 810 archiver, was it the ACE newsletters from 1980-81 that detailed a sector order modification to Atari's 810 Rev B ROM? This was 2-3 years before the Archiver was released.

- The early ICD vapourware product "Archiver II" for the 1050, I presume became the "Super Archiver" sold by CSS. I believe I read ICD wished to distance itself from products that could be used for piracy, and focused on selling the simpler US Doubler product to the masse instead. I'd be interested to know his take of this.

- Was there an earlier variant of the US Doubler that didn't support the WDC 2797 controller. (USD Mask ROM's I've seen so far all end in L, implying a connection to Atari's rev L which added such support)

- The US Doubler was fixed at 52000bps SIO speed for ultraspeed, but the UltraSpeed handler incorporated into all disk based versions of SpartaDOS all the way back to 1.1 will actually reliably run at up to divisor 3 (89000bps) with modern SIO drive emulators. This was a very forward thinking protocol that has helped improve the modern Atari 8-bit experience

- His thoughts on Happy 810, 1050 Duplicator 'incorporating' support for the UltraSpeed protocol

 

And just to relay praise for the pure innovation for the time in SpartaDOS, and the rest of their hardware products, especially the MIO. Really allowed my Atari 8-Bitter to compete in the BBS arena against ST's and PC's well into the 90's.

There is a limitation on how fast the drive mechanism can read/write DATA. It's likely that testing was done to determine the fastest reliable transfer speed the mechanism could handle, and that 52000bps was the fastest speed achieved without error during these tests.

Link to comment
Share on other sites

So it appears I've got 3 bad sections on my diskette and an iffy 4th one which comes and goes. Everytime I load Spartados I got several hearts and a 7 on the command line, any attempt to run any command, like DIR causes the OS to crash. On the other side it seems to load better, however every command I type results in an Error #130.

 

I've copied what files I could from the side 1 disk with the SD OS on it, the other side is SD formatted by only has Amodem on it. The 2 files I could not copy from the side 1 were format and init. Is there any disk repair/disk doctor util I could use to try to salvage this disk and get it running, it would be great to get this version saved.

 

I've attached an ATR of the files I was able to copy. It just won't boot because I can't run the format from this version of SD :-(

 

Thanks Curt.

I've looked at the disk. Comparing the .DOS files against my previous post #57, Your "STANDARD.DOS" with date stamp 1985 matches up with the later (more common?) distribution of 1.1 that was included with the SDCS.

 

Looks like you mixed in some files that came from SpartaDOS II - XINIT and XCOPY. the "INFO" file was an interesting read, looks like an ATASCII capture from "THE VAULT" BBS, info how to modify the OS ROM to include native UltraSpeed support, Petersen 320K upgrade, etc, some garbage and buffer overruns by the looks of it.

 

Anyhow, you should be able to take the 1.1 image from AtariMania or MrFish's Serious Computerist website and copy the INIT.COM and FORMAT.COM files from there.

 

You can just call it 1.1, as 1.1HS is just the "STD_HS.DOS" variant that included UltraSpeed SIO support. (Works great at divisor 3 with SIO2PC-USB and RespeQt here! Amazing for 1984/1985 code)

 

The hearts you're seeing at the D1: prompt is from the 7 byte "STARTUP.BAT" file. That's exactly what's in it, so it prints on the screen. You can safely delete it. So your .DOS file might be OK after all. Regardless, you can copy one of the STD.DOS file from the known good disk to replace your STANDARD.DOS file.

 

Would still be nice to find an intact copy of the 'earlier' version that ijor wrote about in post #51 - but inspecting the file sizes, most of the files are probably the same files, with only an adjusted time stamp.

 

I've also found that contrary to my previous testing, 1.1 DOES support the R-Time 8. (RTFM!) After a naked start, R-Time 8 is not automatically used if present. Typing SET will show default 01-01-84. TIME will show the TD line with 01-01-84. To get the time from R-Time 8 you have to type TD (to show the tdline) or XTD (to get time from RTime8 but do not add a TDline). If you happened to type TIME before TD, you're screwed. Sparta will use the correct time, but the TD line will show incorrect. or time TIME X to get rid of it, but TD still wont pick up the right time :) entering TD or XTD immediately after start

 

Also, looking at the directory from ijor's corrupted disk, the TD.COM and XTD.COM commands are dated Jan-27-1985 just like the 1.1 in the SDCS. This implies the files were copied over later, and that the 'older' 1.1 didn't initially include support for the R-Time 8.

  • Like 2
Link to comment
Share on other sites

There is a limitation on how fast the drive mechanism can read/write DATA. It's likely that testing was done to determine the fastest reliable transfer speed the mechanism could handle, and that 52000bps was the fastest speed achieved without error during these tests.

 

I agree-is interesting to me though, that his UltraSpeed handler on the computer side supported rates higher than would ever be possible on the 1050, but we can now see in action thanks to SIO2PC. I doubt he would have had any way of knowing his code actually worked at those rates in 1984.

  • Like 1
Link to comment
Share on other sites

 

I agree-is interesting to me though, that his UltraSpeed handler on the computer side supported rates higher than would ever be possible on the 1050, but we can now see in action thanks to SIO2PC. I doubt he would have had any way of knowing his code actually worked at those rates in 1984.

They would have needed code capable of varying speeds when testing to determine the maximum reliable transfer speed for the USD, and may not have seen any reason not to include it with SpartaDOS.

Link to comment
Share on other sites

They would have needed code capable of varying speeds when testing to determine the maximum reliable transfer speed for the USD, and may not have seen any reason not to include it with SpartaDOS.

This makes perfect sense. Support any speed as per the device status response, then you have software flexibility while finalizing the hardware.

 

Then after time when the USD, Happy, Duplicator, Super Archiver, etc were established in the market and all returned a divisor of $0A when queried, programmers just started assuming $0A or fallback to 1X... ie APE WarpSpeed+ queries, but if it sees a speed returned FASTER than $0A, it falls back to standard speed. (I observed this with APE WarpSpeed OS - with a Speedy 1050 which returns $09, you just get bloody 1X SIO!). I've read CSS UltraSpeed OS was also guilty of this.

 

Funny thing is - this practice was so pervasive, that even when SpartaDOS X came along, its UltraSpeed handler wouldn't accept an UltraSpeed divisor other than $0A! If anything else was returned, it just falls back to 1x 19200. So, the SpartaDOS X UltraSpeed handler could be considered as a 'downgrade' from the one used in disk based SpartaDOS. I just tested and confirmed this with 4.20. I didn't realize this since I've been using 4.4x versions in recent times with all the SIO2PC-USB and Speedy stuff...

 

No wonder european speedy users were itchy to update SpartaDOS X, especially the SIO handlers. HiaS's highspeed OS ROM patches are also really impressive, beats the pants off APE Warp OS, and so good that SpartaDOS X 4.4x doesn't even need to load it's own highspeed sio handler. (Saves some RAM too)

 

This is why I'm so impressed that literally 'the first' ultraspeed protocol handler works so well with 'the most modern' ultraspeed capable SIO devices.

  • Like 2
Link to comment
Share on other sites

 

Then after time when the USD, Happy, Duplicator, Super Archiver, etc were established in the market and all returned a divisor of $0A when queried, programmers just started assuming $0A or fallback to 1X... ie APE WarpSpeed+ queries, but if it sees a speed returned FASTER than $0A, it falls back to standard speed. (I observed this with APE WarpSpeed OS - with a Speedy 1050 which returns $09, you just get bloody 1X SIO!). I've read CSS UltraSpeed OS was also guilty of this.

 

 

I'm not all that familiar with SIO protocol, but looking at Bob's hi speed SIO code, which I think comes from the Black Box rather than the Ultra Speed OS (although he may have just taken it from the OS to put in the BB) it supports three Pokey divisors, but I'm puzzled because they are slower ?

 

If it's a USD, it uses 10, if it's a Happy 810 it'll use 16 and for the XF-551 it'll use 15. It doesn't actually seem to check the divisor that the device returns, it just tries its own divisor and if it works then it just uses that. I'll have to have a look and see if there is any difference between the SIO code in Sparta 3.5 and SDX. It's too bad we apparently have lost the source to either Sparta 2.3 or 1.1.

Link to comment
Share on other sites

Alfred, you're probably right that they don't query at all, they just 'assume' speeds to try.

 

Indus, Happy 810 (pre rev 7 only supports "Warp Speed") and XF551 (stock), even Turbo 1050 do different divisors negotiated their own ways, but are kind of outside of the scope of this as they don't support the UltraSpeed protocol / querying. Routines that support them have additional special conditions to detect them.

Link to comment
Share on other sites

HighSpeed (XF, Indus) protocol is high bit set on command frame that is sent @ 19.2 followed by a high speed data frame works on real hardware and real chips. USB isn't able to switch speed fast enough. The Atari will complain.

 

Best way is to use US protocol, which is command and data frame at high speed. All you do is ask the drive about its speed thing the speed query command. Use the answer to that command to tell PoKey how fast to go. Switch speed, send commands at speed and lock it in when you get an ACK so you know it works. That's basically how UltraSpeed works.

 

There is SO much that could be done with the Indus (& clones) that would make it SMOKE a Happy, Archiver, etc, etc.

 

We need a Z80 guru to understand the situation and write this. We have had this opportunity all along. All we need is someone (with a 'vision') to write it.

 

For lack of better words... I'm sure everyone understands what I mean.

 

This thing (with a RAMCharger) is a full 64K CP/M machine. All that power can be used for other purposes. One reason that the Z80 didn't prosper as much as it should have is because many just used it as a cheap 8080, and ran 8080 code on it.

 

These people are stupid (or lazy). They forgot about the alternate register set, IX, IY, and everything that made the Z80 shine in its own right over the Intel crap.

 

This is a largely un-tapped resource.

 

The ATR-8000 is a bit-banger (as is the Indus). There is NO reason why the ATR-8000 can't do divisor zero (or close). It is still stuck at 19.2K Beep Beep Beep... Sadly Slow. It doesn't have to be. I wish I still had an ATR-8000 and the time available to me to attempt this task, but, sadly, I do not.

 

Come on, I know there are many brilliant Z-80 gurus that can easily make this happen.

 

:)

 

PS: LD C,9 is much easier to understand than MVI C,9

(followed by)

LD DE,(Address of string [terminated by $])

call BDOS (5)

 

BTW: Unfortunately, we will never know why the string printed by function is terminated by a dollar sign $. The only man who legitimately knew the truth about this sadly fell from a bar stool and hit his head and died shortly after. (Gary Kildall)

 

This function operated in EXACTLY THE SAME WAY in MS-DOS and even to this day in Windows, but Bill gates Still can't explain WHY!!!

 

 

M$ Stole CP/M and it is well documented.

Link to comment
Share on other sites

  • 3 weeks later...

Looking through my junk mail folder, I noticed Mike sent me a follow-up message:

 

OK, I read the article. The article is incorrect in that aspect. SDX was just a continuation like you say. There was a lot I had to do to get it to fit in a bank switchable cartridge however. It also added all the symbolic linking and pushed most of the code out of the normal memory space into the rom space. In this regard it did add a lot of new code over 3.5. I didn't realize it had taken on such a life of its own...kind of nice to see. -Mike

  • Like 4
Link to comment
Share on other sites

Like many things you can be sure 3.5 is creeping around some place, you never know when something just pops up out of nowhere on this disk or that or a person wanders by and no one realizes its there. Then blammo it gets noticed or turns up in a treasure trove cavalcade of happiness.

 

I for one would have yet another ear to ear grin when that day happens. I am sure the Atari winds will blow it our way when the season is right and it is ripe and ready.

Edited by _The Doctor__
Link to comment
Share on other sites

I doubt that. I think SDX is an evolution of 3.2. We just never saw the intermediate step, to wit:

 

$title(SpartaDOS - Version 3.5)

 

; 02-17-86

; Version 3.2 completed and released.

;

; 12-09-87

; Added Atari XF551 support for high speed and

; double sided operation.

; Source made compatible with the ICD XASM65 assembler.

; Version 3.5 completed (never released).

; 12-28-87

; Found and fixed update mode bug in RSLW.

; Between 12-09-87 and now, SIO has been kludged for INDUS,

; XF551 and USD high speed mode. Status command kludge added

; because INDUS accepts high speed commands normally and will not

; respond.

; Moved CLI instruction in SIO. Caused lockup if errored out.

; 12-29-87

; Updated source to use SEGLOAD functions just added to the assembler.

; Rewrote code in XERRORS. Much shorter now.

; 12-30-87

; Finally have conditional assembly. Modifying source to handle

; diskbased and cartbased DOSes. Input flag is CARVER (1=cart

; based dos, 0=disk based)

; 12-31-87

; Removed minibuffers and increased speed for the file and drive

; data table save/restore routines.

; 1-3-88

; Extensive rewriting and organizing so that cart version and disk

; version use same modules except for the boot code blocks for

; each version.

; 1-?-88

; Removed AINIT code and 256 byte buffer. Rewrote the READY routine

; and update boot sector routines to not need the 256 byte buffer.

; 2-5-88

; Combining of MENU program to SpartaDOS CP. Involves redoing GENIO

; module and much of the filename processing and formatted directory

; routines.

; 2-15-88

; MENU and Command Processor fully combined. Now have general error

; vector (GIO_ERROR) on GENIO. All print statements also in that

; module. The formatted directory listing has been generalized so

; that is useful from the MENU program. In the process, some of the

; AtariDOS formatted directory stuff is lost. Now working on Relocating

; Loader and Symbol Table. Next step is to get ADOS.SYS as an external

; module!

 

SDX is just 3.5 more modularized with some rewriting no doubt.

 

Ah...nevermind; the answer is right in this thread.

 

So, any chance of v3.5 getting released to the community, Alfred?

  • Like 2
Link to comment
Share on other sites

Here is SpartaDos 3.5. Seems to be broken. It boots ok, but the CLI is non-functional. I have all the source but I'm not going to waste any time trying to fix it, not now anyway. I don't think it adds anything over 3.2D, just that it can also be built as a cartridge, but I don't think I have an eprom image of it. The comments in the source say it does have a fix for some bug in RSLW ( the common read/write SIO code) but doesn't say what the bug is. I've never noticed any issue with 3.2D, so it must be some weird edge case.

 

Edit: nm, I see Mr. Fish's reposting of the comments say it's a bug in update mode.

SPDOS35.atr

Edited by Alfred
  • Like 4
Link to comment
Share on other sites

Here is SpartaDos 3.5. Seems to be broken. It boots ok, but the CLI is non-functional. I have all the source but I'm not going to waste any time trying to fix it, not now anyway. I don't think it adds anything over 3.2D, just that it can also be built as a cartridge, but I don't think I have an eprom image of it. The comments in the source say it does have a fix for some bug in RSLW ( the common read/write SIO code) but doesn't say what the bug is. I've never noticed any issue with 3.2D, so it must be some weird edge case.

 

Edit: nm, I see Mr. Fish's reposting of the comments say it's a bug in update mode.

 

It says v3.5 was completed; so, you'd expect working. You posted 3.5a, which I guess is the continuation noted in the comments below v3.5.

 

post-6369-0-82350700-1552519934.png

 

 

BTW, what is the "ICD XASM65 assembler", noted in the comments? I don't think I've ever heard of that before. Does it have any relation to the Avocet cross-assembler products?

 

post-6369-0-19850600-1552520012_thumb.jpg

Edited by MrFish
  • Like 2
Link to comment
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.
Note: Your post will require moderator approval before it will be visible.

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...