Page 3 of 3

Re: Enhanced Pico-Dos

Posted: Thu Feb 22, 2024 11:23 pm
by bxdanny
Thanks for the feedback. I'm not sure what launching another disk first does, it may have to do with the way the PIA is initialized. Try booting the E-Pico-Dos disk as the first thing, but then hitting <Break>W to warm start, and THEN loading a program. I wonder if that would work. Or, alternatively,

LOAD 0
SE A
RE B

See if that also will do it (without the warm start).

E-Pico-Dos doesn't really have a "menu", but if you mean using Program 2 to create a new disk, yes, that creates a copy of the original Pico-Dos 1.1, which is what the included text file says it does. I created that program years ago, and I include it mainly so people can see what the original version was like.

Re: Enhanced Pico-Dos

Posted: Sat Feb 24, 2024 11:21 pm
by bxdanny
Well, nama is busy with other things, but his comments about when he did, and when he didn't, get disk errors using the E-Pico-Dos software make me pretty sure I know what the problem is, so I implemented a fix for that, which I hereby publish.

The problem, I'm convinced, lies with the disk select lines, specifically the drive B select line, which comes from PA6 (pin 8) of the disk interface PIA chip. The bootstrap routine in ROM initially sets the line up as an input, like the rest of the bits in port A. But it's not an input, it's an output. So the OS, once it loads, has to reprogram that line to be an output by changing a bit in the corresponding Data Direction Register. And I was doing that. But what I wasn't doing was explicitly setting the value of the line once it was redefined as an output. It needs to be set high to unambiguously deselect the second (B) drive, so that the A drive can be accessed without interference. I was only setting the values of the drive select lines when the system was warm-started, or when a disk SElect command was issued. This new release explicitly selects the A drive (and deselects B) when the system is booted, and also explicitly deselects B when the BA command (to reboot the system) is issued. Those are the only changes from the previous version, but I think they are significant ones.

There are no changes to any of the included BASIC programs, but I am now including the "1" part of the version number in the filenames.

Re: Enhanced Pico-Dos

Posted: Sun Feb 25, 2024 11:29 pm
by nama
Yes...sorry, As you know I've been working on getting my 505 board up and working, so the C1 has been put to one side for the moment as I certainly don't have enough bench space for more than one project at a time.
Thanks for looking into this, I'll find some time soon to check this out.
Philip

Re: Enhanced Pico-Dos

Posted: Mon Feb 26, 2024 5:29 am
by nama
Yep...that seems to have fixed it...thanks and well done!

Re: Enhanced Pico-Dos

Posted: Mon Mar 04, 2024 5:44 pm
by davisgw
I guess I missed this problem in V139a because I did not successfully copy a floppy. It works just fine in V140. Thanks Danny!

Re: Enhanced Pico-Dos

Posted: Sat Apr 20, 2024 12:52 pm
by bxdanny
Well, it's been over six weeks since the last post in the Files section, although there's been plenty of activity in the "OSI discussion, thoughts, projects" section.

And in one of the threads in that section, I again posted a minor update to this E-Pico-Dos project (as I now call it for short). It was one of three disk images in a .zip file posted to the "600D ROM support for both 24- and 48-character modes" thread. So I'm posting it here too. Basically, it just adds the capaility to warm-start the system after changing from 48- to 24-character mode, or vice versa, and have backspacing and (if the Editor is loaded) editing continue to function properly. [Versions through 1.38 would actually support this if the Editor is loaded, although not if it isn't. With 1.39 I decided that supporting that was pointless, and removed (commented out - REMoved?) it. It's no longer pointless, so I put it back, directly into the base system.] The last paragraph of the included text file was also changed to a discussion of this.

To recap though, none of the 1.3x versions actually work correctly on dual-drive hardware. The 1.4x versions do. So please use the current version in preference to earlier ones.