Added "SUBROM CALL" option. Setting this option, rewrote the SUB-ROM call function, so that many titles work on MSX2/2+.
v2.51
Slightly improved the application slowdown when selecting "COPY FROM PSG".
Fixed the slot state when booting ROM (DOORDOOR etc. will work).
Fixed an issue where channels with hardware envelopes from PSG were not output to SCC (you can also switch the PSG setting to "EXC H/W ENVELOPE" to revert to previous behavior).
Launch
from ROM ( e.g. MegaFlashROM SCC+ SD)
Write SCCBOOT.ROM to MFRSCC+SD.
OPFXSD SCCBOOT.ROM /K5 /U
Insert MFRSCC+SD in slot-1, insert the ROM you want to play in slot-2, and then boot the MSX while holding down the [SHIFT].
If you use the emulator, it is only necessary to insert SCCBOOT.ROM in slot-1, and set Romtype to KonamiSCC.
from DISK
Convert NANDEMOSCC.dsk to a floppy disk.
Insert a SCC-cartridge in slot-1.
Insert the floppy disk in a drive, and boot MSX.
On the command line of MSX-DOS, enter "SCC".
If you want to start after loading a ROM image file(32KB) into memory, enter "SCC <rom-image-file>".
Environment
Basic system
MSX with 64KB-RAM or more (Only some functions can work with 16KB)
An environment that can burn ROM images (There is also a disk version, but it is necessary to insert the cartridge while the power is on)
SCC sound cartridge bundled with Snatcher or SD Snatcher (A game cartridges with SCC installed can also be substituted)
Best system
MSXturoboR (Compared to MSX2+, compatible software will increase overwhelmingly)
MegaFlashROM SCC+SD (Flash ROM cartridge with SCC)
Substitution for SCC cartridges
If you don't have a SCC sound cartridge, you can use it in exactly the same way if you have a game cartridge with SCC (Gradius 2, Gekitotsu Pennant Race, etc.).
When using the ROM version of NandemoSCC
If you set a game cartridge with SCC in the lowest priority slot, you can use it without problems (eg NandemoSCC in SLOT1-0, the game you want to play in SLOT1-1, a game cartridge with SCC in SLOT2).
When using the DISK version of NandemoSCC
After starting NandemoSCC, insert a game cartridge with SCC into the slot with the power of msx turned on, and press [ESC] to recognize it.
However, it seems that such "post-insertion" may damage the main unit if it fails, so please do it at your own risk.
Also, the DISK version of the game cannot be played in this way (because the game cartridge with SCC will start first). note that.
How to run many titles on MSX2/2+
Use Extended RAM Cartridge
NandemoSCC modifies PAGE0 in the main RAM to camouflage the BIOS, but when a SUB-ROM call occurs in MSX2,
PAGE0 is switched to SUB-ROM and it may not be possible to return to the fake BIOS. (It improved in version 3.00)
If you insert an external RAM with a larger capacity than the internal RAM in a slot somewhere,
the external RAM will be used instead of the internal RAM,
more titles may work because there is no slot conflict with SUB-ROM.
Use BIOS setting "COPY FROM PSG(HOOK)"
Using the BIOS setting "COPY FROM PSG (HOOK)" added in version 2.5,
it works regardless of the presence of SUB-ROM as all processing is done on PAGE3 (C000H-FFFFH).
If the ROM cartridge for MSX2 does not work well with preset [2][3], please try [7] as well.
Use MSX1
ROM cartridge for MSX1 are more likely to work if played on MSX1 (because there is no SUB-ROM).
Connection example
Settings
Basic usage
Select an item with the cursor up and down, change the parameters in the left and right.
When all the settings are finished, press space to start.
Press [1]-[7] to preset a setting.
Press [Z][S][X][D][C][V][G][B][H][N][J][M][,] to play the specified SCC waveform. Press [+][-] to change octave.
Press [ESC] to rescan the ROM slots. Used when inserting the SCC cartridge after turning on the power.
Description of each setting
[tR] ... Only turboR
[16K] ... Works with 16KB-RAM
SCC chA,chB,chC ... Select waveform of each SCC channel. You should not be thinking deeply about names :)
@0 ... no sound
@1 ... sawtooth wave
@2 ... square wave
@3 ... square wave ( duty ratio 75% )
@4 ... sine wave
@5 ... base
@6 ... double
@7 ... konami
@8 ... namco 1
@9 ... namco 2
PSG ... Setting whether PSG sounds or not.
ENABLE ... When data for PSG is sent from the application, the data is sent to both PSG and SCC. Same sound for PSG and SCC.
ENABLE(EXC H/W ENVELOPE) … When data for PSG is sent from the application, the data is sent to both PSG and SCC, but channels using hardware envelopes is not send data to SCC.
NOISE ONLY ... When data for PSG is sent from the application, the data is sent only to SCC, not to PSG. But for the noise channel, SCC cannot produce sound, so data is sent to PSG.
DISABLE ... When data is sent from the application to PSG, the data is sent only to SCC, not to PSG.
If the BIOS setting is "COPY FROM PSG", this setting will be ignored and PSG will always sound.
MSX-MUSIC ... Setting whether MSX-MUSIC sounds or not.
NOTHING … There is no FM sound source, both internal and external.
ENABLE … Enable FM sound.
DISABLE … Disable FM sound.
By disabling FM sound, some games sound is played in PSG, enable conversion to SCC.
BIOS
NORMAL ... Use normal BIOS.
SET BY BIOS (PAGE0) ... Copy BIOS to RAM, and rewrite WRTPSG(0093H) to jump to SCC control program. This is useful for applications that are using BIOS to control PSG.
COPY FROM PSG (PAGE0) ... Copy BIOS to RAM, and rewrite KEYINT(0038H) to jump to SCC control program. Using the interrupt to monitor PSG registers, and always copy data to SCC registers.
COPY FROM PSG (HOOK)[16K] ... Rewrite interrupt hook H.KEYI(FD9AH) to jump to SCC control program.
SET BY BIOS (DRAM) [tR] ... Place the modified BIOS to segments for DRAM-MODE of mapper RAM.
COPY FROM PSG (DRAM) [tR] ... Place the modified BIOS to segments for DRAM-MODE of mapper RAM.
With DRAM-MODE, it is possible to rewrite completely BIOS, it does not consume even first 64KB of MAIN-RAM.
If you have a turboR, I think it's enough for bottom two.
SUBROM CALL … In MSX2 and later models, if the fake BIOS and SUB-ROM are in the same basic slot,
it will run out of control without being able to switch slots, but this is an option to avoid it.
(NOTHING) … SUB-ROM is not installed (MSX1).
NORMAL … Call SUB-ROM as usual.
CUSTOM (F41FH,F750H,F87FH,F931H) … Rewrite the function calling SUB-ROM so that it can return to the fake BIOS after the call completes.
Make sure the address does not overlap with "PRG ADDR".
BOOT
RAM(COPY FROM ROM) ... Copy ROM in the slot to RAM, and rewriting the place that call WRTPSG(0093H), and then boot on RAM.
RAM(ROM image file) ... RAM is regarded as ROM, and rewriting the place that call WRTPSG(0093H), and then boot on RAM.
If you launch from disk and loaded a ROM image file, please use this mode.
ROM ... Boot ROM in the slot without all of the conversion. Of course, if BIOS setting is "NORMAL", SCC does not sound.
DISK ... Reboot the MSX. All settings and SCC control program is not cleared, but first 16KB of MAIN-RAM (custom BIOS area) is cleared.
Does not make much sense when BIOS is not DRAM-MODE. This setting is for a disk version software.
ROM SLOT ... Specify slot of ROM to play.
00H-03H ... basic slot
80H-8FH ... expansion slot
CPU ... This option is not related to SCC, is an added bonus.
AUTO ... Depends on a application.
R800[tR] ... R800 mode to boot.
R800(ALWAYS)[tR] ... Always works in R800 mode. It will stay in R800 mode even if it needs to switch to Z80 mode internally, such as when using a DOS1 formatted disk.
PRG ADDR ... Specify the address to place SCC control program.
D000 ... Application that works even if there is only 8KB of RAM, it will work in this setting.
E000 ...
F000 ...
F41F ... Use KBUF(F41FH) as work area.
F750 ... Use PARM2(F750H) as work area.
F87F ... Use FNKSTR(F87FH) as work area.
F931 ... Use work area of CIRCLE and PAINT.
SCC SLOT ... Specify slot of SCC.
00H-03H ... basic slot
80H-8FH ... expansion slot
"???" ... search automatically at the start
PRESET SETTING
I have prepared the settings that you use frequently as a preset. When you press [1]-[6], switch to each setting.
[1]32KBROM:APPLY PATCH (PAGE1-2) ... MSX1, up to 32KBROM, for games using BIOS for PSG control
[2]MEGAROM:SET BY BIOS (PAGE0) ... MSX1, all ROM, for games using BIOS for PSG control
[3]MEGAROM:COPY FROM PSG (PAGE0) ... MSX1, all ROM, for games that don't use BIOS for PSG control
[4]MEGAROM:SET BY BIOS (DRAM)[tR] ... All MSX, all ROM, for games using BIOS for PSG control
[5]MEGAROM:COPY FROM PSG (DRAM)[tR] ... All MSX, all ROM, for games that don't use BIOS for PSG control
[6]DISK:SET BY BIOS (DRAM)[tR] ... All MSX, all media, for games using BIOS for PSG control
[6]DISK:SET BY BIOS (HOOK)[16K] ... All MSX, all media, for games that don't use interrupt hook (FD9AH)