Giter Site home page Giter Site logo

snark-barker's Introduction

The Snark Barker - a SB 1.0 Clone

The Snark Barker is a 100% compatible clone of the famed SB 1.0 "Killer Card" sound card from 1989. It implements all the features, including the digital sound playback and recording, Ad Lib compatible synthesis, the joystick/MIDI port, and the CMS chips (which are actually Philips SAA1099 synthesizer devices).

Snark Barker photo

All of the components are readily available. In the bill of materials, Mouser part numbers are listed where they are available. Chips not available from Mouser can be purchased from a variety of sources in China.

Schematic

Bill of Materials

Please note that the 0.1" header pins are not listed on the BOM. They are standard breakaway headers (both single and double row). Jumper shunts are also not listed on the BOM.

Fab files

Board dimensions are 9.1 x 4.2 inches. When ordering the board, you may want to specify a card edge bevel (fairly cheap!) and selective gold plating (expensive!) depending on your needs. The soldermask color can be whatever you like, but hot pink is preferred.

The Volume Knob

There don't seem to be any off-the-shelf knobs compatible with the Alps potentiometer. You may be able to 3D print one based on the model below. I'd recommend using a high-resolution SLA printer like the Formlabs Form 2.

Fasten it to the potentiometer using an M1.4x0.3mm thread, 6mm long screw (McMaster-Carr part number 91800A036 or equivalent).

Image of the volume knob

Volume knob STEP model

Update: I've added a modified volume knob that may print better on FDM printers.

Volume knob STEP model, FDM version

The ISA Card Bracket

The bracket specified in the BOM is a blank Keystone 9200 bracket. You will need to punch or drill holes for the connectors. The KiCad board file has detailed dimensions showing where to make the holes in the bracket.

I use a chassis nibbler tool to make the square slot for the volume knob as well as the hole for the DA-15 joystick/MIDI connector. If you are rich, Greenlee makes a punch for the DA-15 outline.

The Firmware

There are two ways to get a programmed 80C51 chip for the Snark Barker. One is to purchase a SB 2.0 DSP chip from China and put it in a 44-PLCC to 40-DIP adapter. This works fine and provides the largest feature set.

Another option is to buy a blank Atmel 89S51 (as listed in the BOM) and program it with this HEX file.

Assembly Notes

You may wish to socket the two CMS chips, the 80C51 microcontroller, and the two Yamaha chips.

Be sure to add the 4.7K ohm bodge resistor on top of U5, running between pins 4 and 14. (Shown below.)

Photo of bodge resistor

For MIDI to work properly, you'll need to solder jumper wires on the headers marked TXD and RXD (next to the SNARK BARKER logo). Originally these two 3-pin headers may have been used as a debug port.

Be sure to place shunts in the jumpers marked DRQ1 and JP1, to enable DMA and the joystick, respectively. Also place shunts to configure the I/O address and IRQ.

Testing and Diagnostics

Test your shiny new card using your favorite PC games, or use the SBDIAG program that I've written.

Other Notes

Like the original SB 1.0, the Snark Barker does not need a -5V rail.

License

This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. See https://creativecommons.org/licenses/by-sa/4.0/.

snark-barker's People

Contributors

edwardbetts avatar karcherm avatar schlae avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

snark-barker's Issues

Replacement for obsolete Mouser parts (152-3415, 512-LM324AN)

I'm gathering the parts for a card, using the BOM file in Mouser, but there are 2 items that are marked as obsolete, so I'll need replacements.

  1. The 15 pin D-SUB socket (152-3415)
  2. The amplifier chip U5 (512-LM324AN)

I tried looking for a replacement DSUB connector by selecting all the attributes and looking for similar, and the search came up with 20 items. Can I just grab the cheapest one? :P

And can the amp chip be replaced with this one: https://www.mouser.co.il/ProductDetail/Texas-Instruments/LM324AN?qs=KaAwwOlwapuGsi7hHRxlkw%3D%3D ?
I noticed that it have a bit different "Output Current per Channel" value of 20mA, vs 40mA in the original part.

DSP ISSUE?

Hello.

I just finished 2 cards and have the same issue.
Digit is not working. Sbdiag test runs well adlib cms.
Dsp adressing is pulsing on the oscillo. But dsp write test is not pulsing.
I found few people with the same issue on vogons.
I understand that the only common thing is the 89s51 from.mouser and programming from a t48. One important point is that checkid is blocking with a FF FF result and you have to disable checkid in order to flash. I'm not sure but I suspect something there...
Did you flash the atmel with a programmer or with isp method ?

PCI Express version is unavailable

Hello,

This is obviously a joke. I don't know what effort it would take to build such a device.

Congratulation on your impressive work.

Best regards.

DSP clarification is required

Hello and, first of all, thanks for this amazing project.

While I'm waiting for all the remaining parts to arrive, I'd wanted to clarify the DSP functionality.

As I understand, original SB 1.0 had DSP version 1.x that allowed 22kHz playback
SB 1.5 was the same card with C/MS chips removed for the price reason (btw board rev. CT1320C is actually that 1.5 version if I'm not mistaken)
SB 2.0 used custom creative chip instead of plenty discrete logic chips and 8051 (idk if it had 8051 core inside). It supported 44.1 kHz, auto init DMA and its DSP version was 2.01+.
Then DSP 2.0 update was released for older cards that supported only auto init DMA feature but not affected the playback rate.

There is firmware file in the original repository that has functionality of DSP 2.0 as I understand. Am I correct?

There are two additional firmwares sources - the 'original' one v 2.02 and one from the Chinese clone card.
Are both suitable for the Snark Barker card? What features do they have? That probably means "do they support 44.1kHz playback rate on Snark Barker"?

Questions about 80C51/DSP

I'm totally looking forward to build a Snark Barker. I am very curious and have a few questions about these sentences:

There are two ways to get a programmed 80C51 chip for the Snark Barker. One is to purchase a SB 2.0 DSP chip from China and put it in a 44-PLCC to 40-DIP adapter. This works fine and provides the largest feature set.

  1. Does 'largest feature set' mean SB 2.0 instead of SB 1.0 specifications; and if so, which features of the Snark Barker will change? Or is the 80C51 firmware missing DSP features?

Another option is to buy a blank Atmel 89S51 (as listed in the BOM) and program it with this HEX file.

  1. Will any 8051 or 80C51 with 8KB of ROM work, or do we require any of the newer Atmel features?
  2. Was the original DSP from Creative based on a 80C51, too?

Thank you for answering and your impressive work, maybe you can even add the info to README.md.

Part numbers for sockets and headers

I hate to be a bother, but would anyone have part numbers for IC sockets and headers on Mouser? Also, is it advisable to have sockets for all the ICs, or not necessary? I don't fully trust all the ICs I had to order from China yet.

I'm buying boards and components, who will join?

TL;DR

We're (group) buying all parts for the SnarkBarker, that I will ship out @cost. There are 3 sets (of 10) left, so please let me know if you want to join in!


Original message

Excuse me for spamming the issues section, but this might be of interest of people following this repo:

I have ordered (and received) 10 very nice bare SnarkBarker PCB's, but I only need one :) I'm planning to order rest of components soon to build my SnarkBarker, but happily order more parts for whomever interested.

If you're interested in joining up: I will ship PCB's + components @cost (expect around EUR50) across Europe (from Netherlands).

Let me know!

What is the IP and license situation of the sb.hex firmware?

First of all: this is a great project. For both tinkering and historic purposes. Thanks for working on this and sharing the fruits of your labor with us. ๐Ÿ˜ƒ

However, I have a concern about the sb.hex binary firmware blob that is included in this code base. Has this been released as freeware by the original owner(s)? Do we even know who owns the IP rights to it? And is the source code to that firmware also available by any chance?

Alternatively, perhaps it would be a useful and interesting project in itself to develop a clean-room open source firmware for the Snark Barker (and possibly also for other SB clone implementations) that would be open source, full-featured and perhaps even free of the quirks that plagued the original SB products back in the day, such as lack of click-free seamless DMA playback capability, etc? But that would of course deserve its own GitHub project.

Anyway, a clarification of the license terms under which the sb.hex firmware has been made available and included in this project would alleviate some concerns w.r.t. legality. Thanks.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.