Superboard Expanded on S-100 motherboard

Post Reply
davisgw
Posts: 134
Joined: Sat Aug 27, 2022 4:52 pm

Superboard Expanded on S-100 motherboard

Post by davisgw »

Hi all,

This discussion started in the topic "Upgrade 610 from 2114 RAM to 6264 8K x 8". Please see that topic for pictures and additional details.

After considerable hardware debugging (caused by shooting myself in the foot) I've finally succeeded in resurrecting my Superboard with S-100 motherboard and cards that I built in the early 1980's. It includes an interface driver card that I wire wrapped, a OSI "610 board " with sockets for 4K of 2716 ePROM that I also wire wrapped, a memory card populated with 32K of 6116 RAM, a 2708/2716 ePROM programmer card, and a video card for 24 X 64 character text video.


1) My first mistake was assuming that the S-100 could be powered by an unmodified ATX power
supply, because of the +5V, +12V, -12V labeling on the motherboard. After getting no life from the
plugged cards I remembered that the motherboard requires +8, +16, and -18 volts for the onboard regulators.
So I modified an ATX power supply to output +7.5, +17.5, and -17.5 volts and suddenly got life from the
system. Then I needed +5 and +12 volts for the floppies, which I obtained with the appropriate number
of diodes to drop the voltage back down......

2) I was then able to verify the memory is good and use the ePROM writer to make some copies of the
2716's that contain modified system code for all 3 systems I'm working on. It works perfectly.

3) Then I spent about 2 weeks scratching my head trying to figure out why the floppies refused to
read diskettes. It turns out that the data separator required by the OSI interface was incorrectly
adjusted (by me) because the trimmer has two possible settings that looked right on the 'scope
but I had the wrong one. AARRRGGGHHH! Now the drives both work,

Now to the problem I had forgotten about. The modifications to the Monitor ROM and BASIC4 ROM to drive
the 64 character video card work well for the onboard BASIC and for HEXDOS, but without modifying OS65D,
and rebuilding DOS/65, etc I cannot take advantage of the enhanced text video. I had written WP6502 to
ePROM (which no longer works) to solve this problem but....

Does anyone know of a method to enhance the video for all software? Maybe I could copy the text written by
unmodified software from video RAM and send it to the input port of the video card? Other ideas are welcome!!!
bxdanny
Posts: 336
Joined: Thu Apr 16, 2015 2:27 pm
Location: Bronx, NY USA

Re: Superboard Expanded on S-100 motherboard

Post by bxdanny »

Here is a disk image I made a few years ago containing a modified 65D (3.2) that automatically modifies the video driver during boot to match the video parameters in ROM at $FFE0-$FFE2. If you set up those parameters correctly,, then this should work. (But if you did, I'm not sure why the video routine in the BASIC4 ROM would have needed to be modified.)

No, I don't have anything similar for 65D 3.3, sorry. (And the TRACE utility on the disk doesn't actually work with the altered version of BASIC I put on it...)
Attachments
1p4puk.zip
(36.24 KiB) Downloaded 1275 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)
Mark
Posts: 297
Joined: Tue Sep 16, 2008 6:04 am
Location: Madison, WI
Contact:

Re: Superboard Expanded on S-100 motherboard

Post by Mark »

Congratulations on getting your system functioning!

Can you describe the video setup you are using?
From the memory map you posted earlier, there is a text display at D400, D401. This display is in addition to the superboard video, correct?
Is this a 6845 based video card?

If you can post the changes you have made to the BASIC ROM (or the whole ROM) that supports your video that would help (see program below). I believe you have posted the monitor ROM contents in the other thread.

Your notes show the text display routines are at $E000-E0A0. If you could dump that ROM as well, that would help. Change line 20 in the code below to read

Code: Select all

 20 FOR I=57344 TO 61439:D=PEEK(I) 
The attached program will dump the BASIC ROM as hex to the serial port.
Thanks!
-Mark

Code: Select all

 10 A$="0123456789ABCDEF":J=0:POKE517,1:P=61440
 20 FOR I=40960 TO 49151:D=PEEK(I)
 30 PRINT MID$(A$,D/16+1,1);MID$(A$,(DAND15)+1,1);" ";
 40 J=J+1:IF J < 8 GOTO 60
 50 WAIT P,2:POKE P+1,13:WAIT P,2:POKE P+1,10:POKE 14,0:J=0
 60 NEXT:POKE517,0
(Others wishing to use this on C2/C4 system should change 61440 in line 10 to 64512)
Attachments
dump-basic.txt
BASIC program to dump A000-BFFF as hex to C1 serial
(250 Bytes) Downloaded 1237 times
pbirkel
Posts: 34
Joined: Mon Feb 27, 2017 8:06 am

Re: Superboard Expanded on S-100 motherboard

Post by pbirkel »

Great progress! Exactly how did you modify your ATX power supply to output +7.5, +17.5, and -17.5 volts? I'm sure that this hack would be useful to numerous S-100 hobbyists. Thanks :-}.
davisgw
Posts: 134
Joined: Sat Aug 27, 2022 4:52 pm

Re: Superboard Expanded on S-100 motherboard

Post by davisgw »

Thanks for the fast replies.

bxdanny: I will look into changing OS65D 3.3 in a similar manner to your 3.2 modification...that will be useful so that I can use the tools for text editing
and program writing. Thanks. The modifications to the Monitor ROM and BASIC4 were needed when I did not have the floppies working and my original
thought was to use WP6502 for word processing files...kind of useless with the original Superboard video.

Mark: I can certainly provide a dump of the BASIC4 ROM changes but this is all that was changed:
C1P_Video.pdf
(2.18 MiB) Downloaded 1390 times
Also, here is a revised memory map of the system in it's current state:
C1p_MapS100.pdf
(17.09 KiB) Downloaded 1349 times
My changes do not affect the Superboard display memory at $D000 - $D3FF. My BASIC4 changes call the video card driver at $E000, which outputs the
text to the SSM VB2 S-100 card and the card does all the text formatting from the control characters it receives.

pbirkel: I found the instructions online at this url:

http://www.kerrywong.com/2017/10/07/mod ... gher-outpu t-voltage/

For the regulator chip discussed it is simple to disable the overvoltage sensing. In addition I replaced any caps rated 16 volts or less and added a 2W resistor to the fan power to keep it from burning up. This chip seems to be common in ATX supplies made around 2000 with the brand "CodeGen". Mine was a 350 Watt supply.

Any other ideas that would apply more broadly to software that is not BASIC?
pbirkel
Posts: 34
Joined: Mon Feb 27, 2017 8:06 am

Re: Superboard Expanded on S-100 motherboard

Post by pbirkel »

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

Re: Superboard Expanded on S-100 motherboard

Post by bxdanny »

Oops, I missed that last sentence that talked about the "input port" of the video card. So this is not memory-mapped video at all.

Davisgw, I see from your latest post that the video driver for the added video board still uses locations on page 2, which presents a problem since it will interfere with disk-based software located there, e.g. BASIC or the 65D assembler. Perhaps you could consider rewriting it to use some other area? The problem is where. The first few bytes of the C1P memory-mapped video are not actually visible, so that is one possibility. You could, for example, use locations $D000-$D004 instead $0200-$0202 and $0230-$00231. Another possibility would be near the bottom of page 1, at $0110-$0114, since the stack will not normally reach that far down. (BASIC does use $0100-$010F for converting numbers to string form.)

The addresses of input and output drivers are easy to change in 65D. The addresses for input drivers (reduced by 1) start at $2301, and those for output drivers at $2311. So to change the address of the video output driver (device #2), you would just change the bytes at $2313 and $2314 to what is needed. For example, since the entry address for your video-out driver is $E000, you would change $2313 to $FF and $2314 to $DF, so they point to $DFFF. That is, relative locations $113 and $114 on track zero are what would be changed, since track zero loads to $2200. It might make sense to make output device 3 then be the old driver for C1P memory-mapped video by changing $2315/$2316 to the old contents of $2313/$2314.
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: Superboard Expanded on S-100 motherboard

Post by bxdanny »

Actually, the page 1 location might not be so good, because of the 65D "context switch" routine, which swaps pages 0 and 1 up to higher memory when switching between the 65D kernel and BASIC or the assembler. So the start of the native C1 video memory is probably the best place, even though it may cause a small amount of flicker on that display's screen. There is some software out there (but not a lot) that does use a few bytes at $D000 for temporary storage, so perhaps $D010-$D014 would be safest place.
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)
davisgw
Posts: 134
Joined: Sat Aug 27, 2022 4:52 pm

Re: Superboard Expanded on S-100 motherboard

Post by davisgw »

Bxdanny,

The SSM VB2 video card is not memory mapped in my system...but there are switches to allow setting the memory address if desired. I only use the port addresses at $D400 and $D401. And if you follow the driver code at $E000 it throws away duplicate control characters that I discovered were being
sent to the BASIC4 video driver (likely to control line length).

Are the bytes at $2313 and $2314 in 65D V3.2 or V3.3? If not do you know where it would be? And will 65D allow writing over Track 0 to make a permanent change on disk....so I could overwrite track 0 with the modified contents of $2200?
bxdanny
Posts: 336
Joined: Thu Apr 16, 2015 2:27 pm
Location: Bronx, NY USA

Re: Superboard Expanded on S-100 motherboard

Post by bxdanny »

The input and output driver addresses work the same way, and are in the same location, for all versions of 65D from 3.0 to 3.3.

To modify track 0, you need to use the "Track zero read/write utility". It is found on track 11, sector 2 (I think that is standard, that's certainly where it is on the disk image I uploaded earlier in this thread) as part of the "Diskette Utilities". You need to load that to $0200, enter GO 0200, and follow the directions. I'd say first load the Extended Monitor, then the Diskette Utilities, which will overwrite part of the Assembler but leave ExMon intact. Then switch disks if needed to the one you want to modify. Typically, to modify track 0, it is loaded to $4200 with the command R4200 to the TZ R/W utility.
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