Superboard II Rev B 4-bit DAC

Post Reply
royedmund
Posts: 23
Joined: Wed May 18, 2022 7:08 am
Location: Blue Mountains, Australia

Superboard II Rev B 4-bit DAC

Post by royedmund »

Superboard II Model 600 REV B.
Day two of my OSI (Ohio Scientific) Superboard II restoration.
The Superboard II Rev B supported an Optional rudimentary 4-bit DAC for noise/sound. Note the later Revisions had an 8-bit DAC.
The Superboard II Rev B required four diodes 1N914, single 0.1uF (C58) capacitor and five resisters, one pullup R67, and four resistors for the DAC which I assume are multiples of the first resistor R68 value.
Image
R67 pullup
R68 Value 1
R69 Value R2x2 = 2
R70 Value R2x3 = 4 R70
R71 Value R2x4 = 8 R71
Any suggestions or recommendations for the values of the resistors for the DAC that I should use for the best results?
Attachments
PXL_20220519_023414308.jpg
PXL_20220519_023414308.jpg (3.39 MiB) Viewed 2191 times
4BITDACSBII.jpg
4BITDACSBII.jpg (173.36 KiB) Viewed 2191 times
Superboard II Rev B
BillO
Posts: 216
Joined: Tue Jul 08, 2014 4:03 pm
Location: Canada
Contact:

Re: Superboard II Rev B 4-bit DAC

Post by BillO »

I would use the binary weighted series you suggest, except R71 is the MSB, so run the series like this:

R67 = 1K-2K (adjust for best offset)

R71 = 1K
R70 = 2K
R69 = 4K
R68 = 8K
Box stock Superboard II Rev. B
KLyball replica 600D, replica 610 & KLyball Data Separator
OMS SBME and SBME+ memory cards
OMS Digi-Mule expansion bus
KLyball memory card
royedmund
Posts: 23
Joined: Wed May 18, 2022 7:08 am
Location: Blue Mountains, Australia

Re: Superboard II Rev B 4-bit DAC

Post by royedmund »

Thanks for your help. Here is my 4bit resistor ladder DAC in action.
Attachments
noise.jpg
noise.jpg (247.88 KiB) Viewed 2075 times
PXL_20220612_132906540.jpg
PXL_20220612_132906540.jpg (222.99 KiB) Viewed 2075 times
Superboard II Rev B
BillO
Posts: 216
Joined: Tue Jul 08, 2014 4:03 pm
Location: Canada
Contact:

Re: Superboard II Rev B 4-bit DAC

Post by BillO »

Nice.

You should be able to produce 16 different levels though.

Try this little program:

Code: Select all

10 POKE 530,1
20 FOR X=0 TO 15
30 Y=4*X
40 POKE 57088,Y
50 NEXT X
60 GOTO 20
line 10 disables "control-c" so you'll have to press "break" to stop the program and choose "W" to do a warm start.

The output will not be linear due to the exponential change in resistor values but should look like an exponential curve.

Also, it looks like you chose to make R71=8R, R70=4R, R69=2R and R68=R. That makes your DAC run in reverse (voltage falls as the number you output to the keyboard latches increases).

Edit: I don't think this will run in 255 bytes but it might. If not we'll have to get your machine addressing more memory.
Box stock Superboard II Rev. B
KLyball replica 600D, replica 610 & KLyball Data Separator
OMS SBME and SBME+ memory cards
OMS Digi-Mule expansion bus
KLyball memory card
Mark
Posts: 297
Joined: Tue Sep 16, 2008 6:04 am
Location: Madison, WI
Contact:

Re: Superboard II Rev B 4-bit DAC

Post by Mark »

Your program should work fine in 255 bytes of available RAM
1K RAM.gif
1K RAM.gif (5.08 KiB) Viewed 2055 times
Or you could reduce the program size a bit using the following

Code: Select all

10 POKE530,1
20 FORX=0TO60STEP4:POKE57088,X:NEXT:GOTO20
Which will leave 213 bytes free

Although it seems obvious, I never realized the C1P DAC and C2/C4/C8 OSI 542 DAC were at different addresses. Keyboard polling interferes with the C1 DAC output although the original C1P 4-bit DAC cleverly avoids the highest two rows which were frequently used for joysticks. Theoretically you could poll joystick positions and not interfere with DAC values. The later revisions of the 600 board had an additional DAC enable bit (along with an 8bit DAC). I assume this was done so your C1 didn't scream upon reset when connected to a speaker while key polling was going on.
Post Reply