**Note: Because the version 2.06 has no manual, you should see the manual for version 1.155 it is approximately the same of the instructions, any difference between them, it will be mentioned in the files of the Brmsx like "changes.txt" file. Here is the manual…

By: Thaer Amin

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

BrMSX
the Brazilian MSX Emulator
by Ricardo Bittencourt

"Begin at the beginning", the
King said, "and go on till you
come to the end: then stop."

(Lewis Carroll)

BrMSX is a MSX 1 emulator for DOS.

In these days, every kid knows what an emulator is. What is an MSX, that's another history.

MSX is the best 8 bit computer ever created. The first version of the MSX uses a Zilog Z80 running at 3.57 MHz, and offers true parallelism, with three slave processors. The Texas TMS9928 controls the video and generate the interrupts. The GI AY-3-8912A controls the sound and joysticks. The Intel 8255 controls the remaining hardware, like the tape, the memory manager, and the keyboard.

The MSX was produced in a lot of countries. It was a success in Brazil, Japan, Spain, the Netherlands, France, Italy, the list go on. Still today, many users think the MSX is better than the average PC. And I'm one of them.

The MSX has a lot of charisma. It was the more powerful computer of his time, influencing a generation of future engineers and computer scientists. With the MSX, almost everyone was a programmer. It was so easy, everyone could develop software for it. This is the one thing the PC can never achieve.

And of course, there are the games! The MSX has lots of great games, produced by Konami, Compile, Namco, Falcom, lots of arcade conversions, addictive games that you can never forget!

Unfortunately, the MSX is not produced anymore. The old users still have their machines, but new users could never taste the joy of MSX.

Until now. Until BrMSX.

With BrMSX you can use your PC to feel a sample of the MSX greatness. You can play the MSX games, you can program its BASIC, you can use its debugger to learn assembly. You can join the MSX community.

But, before you immerse yourself in an unforgettable MSX experience, it's better to learn more about this emulator. Read this manual from the beginning until the end: then stop and start BrMSX.

I'm trying to make emulator as accurate and as fast as possible. If you find any bug, or if you want to make any comment, send an e-mail to me. My address is [email protected]. You may want to check the official home page from time to time, as new versions are posted very frequently. The address is http://www.lsi.usp.br/~ricardo/brmsx.htm

Of course, you may become so addicted to MSX, that you may want to buy a real machine. There are user groups that can sell you a second-hand machine. In the BrMSX page you'll find the home pages of many active brazilian groups.

Have fun!

Current version: 1.155


Requirements

BrMSX requires a 386 processor or better, since it is written in 100% 32-bit assembly. The slowest computer I have access is a 486sx25, and BrMSX runs at full framerate in this one. Some games run at full speed on a 386dx40.

BrMSX requires 2Mb of RAM memory, 4Mb if you want to use disk emulation.

BrMSX can adapt itself to Pentium processors and MMX processors to take advantage of theirs specials features.

A VGA with 256kb of VRAM is required. To enable the TV emulation, you'll need a Super VGA with a VESA 2.0 driver.

Sound emulation require a Sound Blaster with auto-initialized DMA at 45455 Hz or 100% compatible sound board. If you don't have a Sound Blaster, you can enable the sound through the PC Speaker.

Multiplayer game requires two computers equipped with UARTs capable of 57600 bauds.

BrMSX is designed to run under DOS 6.22 . It will work under Windows 3.11 and Windows 95, but will not work under Windows NT. Some options cannot be used under Windows.


Features

BrMSX is modeled after the brazilian Expert 1.0. It has lots of nice features:

Very accurate Z80 emulation. BrMSX is the only MSX emulator to pass in all ZEXALL tests for Z80 compliance. BrMSX emulates all the undocumented opcodes and all the undocumented flags. BrMSX also emulate undocumented features of the VDP and the PSG.

Port-based disk emulation, BrMSX is the only MSX emulator that can run brazilian software like Super Disk Copy and Chave Mestra.

Emulation of the brazilian memory expansion MegaRAM, BrMSX is the only MSX emulator that can fully run ExecROM.

Wave based sound emulation, BrMSX is the only MSX emulator that can play PCM samples in game like Super Laydock, Fuzzball and Oh Shit!

LED emulation, BrMSX is the only MSX emulator to properly handle the Caps Lock LED in the keyboard.

TV emulation and Green Monitor emulation, BrMSX is the only MSX emulator that handles VESA 2 resolutions with scanlines and low-pass filters.

Multiplayer games, BrMSX is the only MSX emulator to support two players at the same time in different computers.

Fast emulation, BrMSX is the fastest MSX emulator of all.

A great debugger with step-by-step execution and capabilities to read all the hardware information.

Many other nice features like a GUI, save and load machine state at any time, full support to korean roms, and more!


Command Line Options

BrMSX can be invoked from the MS-DOS command line using the following syntax:

brmsx [CartA.ROM] [CartB.ROM] [options]

Everything is optional, except that brmsx in the beginning. If no parameters are passed, BrMSX will start a standard emulation of the BIOS and the BASIC.

The cartridges can be simple 16kb ROMs, starting at 0000h, 4000h or 8000h, BASIC 16kb cartridges starting at 8000h, 32kb cartridges starting at 4000h, or MegaROM cartridges (eight mappers are supported).

If you don't pass any cartridge in command line, a MegaRAM with 256kb will be inserted in slot 1. The normal RAM of BrMSX is Memory Mapped with 128kb.

You can select two cartridges at the same time, this is useful for resident programs, like the Mega-Assembler, and also for cartridge combos. More about this in the Cartridge Combo section.

There are lots of command line options. All of them start with a "-" and must be used in lower-case. Some of them require a parameter, that must be placed right after the option, separated by a space.

The options supported will be presented in functional blocks:

CPU options

-normal

This option select the normal speed of an Expert MSX. The Z80 runs at 3.57 MHz and interrupts arrive at 60 Hz. This option is enabled by default.

-fast

In this mode, the interrupts still arrive at 60 Hz, but the Z80 run as fast as your host computer can emulate. In my AMD-K6 233MHz, this means the Z80 run at a speed of 65 MHz (waay faster than a Turbo-R). This mode is useful to make compilations in MSX and to accelerate the BASIC. Sound is disabled in this mode.

-turbo

In this mode, everything runs in top speed. However, the proportion of opcodes emulated per virtual interrupt is equal to a normal-speed MSX. This mode is useful to skip intros of games and, of course, to show how fast BrMSX is.

-ifreq <n>

You can change the interrupt frequency with this option. The default value is 60 (NTSC/PAL-M). European users should try "-ifreq 50". This option can also be used to control the speed of the games.

Memory options

-roma <mapper>

This option select the kind of MegaROM Mapper used by the cartridge inserted in slot A. Supported MegaROM Mappers are #0, #2, #3, #4, #5, #6, #7 and #8, BrMSX will try to autodetect the Mapper if you don't use this option. Know more about this in the MegaROM Mappers section. If a game has internal battery-backed SRAM, then this memory will be saved to disk with extension ".SRM".

-romb <mapper>

This option is the same as above, but select the Mapper for the slot B.

-ramslot <slot>

This option select the slot of RAM. Valid slots are 2 and 3. The original Expert has RAM in slot 2, so this is the default value. You need to switch the RAM to slot 3 in two cases: first, if you want to faithfully emulate the HotBit, seco, if you have a gwith bad programmed loader, and it require the RAM in slot 3. Read more about it in the Troubleshooting section.

-korean

Use this option to enable the memory layout of Korean MSX machines. You will need a set of Korean ROMs: a Korean MSX.ROM and a Korean MSXHAN.ROM. This last ROM will be loaded in the page 2 (h) of slot 0.

-megaram <n>

Select the size of the MegaRAM. Valid values are 0=128kb, 1=256kb, 2=512kb, 3=1Mb and 4=2Mb. Default value is 256kb.

-mapper <n>

Select the size of the Memory Mapper. Valid values are 0=64kb, 1=128kb, 2=256kb, 3=512kb, 4=1Mb, 5=2Mb and 6=4Mb. Default value is 128kb.

Video options

-mmx

This option select a faster video pipeline. It uses the SIMD instructions of the MMX processors to achieve a very impressive speed. It will work under Windows 95, but not in Windows 3.1.

-res <n>

This option select the resolution used by BrMSX. Valid values are 0 (320x200), 1 (256x200), 2 (512x256) and 3 (256x192). Resolution 0 is the default and will work in any VGA video board. Resolution 1 uses a tweaked VGA mode to enable a wide screen, but it may not work in all monitors. Resolution 2 requires a Super VGA with VESA 2.0 driver, but enable the awesome TV emulation, with scanlines and low-pass filter. Resolution 3 also uses a tweaked VGA mode, but it's more compatible than resolution 1 and have square pixels.

-vsync

This option enable the vertical retrace syncronization. This can make the emulation slower, but some games require it to have a smooth scroll (like Rally-X), or to achieve smooth palette changes (like Penguin Adventure).

-green

Use this to enable the green monitor emulator. Everything will become shades of green. Used together with TV emulation, this is a perfect emulation of Gradiente's original monitor.

-frame <n>

This option adjust the frame skipping. The default value of 1 means all frames are rendered. If BrMSX is slow for you, you can increase this number, but the default value has full speed in a 486sx25 (and even on some fast 386dx!!)

-allspr

This option disables the 5th sprite ocultation. This is useful to reduce flickering in games like Zanac and Nemesis, but it will produce graphic errors in games like Antartic Adventure and Parodius.

-nosprcol

This option disables the sprite collision detection. This is useful to make some games easier (like Abu Simbel's Profanation) and it can make emulation faster in slower machines.

-nocache

This option disables the video cache. This will make emulation a lot slow, but it can be used in case of video cache failure. Read the Troubleshooting section for more details.

-cpugraph

This option enables the CPU graph, an indication of how many time your computer is spending in each step of emulation. The first bar is the time spent on Z80 emulation. The second is the time spent in background rendering, and the third is the sprite renderer. The fourth bar measures the time spent copying data from the main RAM to the RAM in your video board. The fifth bar is the overhead of the graph itself. Use this option to profile the emulator. This option will only work in machines with RDTSC, like Pentium processors.

-psggraph

This option enables the PSG graph, a very nice bar graph showing amplitudes for each sound channel. You'll see three bars for the PSG and five more if the SCC is enabled.

Sound options

-nosound

Disable the sound engine. Useful if the Sound Blaster detection is locking your computer or if you're playing Nemesis at the office.

-scc

Enable the SCC emulation. This is not enabled by default, since SCC emulation is still not perfect. Works only with Mappers #0 and #2.

-sr <n>

Change the sample rate of the output. The default value is 45455 (CD quality), but you may want to decrease this value in slower machines, or if you don't have a 100% Sound Blaster compatible soundboard.

-fmpac

Enable the FM-PAC (YM2413) emulation. Emulation of FM-PAC is very limited at the moment and it will sound very bad. To really enable FM-PAC you also need to use the original FMPAC.ROM (64kb) as cartridge 1.

-speaker

Enable sound through the PC Speaker. The speaker can reproduce all the three melody channels of PSG at the same time, by using a special temporal multiplex algorithm.

-speaq <n>

Change the quality of PC speaker sound. The value controls how fast the channels are multiplexed. The default is 1, and you don't want to increase this number too much, since the quality begins to decrease at a point. I like "-speaq 2", but you may try other values. The range is 1 to 9.

I/O options

-diska <f.dsk>

Enable the disk-drive emulation and select f.dsk as the drive image. Disk images must be in .DSK format, and can be four different types: 40 tracks / 1 side (180kb), 40 tracks / 2 sides (360 kb), 80 tracks / 1 side (360kb) and the common 80 tracks / 2 sides (720 kb). Multi-disk images created with COPY /B are not supported yet.

-disklow

Disk emulation through the I/O ports D0h-D4h. This option is enabled by default, and will only work with brazilian port-based DISK.ROM. Many brazilian programs require this option, like Super Disk Copy, Hello, Chave Mestra and the disk version of Robocop.

-diskhigh

Disk emulation through BDOS patches. This option works with most DISK.ROM, but it is more restricted than the above one. Only .DSK with 720kb can be used, and the Drive LED will not be emulated.

-tape <t.cas>

Enable the tape emulation through BIOS patches and select t.cas as the tape image. Emulation of tape is restricted on this version, the tape image must not be greater than 64kb.

-joy

Enable the joystick emulation. The joystick will be conected in port A (in most cases this means as player one). If you want to change to port B, go to the section Debugger to learn how to do it. The joystick is calibrated automatically in the start-up, so don't touch it before the emulator starts.

-joysens <n>

Adjust the joystick sensivity. Valid values are from 0 to 7, and the default value is 3. Users of joypads should try this option to get more precision.

-fakejoy

Map the keyboard into the joystick port A, with this option you can play joystick-only games (like Gauntlet) on the keyboard. The mapping for this mode is Cursor Keys= Directional, Left Control= Button 1, Left Alt= Button 2.

-autofire

This option enables the automatic fire (automatically press the spacebar). This is great for shoot'n'up games like Gall Force.

-autorun

This option is similar to the above, but it press the left and right keys. Use this in sports games like Decathlon and Hyper Sports. Press the left and right keys at the same time to run.

-autospeed <n>

Adjust the speed for "-autofire" and "-autorun". The range is from 0 (fastest) to 9 (slowest). The default value is 5.

Multiplayer options

-server

Select the computer as the server. Only the monitor connected to the server will display the MSX screen. Always use the fastest computer as the server.

-client

Select the computer as the client. The keyboard of this computer will act as the MSX josytick B. The speed of this computer doesn't matter, you can use a slow 386 to be a BrMSX client.

-com <port>

Select the COM serial port in which you connected the serial cable. This option is required in both sides. Read more about multiplayer games in the Multiplayer section.

Control options

-nomouse

Disable the mouse driver detection. Use this in case of mouse driver conflict. Without a mouse driver you won't be able to use the GUI.

-novesa

Disable the VESA driver detection. Use this in case of video driver conflict. Without VESA 2.0, you won't be able to use TV emulation.

-noled

Disable the LED emulation. Use this if your keyboard seems to miss keypresses.

-nopentium

Disable the Pentium extensions and CPU autodetect. Use this if the autodetection is failing and causing the machine to hang. Without a Pentium you won't be able to use the CPU graph.

-noenter

Disable the enter pressing at start. Useful to front-end makers.

-help

Show a small help screen.


Inside the emulation

The MSX has some keys not present in the PC. The key mapping is presented in table below:

MSX key

PC key

LGRA (GRAPH)

Left ALT

RGRA (CODE/KANA)

Right ALT

STOP

Page Up

SELECT

Page Down

HOME/CLS

Home

'`^~

`~

Ç

End

The LEDs in the keyboard are also emulated:

MSX LED

PC LED

Caps Lock

Caps Lock

Kana

Num Lock

Drive in use

Scroll Lock

Some keys have special meanings:

F6

Rewind tape

F9

Save a screenshot to BRMSX.PCX

F10

Stop emulation and enter in the debugger

F12

Stop emulation and call the GUI

NumLock

"Fast forward" key, enable TURBO mode while pressed

+ (keypad)

Increase the volume

- (keypad)

Decrease the volume

The GUI can also be called with a press in the left mouse button.


Graphic User Interface

The GUI is very easy to use (after all, that's the idea!)

The menu is presented in the left of the screen, and you must use the mouse and its left button to select the options. Click anywhere out of a window to return to emulation.

The options of the GUI are:

Reset

Reset the computer. This reset is a soft-reset, since it does not erase the contents of the RAM or the VRAM.

Turn OFF

Turn off the computer. This is like a reset, but erases all RAM and VRAM contents. You must click on Turn ON to return to emulation.

Load ROM

This option loads a new ROM into the slot A. The ROMs must be in the same directory of BrMSX.

CPU Graph

This option toggles the CPU Graph on and off.

PSG Graph

This option toggles the PSG Graph on and off.

Save state

This option saves the machine state in file called BRMSX.STA. This is great for finishing games!

Load state

This option loads a previously saved state.

Quit

This option quit BrMSX and return to MS-DOS.


Debugger

By pressing ESC in the intro, or F10 in the emulation, you enter the Fudebug (Full Debugger). I will not explain the many things presented in the screen. If you don't know what's on the screen, then the debugger is not for you.

The Fudebug is a very powerful tool to aid in MSX programming. The commands always have one letter, and some of them may take arguments. Be careful when entering arguments, because there is no backspace. Values entered must be always in hexadecimal.

The commands supported are:

S

Exit the debugger and restart emulation.

Q

Exit the debugger and quits to MS-DOS.

F7

Step into a Z80 instruction. This option execute only one Z80 opcode.

F8

Step over a Z80 instruction. Use this option to skip CALL and RST instructions.

U dddd

Disassemble from address dddd.

D dddd

Dump memory from address dddd.

Page Up

Scroll the dump region up.

Page Down

Scroll the dump region down.

E dddd xx

Edit the byte of address dddd, overwriting it with the value xx.

B dddd

Restart emulation with a breakpoint in address dddd.

F2

Save the machine state to file BRMSX.STA

F3

Load the machine state from file BRMSX.STA

1

Select the debug screen 1

2

Select the debug screen 2

0

View the MSX screen

M

Select the emulation mode (normal, fast, turbo)

Y

Toggle the VSync on and off.

V

Switch between the resolutions (320x200, 256x200, 512x384, 256x192)

J

Switch the joystick emulation between Port-A, Port-B and none.

C

Calibrate the joystick again.

F1

Show the help screen.


Multiplayer

With BrMSX, you can connect two computers to play multiplayer games, using a serial cable. The first computer controls the keyboard of MSX (player 1), and the keyboard of the second computer acts as the joystick B to the MSX (player 2).

The key mapping for the second player is:

Player 2 key

Meaning

Right

JOY-B Right

Left

JOY-B Left

Up

JOY-B Up

Down

JOY-B Down

Spacebar

JOY-B Button 1

M

JOY-B Button 2

To start a multiplayer session, you must type in the fastest computer "brmsx -server -com 2", replacing of course "2" with the number of your COM port.

After starting the server, type in the client "brmsx -client -com 1" , again, don't forget to check the COM port. This will start the emulation in multiplayer mode. Only the server monitor will display the MSX screen.

To exit the multiplayer session, finish the client emulator first!! The wrong order will lock both computers.

Some games with option to two players are: Konami's Soccer, Salamander, Konami's Ping Pong, Super Laydock, Yie Ar Kung Fu 2, Warroid, and lot more that I don't remember.


Cartridge Combo

BrMSX has support to two cartridges at the same time. This is useful to programmers (you can load Mega-Assembler and XBasic at the same time), and also is useful for game players.

Many games will have secret options when connected together with other cartridge. Some examples are:

Nemesis in slot A and Twin Bee in slot B: your ship will turn into a Bee.

Nemesis 2 in slot A and Penguin Adventure in slot B: your ship will turn into a Blue Penguin.

Nemesis 2 in slot A and Q-Bert in slot B: you can press "F1" and type the secret codes LARS18TH and METALION.

Salamander in slot A and Nemesis 2 in slot B: a secret stage will appear after the three planets, you can defeat Venom and see the good ending.


MegaROM Mappers

BrMSX supports almost all MegaROM Mappers used in MSX 1 games. If BrMSX finds a game in its internal database, then the MegaROM Mapper will be autodetected. Otherwise, it will be used the Mapper #0.

The Mappers supported are:

#0: Generic MegaROM with SCC

Games: Animal Land, Super Laydock, Jagur, Vaxol, Mirai, Donkey Kong, Digital Devil Story, The Fairy Land Story, Final Zone, 3 Kingdoms, 1942.

Address

Block

0000h-1FFFh

0000h-1FFFh

2000h-3FFFh

2000h-3FFFh

4000h-5FFFh

4000h-5FFFh

6000h-7FFFh

6000h-7FFFh

8000h-9FFFh

8000h-9FFFh

A000h-BFFFh

A000h-BFFFh

C000h-DFFFh

C000h-DFFFh

E000h-FFFFh

E000h-FFFFh

9800h-9FFFh

SCC

#2: Konami with SCC

Games: Nemesis 2, Nemesis 3, Salamander, King's Valley 2, F1 Spirit, Parodius.

Address

Block

5000h-57FFh

4000h-5FFFh

7000h-77FFh

6000h-7FFFh

9000h-97FFh

8000h-9FFFh

B000h-B7FFh

A000h-BFFFh

9800h-9FFFh

SCC

#3: Konami without SCC

Games: Nemesis, The Maze of Galious, Shalom, Penguin Adventure.

Address

Block

<none>

4000h-5FFFh

6000h

6000h-7FFFh

8000h

8000h-9FFFh

A000h

A000h-BFFFh

#4: ASCII 8kb

Games: Valis - The Fantasm Soldier, Hydlide 3, Fantasy Zone, Dragon Slayer 4.

Address

Block

6000h-67FFh

4000h-5FFFh

6800h-6FFFh

6000h-7FFFh

7000h-77FFh

8000h-9FFFh

7800h-7FFFh

A000h-BFFFh

#5: ASCII 16kb

Games: Gall Force, Eggerland Mystery 2, Golvellius.

Address

Block

6000h-6FFFh

4000h-7FFFh

7000h-7FFFh

8000h-BFFFh

#6: ASCII 8kb with 8kb SRAM

Games: Xanadu.

Address

Block

6000h-67FFh

4000h-5FFFh

6800h-6FFFh

6000h-7FFFh

7000h-77FFh

8000h-9FFFh

7800h-7FFFh

A000h-BFFFh

block number=20h

SRAM

#7: ASCII 16kb with 2kb SRAM

Games: Hydlide 2.

Address

Block

6000h-6FFFh

4000h-7FFFh

7000h-7FFFh

8000h-BFFFh

block number=10h

SRAM

#8: Original Panasonic FM-PAC with 8kb SRAM

Games: FM-PAC cartridge.

Address

Block

7FF7h

4000h-7FFFh


Memory layout

brmsx

MSX.ROM

MegaRAM

RAM

 

MSX.ROM

MegaRAM

RAM

 

 

MegaRAM

RAM

 

 

MegaRAM

RAM

 

brmsx cartA.rom cartB.rom

MSX.ROM

Cart A

RAM

Cart B

MSX.ROM

Cart A

RAM

Cart B

 

Cart A

RAM

Cart B

 

Cart A

RAM

Cart B

brmsx -ramslot 3 cartA.rom cartB.rom

MSX.ROM

Cart A

Cart B

RAM

MSX.ROM

Cart A

Cart B

RAM

 

Cart A

Cart B

RAM

 

Cart A

Cart B

RAM

brmsx -korean cartA.rom cartB.rom

MSX.ROM

Cart A

RAM

Cart B

MSX.ROM

Cart A

RAM

Cart B

MSXHAN.ROM

Cart A

RAM

Cart B

 

Cart A

RAM

Cart B

brmsx -diska msxdos.dsk cartA.rom

MSX.ROM

Cart A

RAM

 

MSX.ROM

Cart A

RAM

DISK.ROM

 

Cart A

RAM

 

 

Cart A

RAM

 


Troubleshooting

Answers to some common questions:

Q: How do I run these .ROM games?
A: Copy the .ROM to the same directory of BrMSX and use the built-in GUI. You can also type "brmsx game.rom" if you're smart enough to use the DOS prompt.

Q: How do I run these .DSK games?
A: Just type "brmsx -diska game.dsk". From now on, everything will be like a real MSX with a disk-drive.

Q: How do I run these .BAS and .BIN games?
A: You must create a .DSK file first. I recommend you to use the DSKtool, an utility to .DSK management. You can find it at
http://www.lsi.usp.br/~ricardo/msx.htm and it comes with its own manual. After creating a .DSK file, just use the commands RUN"GAME.BAS" or BLOAD"GAME.BIN",R .

Q: I'm trying to run this game "Terramex" and it doesn't work!
A: This is not a BrMSX bug, you actually found a bug in the game loader. Try to run the gameagain, but this time start BrMSX with the option "-ramslot 3". Some games that require it are Terramex, Oh Shit and Camelot Warriors.

Q: This large game "Gall Force" is not working!
A: If the game is greater than 32kb, then BrMSX couldn't guess the right MegaROM Mapper for this games. Try to use the "-roma" option with all available values, until you find one that works.

Q: I'm trying to play "Zanac" but the ship is flickering! Sure you made a mistake since I tried the same ROM in another emulator and it doesn't flicker.
A: This flickering will also appear on a real MSX, it's a feature of the VDP called "5th sprite occultation". Some games require it to display correct graphics, like Parodius, Goonies and Antartic Adventure. You can disable this feature with the command line option "-fakespr". If this flickering does not appear in your other emulators, then either they don't emulate this feature or it is disabled by default.

Q: I can't hear any sound!
A: BrMSX only supports the Sound Blaster and 100% compatible sound cards. Some older models, like the Sound Blaster Pro, are not supported. BrMSX also don't have sound with the ESS audiodrive. Gravis Ultrasound users should use the Sound Blaster emulator MEGAEM. Give me enough time and I'll write drivers for all these cards. Meanwhile, you can try the PC Speaker sound or the 22222Hz version (brmsx22.exe).

Q: Why "Bubble Bobble" and "Metal Gear" don't work in BrMSX?
A: These are MSX-2 games. BrMSX only emulate the MSX-1 by now. ***

Q: When BrMSX will have MSX2 emulation?
A: Just after I finish MSX1 emulation. There is no point in adding MSX2 emulation if the MSX1 is not fully implemented! There are many MSX1 features still not implemented in any emulator (mainly the undocumented ones), and to achieve perfect emulation, I must add all of them. ***

***Note: The two Questions above for the brmsx v1.155 these problems where fixed in v2.06, to Run METAL GEAR 2 or Bubble Bobble just Add the extension"-MSX2" in somewhere in the command line… So don’t worry!!!

Q: Where can I find this ZEX test? Does it have versions for 6502?
A: The ZEX (Z80 Exerciser) is a program to test Z80 compliance. It can be found in the YAZE package. YAZE stands for Yet Another Z80 Emulator and can be found in CP/M sites. The original version of ZEX run in MSX-DOS, but I made a .ROM version before adding disk support. If you're interested in this version, mail me. ZEX was only made for Z80, and it's not available for any other processor.

Q: What must I do run "Metal Gear 2" in fMSX?
A: Please don't send me questions about fMSX, CJS or any other MSX emulator. I spend too much time answering e-mails, and this time could be better used programming BrMSX. If you have troubles with any other emulator, contact Marcelo Eiras through his page
http://www.geocities.com/~msxsite (Portuguese), or contact TFH through his page http://www.casema.net/~tfh (English) .

Q: Can I be a beta-tester?
A: You already are a beta-tester, since all my releases are beta-versions.


Credits

Some people believe I make BrMSX alone. That's not true. I really program alone, but BrMSX is much more than a simple program. Many people helped me contributing with sample source code, data books, tests in real machines, bug reporting and just with incentive.

First of all, I want to thank Arnon Cardoso. It was his idea to start a brazilian MSX emulator. You people should try his great Java MSX emulator. Someday the PC standard will die, and BrMSX will not be useful anymore. But a Java emulator has the potential to be used forever.

Many thanks to Sean Young. He gave me lots of insights in the early stages of BrMSX (but of course the most important of all was "sometimes you must STOP and THINK" :). The source code of Virtual MSX and his tech pages were great resources.

I can't forget Isaac Santaolalla Solorzano. Sometimes I think he spend more time debugging my emulator than his one! He is the one guy that really have fun with MSX. Try his emulator MSKISS, it has lots of features not found in BrMSX, like native GUS support and MegaROM Mapper auto-detection.

Adriano Cunha was a great inspiration. He HATES emulators, and I have to make BrMSX become a perfect emulator to make he use it. It's not impossible after all.

Many thanks to my brother, Raul Tabajara. He made all the graphics in BrMSX, from the GUI design to the logo. He is currently searching for a job as a graphic designer for games, you can see more of his work in http://www.lsi.usp.br/~ricardo/raul.htm, and to contact him you can just send an e-mail to me at [email protected].

And of course I have to thanks Thomas Pytel. Without his library PMODE, I would never learn protected mode assembly, and BrMSX would never be so fast.

If I would thank everyone who helped me, this file would become too large to download. But can't end this manual without mentioning the help of Marco Antonio Simon Dal Poz, Enrique Sanchez, Alex Wulms, Hans Guijt, Eduardo Toledo Santos, KSH, Edison Pires, Insano Delavy, Marcellus Pereira, Marat Fayzullin, Marcel de Kogel, Ademir Carchano, Pierluigi Piazzi, Cyberknight, Walter Marujo, Werner & Weber Kai, Shawn Hargreaves, Mark Feldman, Giovanni Fudeba, Alex Sato, Zoop, Erik Dias, FRS'9X, Ricardo Juracy, Italo Valério, Daniel Caetano, Vanessa Sabino, Daniel Vicentini, Rogério Cobra Bello, Tiago Tresoldi, Miki Watanabe, Luciano Menezes, Marcelo Eiras, Saez Frank, Ulrich Doewich, Mudkicker, TFH, Omar Mosqueda, Leonard Silva de Oliveira, Jaime Magno Flaviano Galle, Neckfreak of Bandwagon, Peter Latimer, Alwin Henseler and all the people who sent me e-mails with bug reports and comments. Thank you all!

If you want to translate this manual to Japanese, Korean, Dutch, Italian, or any other language spoken by MSX lovers, please contact me.

"I can't believe THAT!", said
Alice. "Can't you?", the Queen
said, in a pitying tone. "Why,
sometimes I've believed as many
as SIX impossible things before
breakfast!"

(Lewis Carroll)

Hosted by www.Geocities.ws

1