It’s been almost a year since my last post. I haven’t abandoned the project, but two things have severely limited my time: 1) I’ve been working 70+ hours a week getting the new Technicolor at Paramount studios online and 2) Raising my son Ivan, now 15 months old. However I did have time to redo the main CPU board, and tomorrow I ship to the first customer.
I’m going to slowly start delivering the boards with a new pricing structure. It will be $250 for the kit, and another $50 for me to do the modification. As before, if you’re technically inclined you can probably do it yourself. The $250 does not include the SCSI option (it’s another $30), since almost nobody uses SCSI anymore.
My new company, Straylight Engineering, will host these pages until I redo the site.
I plan on sending an official email to those of you have been waiting for me to start making the kit again. Ivan thanks you all for your patience…
It’s become somewhat of a cliche in Hollywood to ‘reboot’ a movie franchise if the current sequels aren’t doing so hot in the movie theaters. So, I’ve decided to take a page from their book…or script…whatever. I’ve decided to stop work on the new CPU board that I was developing and start fresh.
There are a few reasons for this. I was planning on using the VNC2 USB controller with the new design. However when I started testing, there were serious bugs in the firmware, which the manufacturer hasn’t addressed. There were issues with driving the sound generator board with a 3.3V CPLD device. Also Jim hasn’t really had time to debug the new floppy controller or deal with the bugs in the USB controller. In true Hollywood style, the project has been in “development hell”.
So, I’ve decided to keep things simple. The new design will be a daughterboard that plugs onto the stock DSS-1 CPU board. About 75% of the original CPU board’s functions will still be used. The new board will contain the new CPU, memory, SCSI controller, USB controller, and a couple of logic arrays to tie things together.
Why didn’t I just use this approach in the first place? One of the main goals of the original CPU board that I designed was to reduce power consumption so that the power supply would not have to be modified to handle a larger current draw. Without the original RAM, ROM, CPU, and assorted 74LS chips, I think the power requirements should be less than the original board.
Between my new job at Technicolor Sound Services, having a new house and a new baby boy, my R&D time has been pretty limited. The new design is ready to be manufactured, so unless I run into serious design flaws, I can start shipping the kit in the near future.
Not too much to report this time. Jim has two of the new boards to test. One has a VNC1 and one has a VNC2. The VNC2 has problems loading larger files; I’m hoping it’s a firmware issue. Yesterday FTDI released new firmware, so when I get a chance, I’ll upload it to one of my boards and test it.
I’ve started looking into having the boards assembled for me, but so far the cheapest I’ve found is about $30 per board. So unless I get an order for 500 kits, I’m still going to be building them myself.
Most of my time this month has been spent hanging out with my son, born on Jan 3rd. It’s really an amazing experience but it does tend to soak up any free time during the day 🙂
I did a quick layout of the buffer board and sent it off to Advanced Circuits in Colorado – they have a good ‘Bare-Bones’ service and quick delivery. I ordered the buffer chips as well. When everything arrived, I realized that one of the chips was the wrong package size (TSSOP instead of SSOP), so that delayed things as well. After getting the correct size chip, I finally built and installed the board. I was still having issues, and after disassembling and tracing the code, I had to make some changes to the design of the 8155/8255 CPLD replacement. Once I did that, it passed the WRAM test – sort of. It was still only reporting 1 WRAM page instead of 64. Better than nothing though.
Next task was getting the board to boot to the main menu. It wouldn’t get past the check for the VNC2 controller, so I had to program that as well. I purchased a FT232R USB-to-serial board off of eBay, and wired it up to the board. After three or four nights of futile attempts, I put the 232R board under the microscope and discovered that the silkscreen labels for the TXD and RXD (transmit and receive points) were backwards. After that, the VNC2 was successfully programmed and the board booted to the main screen.
At this point, everything works except for USB. The VNC2 is correctly identified but defaults to the wrong command format. I have to dig in to the source code and make some changes. The new floppy controller appears to work fine, and most importantly, the DSS-1 plays sounds. The multi-page WRAM issue turned out to be a bad cable.
And finally, it turns out the buffer board was unnecessary – I reconfigured the interface ports using a method in a Xilinx app note that Jim pointed out to me – and if the VNC2 changes work, the board will be ready. I won’t even have to do a second revision 🙂
I got new code from Jim to address the differences in the new floppy controller. It got past the floppy initialization stage just fine, but got hung up initializing the sound generator board. Turns out that the Xilinx XC9500XL series don’t have the same drive capability of the older, 5V XC9500 series. In theory, the existing pull-up resistors should have helped, but I’ve now had to make an add-on board with additional buffering cicruitry. This will just be for the prototypes, the production units will have them integrated onto the main board.
I’m getting quite a few inquiries about when the project is going to be ready; a number of people have checked in every month to see what’s happening. We’ve finally got the firmware loader written, so at least the main firmware can be updated by the end user. Assuming that the sound generator is the last major hurdle, I think that we are on track for an end of year release.
So, I have started debugging the new CPU board. Amazingly, the first time I powered it up it booted to the sign-on message. It got stuck there, so I hooked up the logic analyzer to see where it was at in the code. As I suspected, it was getting hung up trying to access the new floppy controller. Although the i82078 (the new controller) is register-compatible with the uPD765 (the original DSS-1 controller), it needs to be initialized quite differently. I’m hoping to have a fix for it this week.
Once the floppy is working, the next task will be getting the new USB controller up and running. The firmware that FTDI supplies is supposed to be compatible with the VNC-1 command set, but things are rarely ever that easy 😀
Wow. It’s been eight months since the last update. A lot has happened with the project, as well as my personal life in that time. The project is alive and well, although in suspended animation. I’m actually just about to start testing the new revision of the CPU board. One of the big delays on the project was that FTDI Semiconductor, who make the VNC1L chip that powers the USB part of the CPU board, came out with a new, improved version, the VNC2. Unlike the VNC1, the VNC2 comes with a free IDE (integrated development environment) and royalty-free RTOS (realtime operating system), which allows complete customization of the USB firmware. Previously, you were limited to whatever firmware FTDI developed for the VNC1 (along with its bugs and limitations).
They say things happen in threes, and for me that’s no exception. As of today, I have a new job, a new house, and in January my wife and I will be having our first child. Things like that kind of put weekend projects on the back burner. However, I’m still working on the project. It’s a lot closer than it was, but will still have to wait until the USB firmware matures to a point that it will be user-updatable. The long term plan is to have totally custom firmware tailored for the DSS-1. That is almost as big of a software project as the DSS-1 code. Luckily the out-of-the-box firmware provides enough functionality for 90% of our needs.
I’m putting together a mailing list for all the people who have contacted me wanting to purchase an upgrade kit. So far, it’s well over 100 people, far more than I expected, and a good reason to get the new boards out the door ASAP.
I wasn’t really happy with the result of cleaning the PC boards that I’ve built. Using flux remover always left residue on the board, and soaking in isopropyl alcohol overnight, although better, still wasn’t perfect. I did some investigating and decided to get an ultrasonic cleaner. The model I got, a Crest 1875D has a large enough tray that I can put a whole KLM-782 board in it. My friend Evan recommended Alconox products to clean the board, so I got some Detergent-8, and the combination of the two has been the bomb.
I also got a relatively inexpensive stereo microscope off of eBay, which has been a Godsend for soldering the fine pitch components especially on the memory board. Soldering with a loupe stuck in my eye wasn’t very good for my vision!
Four orders last week, a complete DSS-1, a board set, and two kits to ship out. This week, another complete DSS-1 (possibly two), and there are many others that are interested. I think I’m going to have to pull some boards from my already modified DSS-1’s….
I should start work on the new CPU board soon. I’m at the point where I’m just finessing the final design. I just found out that the Vinculum II is coming out, and am wondering if I should wait for that. The new board should run the existing code aside from the new floppy controller. For some reason they moved the control registers around in the memory map, but all that needs to change is the register definitions. Unfortunately this means maintaining two separate builds of code. The new board will also have a larger SRAM chip for future expansion.
The new ASR-10 SP3 board is completed as well. It’s all working without incident, apart from the 2N3904 transistors I had ALL being out of spec and not working right!! I’m sending one to Garth Hjelte at Rubber Chicken Software to do some beta testing.
Sales have picked up in the new year. Many people are waiting for their tax return I suspect. People seem to be pleased with the modification so far.
The latest firmware version 4.01 adds support for a second USB port. This needs an addtional cable soldered to the VDIP module. I had originally planned to implement this with the combo drives that have the USB port on the front. However the few that I’ve ordered are all flimsy and don’t have mounting holes in the proper position for the DSS-1. One drive looked like the floppy mechanism was salvaged from a surplus parts store, as the top was all scratched and had large chunks of dust (!) inside the floppy. Beware the Sabrent, Nippon Labs, and Bytecc brands.
I’ve also started selling my modded DSS-1’s. I’ve got about 6 left as of this post.
Another improvement I’ve made is to reduce the high frequency whine being induced into the audio path. Routing the two connectors (J10 and J11) over the left side of the KLM-780 board insted of having them come from the back, getting them as far away as possible from the audio jack board, gets rid of the whine when loading and saving. These connectors are the address and data bus connections from the sound generator board which are active any time sound is getting transferred to or from the Wave RAM.
Currently there are 6 kits left and 6 DSS-1’s available.
Well, three sales so far. One kit, one board mod, and one full DSS-1 mod.
Bought another unit off of eBay, unfortunately the seller didn’t pack it very well, and one of the black keys got broken. Good thing I have a parts unit.
V 3.99 has a bunch of fixes in it for USB saving and loading, also adds directory sorting and navigation improvements. Also discovered, while building up more boards, that the byte counter pin on the CPLD needs to be disconnected from the ribbon header, or the signal reflections will corrupt the count.
I’m going to start selling my other DSS-1’s on eBay. Time to start making room for the next project.
Oh yeah, a big thank you to Glen Stegner for his awesome review of the project on his site!