As usual I need to step back for my obligatory back story.
-VIC-20 from 1981 to 1985
-C64 from 1986 to 1994 (even logged onto my University account with it!)
-Various PCs and Mac's from then on.
Didn't see the word Amiga there? Normal, only very rich kids had them where I came from. Only relatively recently did I start to indulge in that world, and what a 'fun' ride this still is. Amiga literate people can stop reading now, or continue and have a laugh at my expense...
Broadening my quest on early digital sound chips, a look at Paula (MOS8364) was inevitable, although as an 8bit DMA sample playback device, it didn't really fit the original intent of chipsounds. (no oscillators, classic samples are copyrighted, etc).
Nevertheless there are a bunch of things I plan to do following my current OCS Amiga research but I'll keep this for a series of future articles...
... So I got a bunch of gear and disks from various places.
1)Top is my ebay.co.uk bought PAL A500, which I recently upgraded and tweaked (more in a future article).
2)Middle is an Original NTSC Amiga (later re dubbed A1000), a loaner from XC3N which wasn't his in the 80's.
3)Bottom one is my most important Amiga and the first one I found in a recycling center for 20$ a few years ago: an NTSC B2000 (rev6.2a) with 1MB of chip and 2MB of 'fast/slow' ram, and a 'A2320 Display Enhancer' VGA card . This was originally a Video Toaster machine but that particular addon was already removed when I acquired it. The most important feature of that particular Amiga for me is its generous amount of ram, since this allows transferring PC<->AMIGA floppy images transfers much easily (maybe the subject of a THIRD Amiga article)
I of course also have a weird collection of disks, some that have been recently transferred from the net, but most others are from the 'era' itself, including.... various bootlegged copies of Workbench.
Working on a complex platform that you are not familiar with is daunting for many people, but it is much more so when you get this horrible feeling that everything is flaky and unreliable. Machines that reboots randomly, Disk errors which suddenly appear on what were perfectly good disks just the day before. Since I dealt with 80s technology I just figured this was due to its age and condition...
But NO, it was ME .. the LAMER... being exterminated!
Only this virus was made 22 years ago and it made me lose PRECIOUS RESEARCH TIME THIS YEAR, since I only figured out what was happening the day I downloaded X-Copy because of its advanced disk checking features .. or so I've read... but as I found out it also scans the boot sectors of each disks for known viruses.
This virus is apparently quite famous for Amiga people, it even has its own wikipedia page. In any case, I was quite happy to wipe all infected disks clean and redoing much of my workbench, utilities, and test disks. Yes you can laugh, but I don't recall ever getting a C64 virus in my day, so I laugh back.. boot disks .... Pffft shush...
And ... That A1000 loaner I got a month ago also came with a bunch of surprises of itself:
Yes XC3N, I've quarantined those for you for when you want to get it back. :) Don't worry, those last ones didn't make me lose any data, I had learned my lesson by then.
Conclusion: I hate script kiddies, present and past.
Ongoing Research and Development for Plogue's 'retro digital' products: chipsounds, chipspeech and chipcrusher .... and various retro computing stuff.
Saturday, February 19, 2011
Friday, February 4, 2011
Thursday, December 23, 2010
Oh yes I'm working on new stuff...
No updates for a while, its because I can't disclose my new stuff yet.
Sad because theres LOTS of research in there.
I'm hoping to post a glimpse at NAMM 2011.
Sad because theres LOTS of research in there.
I'm hoping to post a glimpse at NAMM 2011.
Friday, November 5, 2010
New research on the SID ADSR
My previous post on the SID ADSR tables on the SID DIE left a question unanswered about the exact method by which the chip manages to apply the level changes in the envelopes at certain points in its decay/release stages.
Lucky for us, Frank Wolf took upon the challenge, and I'm quite priviledge to be allowed to publish his research on this blog.
So here is his analysis of that problem....
(high res)
6581 Envelope Generator (26.10.2010)
----------------------------------
In the upper part you can see the R-2R ladder; on the left is the MSB (Bit 7) of the 8 Bit counter.
Logarithmic Table
-----------------
Now take a look a the Table part! Here's the table in ASCII Form and reduced to the values on 'B' lines (please note the every second bit of the 8Bit counter is negated, i.e. the signal line is mirrored A<->B!)
*The numbers of the signal lines have been chosen to match the numbers of the selector bits!
Every possible "Fixpoint" is compared to the 8 bit counter value keeping only one(!) of the seven signal lines "high" in case of equality. To be more exact: The lines are pulled down in case of inequality.
The 5 selector bits for the logarithmic table are generated by feeding each of the the signal lines 0 to 4 into a simple flip-flop to "set" it. Output of the flip-flops is active "low"!) Additionally both adjacent signal lines are also fed into the flip-flip to "reset" it; resulting in a "high" level output.
Example:
Sustain value
-------------
The 4 bits from the sustain value register are connected to:
So they are (as already known and verified through tests) compared like:
Lucky for us, Frank Wolf took upon the challenge, and I'm quite priviledge to be allowed to publish his research on this blog.
So here is his analysis of that problem....
(high res)
6581 Envelope Generator (26.10.2010)
----------------------------------
In the upper part you can see the R-2R ladder; on the left is the MSB (Bit 7) of the 8 Bit counter.
Logarithmic Table
-----------------
Now take a look a the Table part! Here's the table in ASCII Form and reduced to the values on 'B' lines (please note the every second bit of the 8Bit counter is negated, i.e. the signal line is mirrored A<->B!)
B7 |B6 |B5 |B4 |B3 |B2 |B1 |B0 |Fixpoint|Signal line* 0 0 0 0 0 0 0 0 = 0x00 5 0 0 0 0 0 1 1 0 = 0x06 4 0 0 0 0 1 1 1 0 = 0x0E 3 0 0 0 1 1 0 1 0 = 0x1A 2 0 0 1 1 0 1 1 0 = 0x36 1 0 1 0 1 1 1 0 1 = 0x5D 0 1 1 1 1 1 1 1 1 = 0xFF 6
*The numbers of the signal lines have been chosen to match the numbers of the selector bits!
Every possible "Fixpoint" is compared to the 8 bit counter value keeping only one(!) of the seven signal lines "high" in case of equality. To be more exact: The lines are pulled down in case of inequality.
The 5 selector bits for the logarithmic table are generated by feeding each of the the signal lines 0 to 4 into a simple flip-flop to "set" it. Output of the flip-flops is active "low"!) Additionally both adjacent signal lines are also fed into the flip-flip to "reset" it; resulting in a "high" level output.
Example:
Selector bit| Signal line | "Reset" signal lines 0 1, 6 1 0, 2 2 1, 3 3 2, 4 4 3, 5
Sustain value
-------------
The 4 bits from the sustain value register are connected to:
Sustain bit 0 to Counter bit compare 0 + 4 Sustain bit 1 to Counter bit compare 1 + 5 Sustain bit 2 to Counter bit compare 2 + 6 Sustain bit 3 to Counter bit compare 3 + 7
So they are (as already known and verified through tests) compared like:
0x0 (S) == 0x00 (Cnt) 0x1 (S) == 0x11 (Cnt) 0x2 (S) == 0x22 (Cnt) . . . 0xE (S) == 0xEE (Cnt) 0xF (S) == 0xFF (Cnt)
Tuesday, October 12, 2010
Subscribe to:
Posts (Atom)



