Enhanced Pico-Dos

bxdanny
Posts: 336
Joined: Thu Apr 16, 2015 2:27 pm
Location: Bronx, NY USA

Re: Enhanced Pico-Dos

Post 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.
No current OSI hardware
Former programmer for Dwo Quong Fok Lok Sow and Orion Software Associates
Former owner of C1P MF (original version) and C2-8P DF (502-based)
bxdanny
Posts: 336
Joined: Thu Apr 16, 2015 2:27 pm
Location: Bronx, NY USA

Re: Enhanced Pico-Dos

Post 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.
Attachments
ep140.zip
(46.85 KiB) Downloaded 46 times
No current OSI hardware
Former programmer for Dwo Quong Fok Lok Sow and Orion Software Associates
Former owner of C1P MF (original version) and C2-8P DF (502-based)
nama
Posts: 369
Joined: Wed Mar 30, 2011 9:44 am
Location: New Zealand
Contact:

Re: Enhanced Pico-Dos

Post 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

2P (1mhz 32k) - 502 + 8k + CEGMON + garbage collector fix BASIC, D&N MEM-CM9 + 24k, 540 (mono) [SOLD]
4PMF (2mhz 24k) - 505, 540, 527, D13 + 5.25" + Gotek
Superboard RevD - CEGMON + 610 board 24k + D13
Spares - 3 x 527, 1 x 505, Backplane
nama
Posts: 369
Joined: Wed Mar 30, 2011 9:44 am
Location: New Zealand
Contact:

Re: Enhanced Pico-Dos

Post by nama »

Yep...that seems to have fixed it...thanks and well done!

2P (1mhz 32k) - 502 + 8k + CEGMON + garbage collector fix BASIC, D&N MEM-CM9 + 24k, 540 (mono) [SOLD]
4PMF (2mhz 24k) - 505, 540, 527, D13 + 5.25" + Gotek
Superboard RevD - CEGMON + 610 board 24k + D13
Spares - 3 x 527, 1 x 505, Backplane
davisgw
Posts: 134
Joined: Sat Aug 27, 2022 4:52 pm

Re: Enhanced Pico-Dos

Post 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!
bxdanny
Posts: 336
Joined: Thu Apr 16, 2015 2:27 pm
Location: Bronx, NY USA

Re: Enhanced Pico-Dos

Post 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 vices 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.
Attachments
ep141.zip
(46.89 KiB) Downloaded 3 times
No current OSI hardware
Former programmer for Dwo Quong Fok Lok Sow and Orion Software Associates
Former owner of C1P MF (original version) and C2-8P DF (502-based)
Post Reply