Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

MSXAdvance GBA

From GameBrew
MSXAdvance
Msxadvance02.png
General
AuthorFluBBa (Fredrik Olsson)
TypeComputer
Version0.4
LicenseMixed
Last Updated2009/04/08
Links
Download
Website
Source


MSXAdvance is a MSX1 emulator for the Gameboy Advance. It was originally a quick and dirty hack of his ColecoVision emulator Cologne GBA since both systems have a Z80 CPU and the same VDP.

Features

  • A lot of games can actually be played.

Installation

Note: You must supply a BIOS to be able to run games. A freely available Bios can be found at here.

Run MSXAdvance.exe to add roms to the emulator.

Use the Bios tick box to add a BIOS.

User guide

Settings

Controller (settings for controller):

  • Controller - 1P=Joystick1, 2P=Joystick2, Cursor=Keyboard cursor keys.
  • Remapping - Use joypad to select key and press A to confirm.

Display (settings for the display):

  • Unscaled mode - L & R buttons scroll the screen up and down.
  • Scaling modes:
    • Hard - Every 6th scanline is skipped.
    • Normal - Every 5th & 6th scanline is blended equally.
    • Soft - All lines are blended differently (experimental).
    • Scaled modes - Press L+SELECT to change which lines are skipped/blended.

Other (misc settings):

  • Speed modes - L+START switches between throttled/unthrottled/slomo mode.
  • Sleep - START+SELECT wakes up from sleep mode (activated from menu or 5/10/30 minutes of inactivity).

Advanced

EWRAM speed:

  • This changes the waitstate on EWRAM between 2 and 1.
  • This can probably damage your GBA and definitly uses more power, around 10% speedgain. Use at your own risk.

Link transfer:

  • Send a MSX game to another GBA.
  • The other GBA must be in multiboot receive mode (no cartridge inserted, powered on and waiting with the "GAME BOY" logo displayed).
  • Only one game can be sent at a time, and only if it's small enough to send (approx. 128kB or less).
  • A game can only be sent to 1 (one) Gameboy at a time, disconnect all other gameboys during transfer.
  • Note: Use an original Nintendo cable.

PogoShell:

  • Add an empty file and a BIOS.
  • Copy msx.gba to the plugin folder, rename it to msxadvance.mb (or compress it to .mbz).
  • Then add wither one of the following line to the pogo.cfg file:
    • rom 1 msxadvance.mb 2
    • rom 1 msxadvance.mbz 2

Controls

Menu:

Up/Down - Select game

A/B - Start selected game

In game:

L+R - Open the menu

A - Choose

B or L+R - Cancel

MSX 1:

D-Pad - Joystick

A/B - Fire

L - 0

R - 1

Start - 2

Select - 3

R+Start - Bring up Keyboard

Screenshots

msxadvance3.png msxadvance4.png

msxadvance5.png msxadvance6.png

Known issues

Missing:

  • Not all keys are mapped to the GBA.
  • Correct sprite collision and overflow.
  • Screen mode 3.
  • Savestates.

Bugs:

  • Screen mode 1 is not correct.
  • The sound is not great.

Changelog

V0.4 2009/04/08

  • Fixed timing of HALT instruction.
  • Optimised all Z80 memory reads, one instruction and cycle shorter.
  • Optimised DEC opcodes.
  • Optimised SBC A/HL opcode.
  • Optimised CPI, CPD, CPIR & CPDR opcodes.

V0.3 2007/12/03

  • Added 64kB of RAM instead of 32kB.
  • Fixed initialization of horizontal position of keyboard.
  • Fixed initializing of all CPU regs on reset.
  • Fixed pushing and poping of AF register (BC Quest for Tires II).
  • Optimised some of the SBC instructions.
  • Optimised DAA opcode.
  • Optimised one of the SRA opcodes.
  • Optimised tile rendering.

V0.2 2006/04/30

  • Added a virtual keyboard.
  • Added better keymapping.
  • Added SCC sound emulation.
  • Added 32kB RAM instead of 16kB.
  • Fixed Multiboot transfer.
  • Fixed blending when used as plugin.
  • Better update timing in PAL mode.
  • Better game mapper detection.

V0.1 2006/03/30

  • Initial release.

V0.0 2006/03/07

  • Started Coding.

Credits

Huge thanks to Loopy for the incredible PocketNES and the builder.

Thanks to:

  • Reesy for help with the Z80 emu core.
  • Some MAME people for the AY38910 info.
  • Sean Young for the TMS9918 info.
  • Charles MacDonald for more VDP info.

External links

Advertising: