[sdiy] Re: and firmware synth
Batz Goodfortune
batzman-nr at all-electric.com
Fri Mar 11 14:29:25 CET 2005
Y-ellow Rainer 'n' all.
At 01:23 PM 3/11/05 +0100, Rainer Buchty wrote:
> >I've never written machine code for an i86 and frankly, segmented
> >addressing pisses me off.
>
>Amen, brother!
Well this is why I'm wondering if there aren't assemblers that handle that
transparently. Preferably without any reference to a pre-existing machine
architecture. To be honest I have no idea how that would work. I'm thinking
along the lines of a cross assembler but it would be on the same kind of
platform so technically, it wouldn't be a cross assembler.
But for that matter, isn't a 386 and up, spoze to have a contagious
addressing mode?
There's no way into C or pascal for me. Most people start on high level
languages with the 'print "hello world"' routine and work their way up
coding screen savers and little utilities to shunt data from a to b. I
never went there. I started with Z80s and 6800s and GASP! 8080s. Hell, I
once hand-coded on a 6800 with a hex pad. If you think segmented addressing
is bad, try having to calculate a relative jump every time you want to
write a loop. But I digress.
Most of my experience with programming micros consists of telling LED A to
turn on when event B happens but only if event C has already occurred. You
know the deal. If it's any more abstract than the hardware layer I'm lost.
>486, especially later models like DX4/100, should be plenty. Just look
>what old Demos from the early to mid 90s show ("2nd Reality",
>anyone?)... And then keep in mind that Synths in the 80s and early 90s
>were driven by 8- and 16-bit CPUs in the range of 2-16MHz.
Yes indeed. This is kinda what I was thinking. However I know that there's
also a fudge with a lot of this stuff. It's like trackers. They seem
incredibly powerful until you realize that they are a law unto themselves.
If they ever had to co-operate with anything else, or worse, something
outside of the system, you'd need significantly more power. On the other
hand, a system built at a low level would indeed be a law unto it self.
Probably the only thing it would have to contend with is MIDI.
>If you're planning to make use of the BIOS anyway, why not going a step
>further and also use DOS so you can also make use of pre-existing sound
>card and MIDI interface drivers? But don't forget to keep the 640kB
>barrier in mind, or else you have to get acquainted with so-called DOS
>extenders. No need to license a commercial one, the (free) DJGPP suite
>IIRC contains one -- but would also force you to use C.
There's an open source DOS out there called NEWDOS. This is a full 32bit
protected mode reworking of the old favorite. Apparently it runs a TCP/IP
stack as well as being multi-tasking. But otherwise behaves as some kind of
uber-DOS. I've not tried it though I downloaded it many moons ago. In fact
it should be quite mature by now. There are other DOS clone projects too
apparently but I know not of these.
But there's also a little OS called MenuetOS. This thing is a full,
multi-tasking/multi-user, threaded, object oriented, GUI driven and
networked OS. Although the code isn't terribly mature last time I looked,
it does everything you'd expect from a full blown desktop OS and is real
time oriented as well. It is not based on any other OS in particular. It's
been built from the ground up. But none of that is the interesting bit.
The whole thing is something just over 900K in size and fits easily on and
boots from, a single floppy. It's written entirely in X86 assembler. Bugs
and code maturity aside, the two guys behind it must be uber-code-monkeys.
I've had a copy of it for ages but never tried it. Despite all that, it's
probably a bit on the high-level for me at this point. But I thought I'd
give it a plug here incase any of the other code jockeys here wanted to
look it up.
http://www.menuetos.org/
On the other hand, it might be just the ticket. Since it comes with it's
own assembler/compiler apparently. All inclusive in the 900K.
I can't vouch for what it's actually like in practice but you've got to
turn it up to 11 for the guys who put it together. That's an astounding effort.
Anyway, you're probably right about using DOS. Although I had a rather more
turn-key notion in mind. I'm sure it could be embedded though. And whilst
I'm not one for re-inventing the wheel, I'm also put off by having to
adhere to someone else's legacy. And of course, there's a little matter of
me not being able to tell the difference between DSP code and a bucket of
chook pellets. But that's kinda why I'm running this by you guys. With so
many fine bit-bolters here, it would seem like an interesting notion to
throw out there.
Thanks again.
Be absolutely Icebox.
_ __ _ ____ International Nihilist ____
| "_ \ | |
| |_)/ __ _| |_ ____ ALL ELECTRIC KITCHEN
| _ \ / _` | __|___ |Your source of Armageddon in a musically crass world
| |_) | (_| | |_ / /
|_,__/ \__,_|\__|/ / Disgusting-> http://all-electric.com
/ ,__ Music -----> all-electric.com-click music/download
Goodfortune |_____| Cult -----> http://www.subgenius.com
More information about the Synth-diy
mailing list