20 Years of BrMSX

20 Years of BrMSX

by ricbit on 18-08-2017, 03:48
Topic: Emulation
Languages:

This month, the iconic emulator BrMSX reached its 20 years anniversary since the first release. To celebrate this event, author Ricbit has released a complete repository of the source code. After digging into backups, sources from all versions were recreated as git commits into GitHub. Most original commit messages were recovered from old RCS archives, as well as timestamps for each commit.

Relevant link: BrMSX Repository on GitHub

Comments (6)

By Grauw

Ascended (10713)

Grauw's picture

18-08-2017, 08:50

That's great ricbit!

By Manuel

Ascended (19316)

Manuel's picture

18-08-2017, 10:10

Very cool! Was the last development indeed 17 years ago?

RicBit, are there still features or accuracy things not present in other MSX emulators?

By tfh

Prophet (3318)

tfh's picture

18-08-2017, 10:21

One of the better early emulators. Great combination of speed and accurarcy (for the time)!

By ricbit

Champion (438)

ricbit's picture

18-08-2017, 18:40

@Manual I briefly wrote a version for windows, but yes, BrMSX for DOS stopped in year 2000.

About accuracy/features, most of what I did is already implemented on openmsx. From the top of my head I can only remember two things, which are mapping the caps lock led to the pc keyboard led (but openmsx shows the led in the hud so it's not really a missing feature), and multiplayer gaming (brmsx could connect two computers over a null modem serial cable to play multiplayer salamander - but this should also be possible with some tcl scripting).

I'm not sure about psg noise dampening emulation , but if openmsx is rendering the psg at full resolution and applying a filter later, then it's covered. Here's the writeup on that -> http://en.ricbit.com/2012/06/most-difficult-bug.html

By Manuel

Ascended (19316)

Manuel's picture

18-08-2017, 18:47

Indeed, we emulate all chips at native frequency and later use a resampler to output at the target frequency (default 44.1kHz).

Network play is the oldest feature request that is still open in openMSX. As we got full determinism after implementing the replay stuff (for TAS and whatnot), it should not be too hard anymore.

Can you explain a bit how you implemented it? How did you handle any lag? And sync? (Or was BrMSX also already fully deterministic?)

By ricbit

Champion (438)

ricbit's picture

18-08-2017, 20:19

The multiplayer on brmsx was single-screen, only one computer was displaying the screen. The second computer was used only as a terminal to capture input events.

This was done in the age of "lan parties" where it was common to bring your computer to friend and connect in a local network.