First post, by LSS10999
I've been looking for RUBY-9719VG2AR board for a while and only acquired one recently. I've confirmed that the RUBYISA utility works as intended, as I've tested everything on a SB16 PnP (CT2950, DSP4.13 with YMF289) that after running the utility and configuring in CTCM, everything in DIAGNOSE works (8-bit, 16-bit, FM).
I intend to install an AWE64 Gold on the board, at present I'm yet to actually install it to test AWE-specific features (such as wavetable and DRAM). Will consider doing it when I have time, just wanted to ask if someone's done that before so I can be sure about things.
However, according to the manual (as well as the Fintek's datasheet), only up to 4 ranges can be mapped and so, at present, only common addresses (Sound Blaster I/O, MIDI, Adlib, plus default A00-AFF range) have been forwarded with the utility. This means I can at most use the card as a SB16, just that it doesn't have some of the bugs like real SB16 (such as hanging note bug) due to using a higher version of DSP. Unfortunately, AWE64 Gold doesn't have wavetable headers for use with MIDI.
I found this document here (it's about AWE32, but should also apply to AWE64) explaining the addresses used by EMU8000.
11. What I/O port addresses are used by the EMU8000?
The addresses used by the EMU8000 are relative to the base I/O address
of the SB16. EMU8000 Addresses are at 6xxH, AxxH and ExxH. It occupies
the first four addresses at each location. For example, if the SB16 base
I/O address is 220H, the EMU8000 addresses are 620H-623H, A20H-A23H and
E20H-E23H.
It mentioned the uses of addresses 620h, A20h, E20h. Since A20h is already part of the A00-AFF forwarding, the problem is how to get 620h and E20h utilized. I know that 620h is used for the built-in wavetable, which is often provided in the BLASTER environment variable, and probably should be forwarded, I'm not sure what A20h and E20h are used for. (maybe onboard RAM? Or if it's possible to use A20h in place of 620h?)
EDIT: Found this Czech page regarding AWE32, and it mentioned some further details about the I/O addresses. I'm not sure about the details, although it said that one can put them wherever you want if the card is PnP, which AWE64 Gold is, just that whether or not programs that supported AWE32 hardcoded the addresses or not)
Translated using Google Translate:
I / O
The EMU8000 is usually located at the DSP card processor + 400h.
However, if you have a PnP card, nothing prevents you from getting yourself
EMU base location located somewhere else (maybe 40h higher because it
it does not matter much more). The I / O ports are as follows (consider the base
address 220h + 400h = 620h):
Port Width Name
620h 32 Data0 (BASE + 000h)
A20h 32/16 Data1 (BASE + 400h)
A22h 16 Data2 (BASE + 402h)
E20h 16 Data3 (BASE + 800h)
E22h 16 Pointer (BASE + 802h)
Pointer is divided into 3 parts. The highest 8 bits are not used and are
still set to zero. Bits 7-5 determine the register number (0-7) and bits
4-0 determine the oscillator we currently want to work with (0-31).