OpenMSX emulates most of Panasonic MSX Systems.
But the MSX2 FS-A1FM (1200bps modem integrated) is
not emulated yet.
Maybe it needs modem emulation and Another
Panasonic 08KB Mapper for FS-A1FM and FDC for
MSX2 FS-A1F/FM/FX/WX/WSX only.
I've got all information about FS-A1FM from Martos I
requested.
Here it is!
----------------------------------------------------------------------------------
It is not so easy to emulate Panasonic's FS-A1FM (FDD
with 1200bps Modem integrated MSX2 machine)
FS-A1FM includes Panasonic/ASCII 08KB memory
Mapper in
Slot 3-3.
But in spite of emulation of Panasonic 08KB mapper,
it doesn't work correctly.
Because of modem's emulation with I/O register.
But the register on Slot 3-1 is variable.
Here is a little information for FS-A1FM
[FS-A1FM's firmware : fs-a1fm_firmware.rom -- 2Mbytes]
Its firmware shows 16 pages repeated twice (0-F == 10-
1F) but surprisingly,
their content is a mirror of the modem utility that runs at
slot 3-1! In that slot, there are 16KBytes of Extended
ROM at 0000-3FFF, the modem
utility at 4000-5FFF using its own mapper, and ram at
6000-7FFF, along with some I/O ports at 7FC0-7FCF
(that's why the files SLOT 3-1 are each different).
Switch address is 7FC4, but bits 4-7 are
always preserved when paging, so they may have
another
function related to modem.
So which pages of slot 3-3's mapper are actually used in
that slot?
At least A8-AF are used,
By the way, this slot has ports similar to FS-4600's slot
3-1, though the mapper is Ascii 8KB.
But I can't assert their exact functionality until I analyze
the full rom.
FS-A1FM's slot 3-3 Pages 80-FF are all the same as 00-
7F except for this:
80-83, 88-8B: disconnected (all bytes FF).
84-87, 8C-8F: eight mirrors of one only 8KB ram area.
So 00-7F is enough for future emulation.
This is additional data about mapper structure of FS-
A1FM:
[Slot 3-1]
0000-3FFF: extended bios.
4000-5FFF: secondary mapper on pages 00-0F of Slot 3-
3's
rom. Switch
address is 7FC4 (bits 0-3).
6000-7FFF: secondary mapper on pages 80-8F of Slot 3-
3's
rom. Switch
address is 7FC4 (bits 4-7).
Initial value for 7FC4 is undefined. Because of this, all
pages 00-0F
have the same boot code.
7FC0-7FCF: I/O ports.
8000-FFFE: disconnected.
[Slot 3-3]
Basically an Ascii 8KB megarom. Differences are:
0000-1FFF: extra 8KB bank. Switch address is probably
6400, readable at
7FF0.
2000-3FFF: extra 8KB bank. Switch address is probably
6C00, readable at
7FF1.
Standard switch addresses 6000/6800/7000/7800 are
readable
at
7FF2/7FF3/7FF4/7FF5.
7FF6,7FF7: always read 0.
7FF9: bit 2 (value = 4) activates ports 7FF0-7FF7.
In fact, extra banks are never used. Initial value for all
six banks is
A8 ( = page 28).
----------------------------------------------------------------------------------
Here is another information I asked to Martos.
----------------------------------------------------------------------------------
> Must I setup Slot 3-1's Modem utility
> (4000-7FFF) on emulator?
> Or the modem utility set-up at 4000-5FFF using its
own
> mapper automatically?
For the modem utility to run, it needs to be set at 4000-
5FFF with its
own special mapper type. This mapper may either point
to the same data
than slot 3-3's mapper, or use an identical copy of it in a
different
rom file (only the first 128K would be needed). Ram area
at 6000-7FFF
seems to be mapped too, but since internal software
never switches it, a
fixed ram area would do just fine. Nevertheless, the real
hindrance is
modem ports: modem utility won't work properly until
they are emulated.
> Panasonic Mapper (for FS-A1WX/WSX/ST/GT)
emulates well.
> But FS-A1FM can't be emulated.This is different from
> Panasonic mapper a little.
If I remember well, FS-A1WX/WSX/ST/GT mapper starts
with page 0 selected
in all banks. But FS-A1FM mapper starts with page 28H
selected, so it
needs a different type of Panasonic Mapper. Perhaps no
further change is
required for it to work.
> Also I wonder that Slot 3-3's 4000-BFFF is MSX Kanji
> Program Rom.
> Do you know it is mapped by its megarom mapper?
Yes. It is mapped at pages 2C-2F, which remain
selected there when
internal application is inactive.
> Must I make FS-A1FM's firmwareas twice's size
(mirror 1MB to 2MB)?
It's the safest way, since the program refers to pages A8-
AF, though in
fact pages 28-2F are selected. If mapper emulation
supports "wrapping"
(ignoring some bits of the page number), a single-size
image would be enough.
----------------------------------------------------------------------------------
I re-attach Slot 3-1 / Slot 3-3 for FS-A1FM dumped from
Original FS-A1FM.
*SLOT3-1.ROM
*SLOT3-3.ROM
*MODEMRAM.ROM (Modem Ram Area from Slot 3-3's
Bank 80-8F)
Logged In: YES
user_id=641511
Hi.
I found that openMSX doesn't emulate SRAM for FS-A1FM.
Maybe this is the reason why the menu of FS-A1FM
doesn't be appeared when I launch FS-A1FM.
According to Manual, SRAM size must be 8KB.
This is imformation of Firmware for FS-A1FM.
>Pages 80-FF are all the same as 00-7F except for this:
>80-83, 88-8B: disconnected (all bytes FF).
>84-87, 8C-8F: eight mirrors of one only 8KB r>am area.
>So 00-7F is enough for future emulation.
Logged In: YES
user_id=641511
Hi.
I found that openMSX doesn't emulate the switch to
exchange (internal Software Menu on/off).
The default is off.
Maybe, to launch the menu of FS-A1FM internal software,
FS-A1FM's switch must be emulated just like the switch of
FS-A1FX/WX/WSX/ST/GT.
But it is not same as FS-A1FX/WX/WSX/ST/GT's.
So, to emulate the switch of FS-A1FM, developer must
analysis the internal software menu on Slot 3-3 how to work
the switch
Maybe this is the reason why the menu of FS-A1FM
doesn't be appeared when I launch FS-A1FM.
According to Manual, SRAM size must be 8KB.
This is imformation of Firmware for FS-A1FM.
>Pages 80-FF are all the same as 00-7F except for this:
>80-83, 88-8B: disconnected (all bytes FF).
>84-87, 8C-8F: eight mirrors of one only 8KB r>am area.
>So 00-7F is enough for future emulation.
Logged In: YES
user_id=641511
Thanks to everyone, this is emulated on openMSX 0.3.4
(1.1137) perfectly.