TG100 sample ROMS
Technical discussion which is not directly related to VGM files. Talk about Hardware and Software.
Moderator: Staff
- vampirefrog Offline
- Webmaster
- Posts: 1508
- Joined: 2014-01-28, 5:51:54
Re: TG100 sample ROMS
the tg100 has a test dsp program to output a sine wave, maybe you can trigger that in test mode
Re: TG100 sample ROMS
Agreed, that would be something to try (when I get myself a TG100 ). As an alternative I guess I could try to disassemble the TG100 program ROM, as the DSP test program should be there.
Re: TG100 sample ROMS
I have a working TG100; let me know if you need anything.
- vampirefrog Offline
- Webmaster
- Posts: 1508
- Joined: 2014-01-28, 5:51:54
Re: TG100 sample ROMS
If you're trying to reverse engineer the DSP chip, you might want to start by hooking up a 16 channel logic analyzer to the bus between it and the CPU, or if I recall correctly, there's also a bus between it and the synthesis chip. Then, record a normal startup and a test mode startup, where you make it play a sine wave. And then turn the capture into a byte stream and somehow figure out which of the bytes are instruction bytes and which are data bytes and so on.
Re: TG100 sample ROMS
The LDSP is exclusively controlled by the YMW258. I have documented the protocol here:
viewtopic.php?t=5745
In a nutshell, the YWM sends 32-bit serial command data from the DSPCDS pin, to the CDI pin on the LDSP.
The LSB 16-bit word has an identifier (0x8000 in the case of the YM3413). This is useful as you can chain the LDSP with a LEF (YM3415) and the chips need to know who should process the command. The MSB 16-bit word is a register / value combo, both 8-bit. I have observed 7 different registers, but most of their purpose is currently unknown.
I don't think much more information can be gathered from actual testing with the TG100 (except from maybe the LFO hold MIDI command... I don't know if it holds or resets the LFO).
De-soldering the YMW (and LDSP) and connecting them to an Arduino or something will be required for full hardware testing, as we need to be able to send custom data to the YMW in order to reverse-engineer the unknowns / blanks.
viewtopic.php?t=5745
In a nutshell, the YWM sends 32-bit serial command data from the DSPCDS pin, to the CDI pin on the LDSP.
The LSB 16-bit word has an identifier (0x8000 in the case of the YM3413). This is useful as you can chain the LDSP with a LEF (YM3415) and the chips need to know who should process the command. The MSB 16-bit word is a register / value combo, both 8-bit. I have observed 7 different registers, but most of their purpose is currently unknown.
I don't think much more information can be gathered from actual testing with the TG100 (except from maybe the LFO hold MIDI command... I don't know if it holds or resets the LFO).
De-soldering the YMW (and LDSP) and connecting them to an Arduino or something will be required for full hardware testing, as we need to be able to send custom data to the YMW in order to reverse-engineer the unknowns / blanks.
- vampirefrog Offline
- Webmaster
- Posts: 1508
- Joined: 2014-01-28, 5:51:54