• Please review our updated Terms and Rules here

SWTPC 6800, FLEX and Percom Floppy Controller

deramp5113

Veteran Member
Joined
Mar 9, 2013
Messages
971
Location
Dallas, TX
Now that I have my SWTPC 6800 loading and saving programs with paper tape, cassette, and floppy disk (using the Percom LFD-400 controller and their MiniDOS and MPX ”operating systems”), the next logical step is getting FLEX up and running. Unfortunately, I only have the Percom floppy controller and I don’t know if FLEX compatible disk drivers and boot code were ever written for it. Before I go create Percom support for FLEX from scratch, does anyone have any leads?

Mike
 
Percom wrote drivers to do just that. they had a utility program that would copy a SSSD FLEX disk to a hard sectored Percom disk and patch the FLEX disk driver to call the ROM on the controller board. It did work but I never used it much. It came out at about the same time I was switching to DSDD 80 track so no contest.

I do remember one problem. Percom used some ram in page zero (0 to 20h IIRC) some FLEX programs didn't like that.

Any copy of the disk I had is long gone. sorry. But it did exist!

joe
 
Joe,

Thanks for the good information. I did see the Percom utilities you mention in some of Percom's ads and literature. Originally I thought they were just utilities for getting data from a FLEX disk, but then I also saw the mention of FLEX drivers for the Percom disk controller. That's what made me think about going down this path.

I hoped it could be done using some of the Percom disk code already in EPROM, but as you mention, the EPROM code requires data structures in RAM from $00 to $1F. I did some quick digging and most programs I found run at $100. The FLEX manual does mention that NEWDISK runs lower than that. Looking at the source for NEWDISK, it starts at $20 as if it was intentionally trying to preserve that lower $20 bytes. I was hoping that meant I could use the Percom EPROM code, but you recall some FLEX programs needing RAM down to zero. Do you happen to recall which programs had problems with that?

Mike
 
It's been too many years... I seem to recall TSC basic and g2basic used the RAM under $20. That left out the commercial versions of basic.
I ported SWTP basic to run on FLEX 2, because I had a large financial program that would be too time consuming to port.
That gave me a basic that would run. I eventually went to the 6809. Converted BASIC again. Added OS-9.... Converted basic again.
I'm sure I have the only copy of SWTPC basic running on OS-9!

There might be a pattern here ;-)

joe
 
I hoped it could be done using some of the Percom disk code already in EPROM, but as you mention, the EPROM code requires data structures in RAM from $00 to $1F. I did some quick digging and most programs I found run at $100. The FLEX manual does mention that NEWDISK runs lower than that. Looking at the source for NEWDISK, it starts at $20 as if it was intentionally trying to preserve that lower $20 bytes. I was hoping that meant I could use the Percom EPROM code, but you recall some FLEX programs needing RAM down to zero. Do you happen to recall which programs had problems with that?

Mike

FLEX is one of the few environments in which the system does not restrict the usage of the zero page by programs.

Contrast that to most of the 6502 machines where you need a Mapping the <whatever> book to find which locations are not reserved.
 
Hmm, I cannot edit my last reply...

Many FLEX programmers habitually org their program at $100 to allow maximum availability of the precious zero page.

Others just let the code begin after their last variable.

If TSC made an accommodation for PERCOM, it is surprising they did not document that so that other software developers also knew to leave that area alone.

CP/M programmers org their code at 100h because that is the law handed down on stone tablets, but I digress...

I would expect that most FLEX programs use $00..$1F for variable space. After all, why not?
 
Why was that not in the FLEX programming manual?

Because that was a PERCOM thing and not important for any other flavor of FLEX?
 
Back
Top