S-100 CCS system of Nick Papadonis

This document copyright Herbert R. Johnson 2011, update Oct 3 2012 .
Check out my CCS Web page for more info on California Computer Systems.
Price and other information can be found in this notice.
To return to my S-100 home page click here.

Preface

In Oct 2010 Nick Papadonis contacted me, to get some CCS source listings and manuals to bring up his CCS system. We discussed his progress at length into year 2011, including work on floppy drives, and using his CCS controller in a NorthStar Horizon he was also working on. Our discussion is on this Web pag, with his permission.

in March 2011 Nick and I talked about his building a S-100 terminator board from scratch, Nick chose the design used by Compupro from George Morrow. HE bought a used S-100 proto board from me to build it. Our discussion of this board has been moved to this linked Web page. - Herb

Discussion

CCS sources

In Oct 2010 Nick Papadonis contacted me, to get some CCS source listings and manuals to bring up his CCS system. It has the usual CCS boards: 2810 Z-80 CPU, 2422 Floppy Disk controller, 2710 4-port serial I/O, ??? memory. Industrial Micro Systems (IMS) Model 480 four line serial Acynchronous Communications Controller. Also a Dual brand CMEM 64K (of 2K 6116LP-3 chips) board, one I don't have docs for.

In Dec, another customer had recently moved those CCS source files and programs to his MS-DOS system, so I passed along the files as well. Nick told me his progressa s below in Jan 2011:

"Things are moving along nicely bringing the system up. I've at least tested I can read in/out IHEX. Data is correctly copied into RAM. Now I just need to move in BDOS + CCP + CBIOS and make a boot disk."

"I was searching around for the manufacturer's disk images. I noticed the late Donald Maslin had a huge library of them. Did this stuff ever get archived using 22disk? Just wondering if you knew any history of that."

I referred him to these Web pages on disk image archives and Don Maslin's former archives:

http://www.retrotechnology.com/dri/howto_cpm.html#dunfield
http://www.retrotechnology.com/herbs_stuff/s_point.html#disks

And here's notes by Rich cini on "bootstrapping" a bootable CP/M:
http://www.retrotechnology.com/herbs_stuff/cpm_bootstrap.rtf

NIck said: "That's what I've been doing. I actually got my Intel HEX IO routines working for the [CCS ROM] monitor, by testing them in the z80pack (Udo Monk's) Z80PACK emulator first. Much quicker to fix problems."

"Now I'm using the above method to get CBIOS + CPM in RAM. I'm noticing some inconsistencies in the writeup that uses the disassembled CPM memory image to do this. The CCS FDC BIOS sources you sent me, for a 61K system, indicate CCP starts at 0xD000. In the disassembled CPM, for 61K system, indicate CCP starts at 0xD800. Any ideas why the 2K difference? I know it results in a larger TPA (55K vs 52K). If I knew exactly what the memory hungry CP/M programs (C compiler?) required for TPA that would also help." [See the code segment below.]

Later he wrote: "I think I found the answer. I'm using the CCS deblocked BIOS which is larger. Therefore CCP must originate at the 0xD000 address to accommodate the larger BIOS. If not, CBIOS runs over either ROM space or highest memory address."

CCS BIOS:
                ;"BIAS" IS ADDRESS OFFSET FROM 2C00H FOR MEMORY SYSTEMS
                ;THAN 20K (REFERRED TO AS "B" THROUGHOUT THE TEXT).
                ;
 0016 =         VERS:   EQU     22      ;CP/M VERSION NUMBER
 003D =         MSIZE   EQU     61      ;MEMORY SIZE
 A400 =         BIAS:   EQU     (MSIZE-20)*1024
 D000 =         CCP:    EQU     2C00H+BIAS      ;BASE OF CCP
 D806 =         BDOS:   EQU     CCP+806H        ;BASE OF BDOS
 E600 =         BIOS:   EQU     CCP+1600H       ;BASE OF BIOS

CPM DISASSEMBLED:
                ;   SET MEMORY LIMIT HERE. THIS IS THE AMOUNT OF CONTIGEOUS
                ; RAM STARTING FROM 0000. CP/M WILL RESIDE AT THE END OF THIS SPACE.
                ;
 003D =         MEM     EQU     61      ;FOR A 62K SYSTEM (TS802 TEST - WORKS OK).
                ;
                ;   SET ORIGIN FOR CP/M
                ;
 D800                   ORG     (MEM-7)*1024
                ;
 D800 C35CDB    CBASE   JMP     COMMAND ;EXECUTE COMMAND PROCESSOR (CCP).
 D803 C358DB            JMP     CLEARBUF        ;ENTRY TO EMPTY INPUT BUFFER BEFORE STARTING CCP.

Nick later provided some CCS ROM monitor source listings: I'll provide the ASM files on my site, he also provided HEX and PRN files.

ccsfdco.* is the version of the MOS 2.2 monitor in the manual for the 2422 FDC. It's an exact copy and will auto-detect serial baud rate when user presses return a few times.

ccsfdc.* is the modified version where I added in the ability to receive Intel hex files into ram and transmit them out over serial. Pressing "C XXXX ZZZZ" should dump Ihex on the serial (similar to "D"ump command). Pressing "X" will wait polling serial for Ihex input. The Ihex files should have actual addresses in the file and monitor will write data to those locations. Note, in order to fit the Intel hex features, I had to remove a few other features. Removed: breakpoints, auto baud rate (fixed at 9600), some of the code that lets user switch between output devices."

SHugart 800 drives

Nick is also working on some Shugart 800 drives; one of the two he has doesnt' seem to produce an "index" pulse with a disk inserted, even when the drive is selected. I suggested he check the index hole sensor (it's an optical interruptor) by simply passing a card through it and measure the output.

He later reported "I fixed the READY signal by cleaning the optical led and receiver!" By Jan 24 he emailed "The Shugarts appear to work and I've been able to boot CP/M. So far, my assembly routine to format the disk (I load it iHex via serial) hasn't worked. I had an 8" boot disk Allison Parent gave me and tried booting from it again with CCS ZPU board in 4 MHz mode. I could hear stepper motors and CP/M booted. I'm still unable to format a disk in B: using CCSINIT.COM . That's why I'm requesting [your CCS] documentation for that."

PS: He mentioned this about the 2422 Floppy Disk controller documentation. "The page describing the drive select bits may be incorrect. A Rev C version of the manual is correct: DS3 DS2 DS1 DS0. Where DS0 is LSB."

In January 2010 Nick wrote: "It appears the executable files on the disk Allison gave me run. It has BIOS source on it too. It supports CCS 2810 CPU, CCS 2422 FDC, CCS Serial Card (forget model) and a Morrow M10 disk controller. I have the Morrow 10 meg hard disk for it."

"I invoke CCSINIT and it asks the floppy parameters. I specify drive B: because thats where the blank floppy is. I hit enter, drive select light is enabled on B:, I hear the head engage. Moments later, the drive select goes to drive A: and the CCSINIT program asks me the same questions again. I'm sure the disk in B: was not formatted becase 1. The drive select was only on for a few seconds and 2. I can't read from B:." [I told him to try to format on drive A: - herb]

"Steve is sending me over another 8" boot disk with CCSINIT for a sanity check. My plan is to use CCSINIT to format a few disks and verify they work. Then if I want, I can finish up my own assembly format routine knowing another program successfully formatted this disks. Also, I just purchased the necessary components for a 22DISK/Imagedisk [MS-DOS] system. When I get this working, I'll image some of the disks and the modifications I have. This way others (if they exist) can use them."

In May Nick tested his Shugart 801's on a PC using Dave Dunfield's ImageDisk program. He wasn't happy with the results on the drives, and eventually he decided to put aside the 8-inch drives. Eventually he sent them to me. We discuss his decision below. - Herb

NIck: I think it's because the 8" media is difficult to find and very expensive. I was about to replace those two 8" drive I sent you with tested Qume's @ $125/ea (free shipping). The drive price wasn't my concern, it was the price and availability of the media. I was scared about spending $350 and not having media for the drives. Thats a car payment! I'm sure 5.25" will be in the same boat soon.

Herb: There's important differences between 5.25 and 8-inch drives and media.

They stopped making 8-inch media. They have NOT, as far as I know, stopped making 5.25" media. 8-inch media may be a DECADE older than 5.25" media, and some 360K disks may be TWO DECADES YOUNGER than some 8-inch disks. There's LOTS more old and unused 5.25" 360K disks around than 8" disks. 8-inch drives weigh several to 20 pounds - 5.25" drives weigh a few pounds. Weight and size go to shipping costs, and desktop space.

But finally....new people working on old computers today, have NO EXPERIENCE with 8-inch drives. They are too big, they expect smaller computers. So they don't want 'em. That's my impression.

CCS cards in Northstar Horizon, or in IMSAI?

Meanwhile, by mid-April Nick sent this update:

I have a few projects going in parallel. Northstar Horizon (just fixed the voltage problem. It kept blowing caps. Replaced all the regulators). IMSAI 8080 [with CCS cards] and Shugart drives. ADDS terminal that is messing up a few characters.

"I finally added the EPROM sockets and supporting components to my Northstar ZPU card. I inserted the ZPU card with a IMS Model 480 Four Line Asynchronous Communication Controller into my IMSAI. I added code to the monitor that initializes the serial card and allows character IO. What I found is the manual description and schematic were slightly off. I'm pretty sure I purchased the IMS 480 manual from you ten years ago." [Nick provided some updates, see my IMS Web page for details.]

"The CCS cards are in the IMSAI. I was using the IMSAI also to debug the Northstar boards with the front panel. I learned a lot from that. Like my RAM16 64K card won't work with the Northstar ZPB-A3 (FDC) board because FDC doesn't implement Phantom correctly (and it has a ROM on it). The FDC is weird, to write a memory mapped register offset 0xE900 with data 0x55, you perform a read at 0xE955. The lower order address lines along cause a write into the registers on the board!"

May 2011: We talked about using the Northstar Horizon system to develop the CCS floppy controller. In seperate notes, he got his Horizon running after working with boot disks from me, and re-punching soft-sectored diskettes into hard sectored! - Herb

I was wondering if it would be possible to just remove the NS FDC and use my CCS FDC (soft sector support). I would then use modified CBIOS that covered the non-NS FDC and NS-IO configuration. If the drives can be used in soft sectored mode, I think this will work. - Nick

I replied: "Hard sectored" is a function of the controller, NOT THE DRIVES, almost without exception. The drives don't "care". My Northstars run with their native controller and I believe they are Tandon 5.25" 40-track drives, but I've used a variety of 360K drives in Northstars.

Why remove the Northstar controller at all? The CCS FDC runs in its own I/O space. The Northstar floppy controller runs in upper RAM, around E800 or so, like the serial and parallel ports. No conflicts except the N* ROM boots the N* controller.

You could attach drives to BOTH controllers and run EITHER set of controllers and drives. Boot NSDOS or CP/M from the N* "drives" (and controller) OR CP/M from the CCS "drives" (and controller). Or physically move the drive cable from one controller to the other, notwithstanding any drive jumper or cable changes needed (probably none). The possibilities are obvious.

During May, Nick worked on the Northstar disk and floppy controller, and got those running. - Herb

By June 2011, Nick said:

As far as the CCS boot disks I was trying to read with the Shugarts 801's I sent you, I sent those to ChuckG so he could image them for me. I suspect I'll get the CCS board set running on 5" disks because new 8" drives and disks are so expensive.

ChuckG successfully imaged my two CCS 8" disks. One has support for the DiscUS 10 MB hard disk controller (which I have). I have the source for the CBIOS for that also now!

It's going to be a project trying to get that on an 5" disk, because I don't have a 5" bootable to begin with. It may be easier for me to purchase 8" drives now that I think about it. Then transfer to 5.25".

I suggested: Well, you could use 22DISK on an MS-DOS machine, to format some 5.25 inch disk in the desired format. See if it already has a CCS 5.25 inch format, if not choose what you think you can "run". Or format using your Kaypro system, if that format is reasonable, or if you can rewrite a Kaypro format program to the format you want.

Then wedge your bootable CP/M onto the low boot tracks using one means or another. Maybe use a mod of Dave Dunfield's code to write an image onto the soft-sectored controller's diskette. I use DU (Ward Christianson's disk utility) whenever I have to do stuff like that on a CP/M system. Something like that...

You have a working northstar now...why stick the CCS board in there (if it will "fit", check the bus, check I/O space...) and move the BIOS and BOOT code over to that system, and work on the CCS floppy card there? You can already up/download to the Northstar from an MS-DOS system. The N* disks I sent include an assembler (8080). Or use your Z80PACK on the MS-DOS side to assemble and download the hex files. Programs in CP/M like DU.COM let you read and write sectors.

Or, you can use the CCS/IMSAI front panel system and develop there "from scratch". It's a little harder because you have to download everything, every time you "reboot" it. Your notes tell me it's working, you have the ROM monitor, you can download into it, etc....seems like it's pretty close.

It's a little tricky to develop CP/M on a CP/M system (your Northstar system). The trick is to use a 64K system, but assemble and test for 32K. then the "new" BIOS and CCP and all that is loaded up in the "middle" of memory. That lets you do some testing without overwriting your working CP/M.

Looks like you have a number of choices, I don't see that you need 8-inch drives if you have two S-100 systems that run, a Kaypro, and a PC that you can run 22DISK with! - Herb

Nick said: Good points. Thanks for the suggestion. My only last issue is one of the R/W heads on my N*'s Shugart SA400 minifloppies is bad. Just like the Shugart 800's I sent you, this drive has low voltage on the read test points during a read. I compared it to the other floppy which is working (drive B, go figure) and the working drive has much higher voltage. Do you know anyone that might have SA400 heads?

Herb said: I don't advise changing heads, you'd have to realign. Where would you get a working head anyway, except from a nonworking drive? Easier to find another floppy drive and if necessary just swap out the electronics card to repair. But why fix the SA400 - a SINGLE sided drive - when you can get DOUBLE sided drives?

I replaced some early Shugart 5.25" drives on my N* with some Teac full-height DS drives and had fewer diskette errors. These old drives should be pretty cheap on eBay or elsewhere, under $20 a pop, as people want the half-height 360's now. You might buy a whole PC compatible system with dual drives for under $40!

I'm not bothering to sell 5.25" drives, I can't get enough money for them for my time, and also I want to keep them for use. They are superior for reading old 360K diskettes to 1.2M drives which have thinner tracks. If you get stuck, however, let me know. Since you sent me two 8-inch drives for free, I ought to recipocate by sending you a good 360K full height drive.

I could send one of the Shugart 400's I removed from the Northstar, but I also found they seemed to have more read errors. Given that, and that they are single-sided, I don't think that's the direction to go for use (only for restoration to original condition, which you aren't doing). - Herb

Nick said: I'm almost leaning towards setting the Horizon up with the CCS boards. That way I can run the drives soft sectored. It won't be original vintage condition, but I think it should run better. [But] I was watching Ebay and the 5.25" FH SSDD drives go on average $125! Crazy. I can get the Tandon TM101-3 for about $100. I shouldn't need a identical pair right? I think these drives are form factor (if not front panel) identical.

Herb said: I could send one of the Shugart 400's I removed from the Northstar, but I also found they seemed to have more read errors. Given that, and that they are single-sided, I don't think that's the direction to go for use (only for restoration to original condition, which you aren't doing).

[Nick then discussed what he was looking for: some full height drives so they look original to the Northstar. But he had the impression that ALL full-height 5.25-inch drives were single-side! I corrected him on that, only the earliest models like the Shugart 400's had one head. I'm discussing with him how to obtain some drives. - Herb]

Nick updated me June 9th: I connected the SA400 in question to my Imagedisk PC and tested it with a soft-sector floppy. I was puzzled why it wouldn't read the tracks the other drive wrote. I tried advancing the head track by track and watched the assembly. The head assembly was stuck! I moved the head to track 0 by hand, then stepped it again and it worked. I was then able to read data back from the disk. The drive turned out to ok after all. It must have been in between tracks or maybe when I formatted the head never moved. I used it as drive 2 in the N* chassis and was able to use COPY.COM to copy your hard sectored boot disk over. I was also able to copy to a "punched" disk.

[I advised Nick that drives need cleaning and lubrication of the rails and threaded drive shaft of the read/write head. This is the kind of work I do when I repair floppy drives. - Herb]

herb: Why would you say the Tandon TM100 you were sent "won't match the existing drives"? I'll grant it will look a little different but it will be black and full height. If his drive is working and the price is right, I suggest you take it. YOu can still develop on it, whatever the "look".

Nick: Correct. It should be a form factor fit and people indicate the face should be nearly the same. He already sent it in the mail. I think both my SA400s work, so I can use this on the IMSAI system with perhaps the CCS boards.

If I can get the hard-sector punch to work reliably I'll probably leave the N* as it was manufactured. The CCS boards may end up in the IMSAI (with 5.25" cabinet if I can find one) or perhaps I'll just leave the IMSAI original configuration with the Processor Technology aka SOL board set (and VDM-1). If I can't punch hard-sector disks reliably then the CCS boards will likely end up in the N* chassis. [So] I think I'm *ok* with the 5.25" drives for now. This was very good information and sent me in the right direction. - Nick

Herb Johnson
New Jersey, USA
here is how to email @ me

Copyright © 2012 Herb Johnson