ppeccin / WebMSX

WebMSX - Online MSX Emulator
https://webmsx.org
396 stars 70 forks source link

Wrong RAM allocation for Yamaha MSX2 machines with external BIOS #45

Closed Wierzbowsky closed 5 years ago

Wierzbowsky commented 5 years ago

The RAM is allocated in subslot 3.0 instead of 3.2 for the Yamaha MSX2 machines. There should be a way to specify the RAM location in the settings because a lot of software assumes that RAM is in 3.2 and won't work if RAM is in a different subslot. Example URL showing the wrong RAM subslot allocation:

https://webmsx.org/?BIOS_URL=http://www.podrezov.com/webmsx/yis805.rom&BIOSEXT_URL=http://www.podrezov.com/webmsx/yis805sub.rom&P=RAM128,NOMSXMUSIC&CARTRIDGE1_URL=http://www.podrezov.com/webmsx/TESTRAM.ROM

Default Yamaha YIS805 machine slot configuration: https://www.msx.org/wiki/Yamaha_YIS-805

Wierzbowsky commented 5 years ago

For example this Basic program sets its own font that is attached to its end. The font's slot is set to where the Basic program is supposed to be located on such machine - subslot 3.2 (RAM). As the RAM is set by the emulator into subslot 3.0, the font table gets initialized from the wrong subslot and the screen becomes a mess:

https://webmsx.org/?BIOS_URL=http://www.podrezov.com/webmsx/yis503.rom&BIOSEXT_URL=http://www.podrezov.com/webmsx/yis503sub.rom&P=RAM128,DISKA,NOMSXMUSIC&DISKA_URL=http://www.podrezov.com/webmsx/prog2.dsk&BASIC_ENTER=basic%20basic.alx

That's how it is supposed to look with the correct RAM allocation in slot 3.2: http://podrezov.com/webmsx/screen.jpg

ppeccin commented 5 years ago

Will be addressed in #43