schlae / snark-barker

A 100% compatible replica of the famed SB 1.0 sound card
651 stars 45 forks source link

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

Closed volkertb closed 2 years ago

volkertb commented 5 years ago

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.

raszpl commented 3 years ago
xxd -r -p sb.hex > sb.bin
strings sb.bin

lot of garbage
(C)19k
92 Anchor Electronics Co.,

ZhuHai Anchor Electronics Co.,LTD, I dont think they exist anymore.

volkertb commented 3 years ago

That doesn't mean it's public domain now.

Wouldn't it be better to develop an open source replacement firmware? One that is not only guaranteed to be Free, but also maintainable?

schlae commented 3 years ago

are you volunteering? (please say yes!) here's the firmware spec.

raszpl commented 3 years ago

That doesn't mean it's public domain now.

its abandonware

are you volunteering? (please say yes!) here's the firmware spec.

;--) LABS seems to have did just that, by porting it to atmega. Did you share your 2.01 dump with him? He seems to also have one.

https://github.com/labs-lv/blasterboard/tree/master/Firmware

It would be neat if one landed in MAME roms repository.

ChrisBlizz commented 3 years ago

I'd be interested in knowing how the sb.hex firmware blob was acquired. Was it dumped somehow? I read somewhere that the firmware of the Intel micros Creative used for their DSP was usually not dumpable/readable. Just curious.

elosha commented 3 years ago

@ChrisBlizz You read correctly. It has been dumped from a SB clone board of that time, where the manufacturer either forgot to use the readout protection or used a version of 8051 without protection. It's not the original Creative firmware but an alternative which does the same things.

There may be (illegal) ways to read the Creative firmware though. Intel once sold a 8051 preprogrammed with a BASIC interpreter. It was of course protected … but still, copies of the BASIC interpreter ROM exist on the net ;)

raszpl commented 3 years ago

https://github.com/schlae/sb-firmware

klench04b commented 2 years ago

Hello, I am building the snarkbarker for myself. I would like to get help with the hex file because I don't know if I created the hex file from the github data correctly. What I did was I cut and pasted the github file hex file info into notepad and saved it as a .hex file. I have an IC programmer. Once I select the right IC in the programmer do I simply load the .hex file I created to flash the chip? I'm used to using .bin files to flash so i don't know what I'm doing with the hex files. When I tried to download the hex file from the repository here the programmer didn't load the hex file because it was seen as an error, so that's when I opened the file in github, copied and pasted into notepad and saved as a .hex file. Did I create the hex file right in order to flash the IC? Thanks. I've attached a screenshot of snarkbarker.hex I created with the file opened in notepad. snarkbarker hex example