-----------------------------------------¬
| OSP v.0.1 |
L ----------------------------------------
(C) VTS'99
Haystvuyu molecules that ALL Peoples!
Recently I wandered around with an alternative to General
Sound'u, and finally decided to ask people what they think
about it ...
Just want to warn you that this device does not aim to
break the sound X-TRADE'ov. Moreover, the development of its
now hangs and moves very slowly and
I would really like to work in the first
turn, and with X-TRADE.
In addition, this article pursues
another goal. As an experiment :-)
I would like to try something like
"Open development". Ie anyone can
contribute to the development of OSP and common efforts to make
a device even steeper. Made particularly important
contributions docks and Boards will be provided at cost, and
the remaining more expensive. Also guaranteed a place in the
list of authors;) In addition, you will be informed of
Architecture, software and Hardy sound is still being developed
(and the rest - only after its completion).
This process can connect and
programmers. For writing the software may
providing various discounts.
Thus, the main problem GS (for discussions of users) - the
price. Everything else can be proskipat due to ISO. And the
price of this lies in the very concept of sound. In the OSP
will go to the hell-what compromises, putting the ease and
cheapness of higher quality. According to some estimations the
price is about half that did not Considering economies of AY.
So now, in the OSP project included ideas:
1). The concept of compatibility "on top
Down with AY8910 (1912). OSP is inserted into the panel AY and
emulates up to the ports I / O (for example, Centronics
KAY'ya). Thus, the problem with a deficit of AY will be
resolved and the market will have to appear desheveyuschie AY
as a standard sound Speke (now, for example., By default, Nemo
Without calling AY). And OSP, etc. will be extended
saundkartami.
Here there is a purely structural
problems, eg., mechanical strength and
location in the body. Most likely,
construction will be sharpened by KAY and will
exist loop-extender for especially
dodge clones.
2). Interface with the CPU through a window of dimension
256 registers the usual AY. Doubt represent the old prog, which
can impunity (for AY) litter in these registers
both in their own (AY checks
only 4 significant bits, ignoring the rest). However, a few at
tracing Players have shown that working with numbers
registers of people correctly (at least
normal people).
Another way to implement this interface (eg port-port) is
not possible due to the fact that other signals, except for
BC1, BC2, BDIR and D0-D7 on the AY panel is not displayed :-)
From the OSP these registers - a piece of
RAM, when applying to that part
CPU percent of OSP will be inhibited (because simpler
because the interface is already navorochen).
3). Minimum price determined the approximate configuration:
- Z80A, CLK: 5.25 = 3 * 1.75 MHz
[In the idea of 5.25 MHz should not be a problem. A left
brake procedure must die] synchronized by CLK_AY = 1.75 MHz.
Choosing Z80A defined by the broad
prevalence (used: tape-component) and
cheapness.
Clocking of 1.75 MHz clock simplify, get rid of quartz ...
Possible, in theory, to replace Z80A
Th-nd abruptly, with a special handkerchief
(With his super-duper generator at 200
MHz). But Toda and PZUhu change should be
(Under other delays player). And all
it without a soldering iron.
- ROM 2764. Expansion to 27,128, or two
2764 simple replacement. Again, these ROM
(Used) are not a problem.
Should only be sewn AY-player,
mods will not (not enough space), but
Chip would like (but I do not have them on disk imaging, so
pliz otforvadte who can;) A better source would be immediately
at ACME:)). All the other bells and whistles runs in RAM.
-RAM. Initially planned for a small SRAM
volume (32kb) for chip-ins. But then
yet decided on a SIMM.
- KR580VI53 to emulate the tone generators. Clocking 1.75 MHz.
- Generation of noise placed on the Z80. In he AY
vaasche single-bit, and some not so white :-)
- Logarithmic volume control -
based on 8-bit DAC. An approximation
tables in ROM.
- DAC K572PA1 (one). The four channels are made by one artful
way, which only what makes that zashumlyaet signal (and saves
mikruhi). Maybe be even 16 or 32 channels with a base on the
same 4'eh. (But not until he studied me
In practice, doubt is mostly noise. It is now once
experiment - the newspaper should be to link.)
- INT on Channel 0 (A) K580VI53. When playing digital muzak
tune the desired frequency and make the EI.
- May be a low-power (for headphones / speakers polvatnye)
amplifier.
- Other stuff Schematic Plan.
In general, I then promptly inserted a rough
shemku, but you must think about the issues outlined below.
Although, most likely with they can not be helped.
Well, now let's talk about the firmware
PZU'shki.
The basis of it - Emulation AY. Maybe
Chip-to player. Misc (fashion, Vava,
s3m, mpeg ...) is playing prog in RAM.
Main loop is the emulation of AY,
which includes:
- Coefficients division tone generator after a shift by 4 bits
to the left rush to VI53 (a shift is needed to emulate the
frequency dividers 16).
- Logarithmic volume is converted into a linear and 8-bit form
on a table, throw in DACs channels.
- Generation of noise. Likely to accelerate will have to make
some kind of mixture XOR-generator (random number) with
prepared by the (small) tables in
Rom. (By the way, and who knows the "real" noise generator AY /
YM?).
- Mixer. Masking noise generators and software and hardware -
Tone generators.
- An envelope generator.
- Exchange of input / output ports.
If we now estimate how many there are
takes time ... Well for interruptovoy
Music is not a problem, but on digital
several kilohertz bummer. And
I / O too.
Exit I see only one: the pre-OSP translated into the
desired emulation mode. The cycle is much shrinking and
speeding up.
In all cycles, the exit condition is a change in the state
of a register (Say, # 7F), which sends percent in the control
procedure, analyzing Register teams and making the CALL to-nd,
namely:
- Full emulation AY
- Digital AY (4bit/8bit)
- PIO (IRA / IRB)
- RG_OSP (# 80 - # FF)> RAM_OSP
(Register # 80 - # FF allocated for the exchange of
data from the CPU; registers # 00 - # 7F before
appointed to manage the OSP, and in the first
curve versions of their most independent
act, but is reserved!)
- JP address
-? Chip-player
-?? Well I do not know what else ...
Waiting for suggestions.
Generally speaking, software OSP thought
less hard, so it can consider
better than others. The most pleasant to be thinking through by
asma;).
Well, like everything that I wanted and
said. Now waiting for feedback and specific suggestions and
ideas.
Any additional suggestions from the realm of science
fiction;) because in an uncertain future after the OSP v1.x
possible appearance of the second version, which will include
All the coolest, that will come up. AND
here the quality will not press down the price.
Ie something like a remix of GS, but included in the
upgrade-chain based on AY (AY-> OSP1-> OSP2->...)
PS: And how decompile reduction
OSP???
And do not tell you! At least in this
times. Let the people will break his head;)
is-dos 22-03-99 21:21 msk
last edition 05-05-99/22: 26msk