ppeccin / WebMSX

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

Setting up a Custom MSX machine #43

Closed Wierzbowsky closed 4 years ago

Wierzbowsky commented 5 years ago

Webmsx has the possibility to run ROMs and DSK from Internet. Please add a feature to use specific MSX machine's ROMs that could be loaded from Internet as well. For example in the "Select Machine" add a dialog called "Custom MSX". From this dialog a user should be able to select the machine type (MSX1/2/2+), color system (PAL/NTSC), region (USA/EU/JAPAN) and the machine's BIOS file(s). Thanks.

Example: I would like to run the specific MSX2 machine - the Yamaha MSX2 YIS503IIIR to be able to see the Russian letters in the software that I use. There's no such possibility at the moment. But replacing the BIOS ROM and SUBROM that you use in a similar MSX2 configuration with the specific Russian-localized machine's BIOS and SUBROM files would solve the problem.

ppeccin commented 5 years ago

Not from the emulator User Interface.

But its actually possible if you set the correct parameters to override the base machine configuration (BIOS_URL and BIOSEXT_URL parameters). Set them pointing to your BIOS files.

You can also try to drag and drop the files, WebMSX will probably recognize them as BIOS files and install them automatically.

But this cannot be "saved". If you want, you could just create a Savestate to use the next time.

Paulo

Wierzbowsky commented 5 years ago

Thanks! Your emulator is awesome and super flexible!

I prepared the external BIOS files with patched keyboard layout for those Russian MSX computers YIS503 and YIS805 and with the help of the specially crafted URL I can now replicate almost the exact configuration for those machines.

"Almost" is because one of Russian MSXs also has the additional ROM that are located in subslot 3.0 and it is the 64kb Painter graphics editor that occupies the entire subslot. The program is started with the _PAINTER command from Basic, but I found no way to run it yet. I tried running it as a normal ROM, but it doesn't work. The machine's configuration is this one:

https://www.msx.org/wiki/Yamaha_YIS-805

The URL I am using to run this machine is:

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/yis805painter.rom&CARTRIDGE1_FORMAT=Normal

Is there a way to somehow run this ROM by placing it in the specific subslot? Thanks.

ppeccin commented 5 years ago

Hi Alexey!

I see you have created several issues about your custom machine setup. In fact, there is some confusion happening, and almost all of the issues are not individual problems. They are related to the way you are setting the machine.

So, I will close the other ones (just to avoid polluting the list), and we can discuss your configuration only in this issue here, ok?

I will address all the problems here, and I will try to explain a bit further how you can set such a custom machine, and what the limitations are.

Please stay tuned. I will add other responses to this issue with your answers! ;-)

Paulo

On Fri, May 10, 2019 at 8:45 AM Alexey Podrezov notifications@github.com wrote:

Thanks! Your emulator is awesome and super flexible!

I prepared the external BIOS files with patched keyboard layout for those Russian MSX computers YIS503 and YIS805 and with the help of the specially crafted URL I can now replicate almost the exact configuration for those machines.

"Almost" is because one of Russian MSXs also has the additional ROM that are located in subslot 3.0 and it is the 64kb Painter graphics editor that occupies the entire slot. It is called with _PAINTER command from Basic, but I found no way to run it yet. I tried running it as a normal ROM, but it doesn't work. The machine's configuration is this one:

https://www.msx.org/wiki/Yamaha_YIS-805

The URL I am using to run this machine is:

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/yis805painter.rom&CARTRIDGE1_FORMAT=Normal

Is there a way to somehow run this ROM by placing it in the specific subslot? Thanks.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/ppeccin/WebMSX/issues/43#issuecomment-491260344, or mute the thread https://github.com/notifications/unsubscribe-auth/AAFOLIDQRDLCOAZHZ5YV3NTPUVN6TANCNFSM4HHV5XXQ .

ppeccin commented 5 years ago

Ok, lets do it! ;-)

First, as you may know, WebMSX does NOT emulate real hardware models from real manufacturers. It emulates a generic MSX machine, implementing the standards, with its own virtual hardware. That includes it's own device drivers for things like the Floppy drives and Hard drive.

Now, about configuring a different machine. No problem doing that. If you set the right parameters, you can completely override the default machines and place new BIOS ROMs on whatever slot/subslot you want. But you have to be careful not to leave duplicated ROMs or device drivers.

That was the case with your "Wrong drive allocation...." issue. The problem is that you left the default Disk ROM active and added a SECOND Disk ROM inside your BIOS. That way the machine will recognize 4 Floppy Drivers, and whatever ROM comes first will be Drive A/B and the other will be Drive C/D.

But that won't work since the user interface and the emulator only have 2 virtual image Disk Drives (that you can load DSKs into). So, we must have only one Disk ROM active, or there will be drives that will end up inaccessible ("Disk offline").

The other issue related to this is that, as I explained above, not all Disk ROMs from all possible manufacturers and model variations will be recognized and work. So its best if we use the included Disk ROM, not the other one you were trying to add.

In your case, I would do the following setup:

If you REALLY have to move the RAM or use a different DiskROM, unfortunately support for this from the URL config parameters is limited... You will have to setup your machine through Javascript code.

If you can wait a little, we are releasing version 5.3 very soon. It will bring some evolutions in the configurations options that will make such setups easier from the URL.

I will use exactly the machine your are trying to achieve to test the new configurations options. As soon as the new release is out, I will send you the specific URL that will set up your machine!

Paulo

ppeccin commented 5 years ago

Good news! With the new more powerful URL parameters on the next release, I was able to recreate your machine with the exact slots placement. Working fine, including floppy drives and the built-in software "PAINTER".

You will probably have to customize the keyboard settings to match your host heys, as WebMSX will not know the specific bindings.

Release 5.3 coming soon!

Paulo

Wierzbowsky commented 5 years ago

Awesome, can't wait to get my hands on it! :)

TFHFony commented 5 years ago

This looks very promissing, as I can use this to fully emulate a Arabic machine as well. Paulo, can you confirm that a configuration like this: https://www.msx.org/wiki/Sakhr_AX-500#Slot_Map is also possible and will also work? @Wierzbowsky: Would it be possible for you to provide the .rom files for your Russian machine, so I can add these to file-hunter.com as well?

ppeccin commented 5 years ago

Yes, it will be possible, unless those additional ROMs use special Mappers or special hardware. I'm talking about the "ARABIC", "SWP" and "SAKHR" ROMs shown on the slot mappings. Can you send me those ROM files so I can test such a machine before release?

With the new feature of WebMSX (external Config files), you can make all the settings on a separate file and merge it with the default configuration. I will even be possible do redefine all the machines completely, including having just only one possible machine launched automatically. This can also create a separate universe (useng the new Environments feature) to isolate savestates and other preferences that would be incompatible with the default setup.

Peccin

On Wed, May 22, 2019 at 11:42 AM TFHFony notifications@github.com wrote:

This looks very promissing, as I can use this to fully emulate a Arabic machine as well. Paulo, can you confirm that a configuration like this: https://www.msx.org/wiki/Sakhr_AX-500#Slot_Map is also possible and will also work? @Wierzbowsky https://github.com/Wierzbowsky: Would it be possible for you to provide the .rom files for your Russian machine, so I can add these to file-hunter.com as well?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/ppeccin/WebMSX/issues/43?email_source=notifications&email_token=AAFOLIDQGTVXPQNR62JPJR3PWVLULA5CNFSM4HHV5XX2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODV7I4BA#issuecomment-494833156, or mute the thread https://github.com/notifications/unsubscribe-auth/AAFOLIAY2VOCXD34HSD4DXTPWVLULANCNFSM4HHV5XXQ .

TFHFony commented 5 years ago

Hoi Paolo,

No Problem. Please find attached the .ROM file set of the AX370, together with the .XML file from OpenMSX with the memory lay-out :) If you need any more information just let me know!

Kind Regards,

Arnaud

On Wed, May 22, 2019 at 8:23 PM ppeccin notifications@github.com wrote:

Yes, it will be possible, unless those additional ROMs use special Mappers or special hardware. I'm talking about the "ARABIC", "SWP" and "SAKHR" ROMs shown on the slot mappings. Can you send me those ROM files so I can test such a machine before release?

With the new feature of WebMSX (external Config files), you can make all the settings on a separate file and merge it with the default configuration. I will even be possible do redefine all the machines completely, including having just only one possible machine launched automatically. This can also create a separate universe (useng the new Environments feature) to isolate savestates and other preferences that would be incompatible with the default setup.

Peccin

On Wed, May 22, 2019 at 11:42 AM TFHFony notifications@github.com wrote:

This looks very promissing, as I can use this to fully emulate a Arabic machine as well. Paulo, can you confirm that a configuration like this: https://www.msx.org/wiki/Sakhr_AX-500#Slot_Map is also possible and will also work? @Wierzbowsky https://github.com/Wierzbowsky: Would it be possible for you to provide the .rom files for your Russian machine, so I can add these to file-hunter.com as well?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub < https://github.com/ppeccin/WebMSX/issues/43?email_source=notifications&email_token=AAFOLIDQGTVXPQNR62JPJR3PWVLULA5CNFSM4HHV5XX2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODV7I4BA#issuecomment-494833156 , or mute the thread < https://github.com/notifications/unsubscribe-auth/AAFOLIAY2VOCXD34HSD4DXTPWVLULANCNFSM4HHV5XXQ

.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/ppeccin/WebMSX/issues/43?email_source=notifications&email_token=AGWANZDRY2LLCKIA7G7LFVDPWWFSDA5CNFSM4HHV5XX2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODV74B6I#issuecomment-494911737, or mute the thread https://github.com/notifications/unsubscribe-auth/AGWANZBPDFT2WABVPCXWUPLPWWFSDANCNFSM4HHV5XXQ .

ppeccin commented 5 years ago

It seems the Main ROM is missing. Also, file names are different on the xml config file you included. And the slots layout is also different from the msx.org page you sent before.

Is all this really right? :-)

Paulo

On Wed, May 22, 2019 at 4:20 PM TFHFony notifications@github.com wrote:

Hoi Paolo,

No Problem. Please find attached the .ROM file set of the AX370, together with the .XML file from OpenMSX with the memory lay-out :) If you need any more information just let me know!

Kind Regards,

Arnaud

On Wed, May 22, 2019 at 8:23 PM ppeccin notifications@github.com wrote:

Yes, it will be possible, unless those additional ROMs use special Mappers or special hardware. I'm talking about the "ARABIC", "SWP" and "SAKHR" ROMs shown on the slot mappings. Can you send me those ROM files so I can test such a machine before release?

With the new feature of WebMSX (external Config files), you can make all the settings on a separate file and merge it with the default configuration. I will even be possible do redefine all the machines completely, including having just only one possible machine launched automatically. This can also create a separate universe (useng the new Environments feature) to isolate savestates and other preferences that would be incompatible with the default setup.

Peccin

On Wed, May 22, 2019 at 11:42 AM TFHFony notifications@github.com wrote:

This looks very promissing, as I can use this to fully emulate a Arabic machine as well. Paulo, can you confirm that a configuration like this: https://www.msx.org/wiki/Sakhr_AX-500#Slot_Map is also possible and will also work? @Wierzbowsky https://github.com/Wierzbowsky: Would it be possible for you to provide the .rom files for your Russian machine, so I can add these to file-hunter.com as well?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub <

https://github.com/ppeccin/WebMSX/issues/43?email_source=notifications&email_token=AAFOLIDQGTVXPQNR62JPJR3PWVLULA5CNFSM4HHV5XX2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODV7I4BA#issuecomment-494833156

, or mute the thread <

https://github.com/notifications/unsubscribe-auth/AAFOLIAY2VOCXD34HSD4DXTPWVLULANCNFSM4HHV5XXQ

.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub < https://github.com/ppeccin/WebMSX/issues/43?email_source=notifications&email_token=AGWANZDRY2LLCKIA7G7LFVDPWWFSDA5CNFSM4HHV5XX2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODV74B6I#issuecomment-494911737 , or mute the thread < https://github.com/notifications/unsubscribe-auth/AGWANZBPDFT2WABVPCXWUPLPWWFSDANCNFSM4HHV5XXQ

.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/ppeccin/WebMSX/issues/43?email_source=notifications&email_token=AAFOLIBPM6VXSYWRK5OUTITPWWMHBA5CNFSM4HHV5XX2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODWABIII#issuecomment-494933025, or mute the thread https://github.com/notifications/unsubscribe-auth/AAFOLIH4BKCCCZNFQCGSY5LPWWMHBANCNFSM4HHV5XXQ .

TFHFony commented 5 years ago

Hi Paulo,

These .ROMS come from this package: http://www.msxarchive.nl/pub/msx/emulator/openMSX/systemroms.zip I think they are correct, but that OpenMSX sorts them out based on CRC or SHA values instead of their names. And as for the main ROM: This machine is based on the Sanyo Wavy PHC-70FD: https://www.msx.org/wiki/Sakhr_AX-370 so I guess it's using that .ROM as it's main rom.

Kind Regards,

Arnaud / TFH

On Wed, May 22, 2019 at 11:46 PM ppeccin notifications@github.com wrote:

It seems the Main ROM is missing. Also, file names are different on the xml config file you included. And the slots layout is also different from the msx.org page you sent before.

Is all this really right? :-)

Paulo

On Wed, May 22, 2019 at 4:20 PM TFHFony notifications@github.com wrote:

Hoi Paolo,

No Problem. Please find attached the .ROM file set of the AX370, together with the .XML file from OpenMSX with the memory lay-out :) If you need any more information just let me know!

Kind Regards,

Arnaud

On Wed, May 22, 2019 at 8:23 PM ppeccin notifications@github.com wrote:

Yes, it will be possible, unless those additional ROMs use special Mappers or special hardware. I'm talking about the "ARABIC", "SWP" and "SAKHR" ROMs shown on the slot mappings. Can you send me those ROM files so I can test such a machine before release?

With the new feature of WebMSX (external Config files), you can make all the settings on a separate file and merge it with the default configuration. I will even be possible do redefine all the machines completely, including having just only one possible machine launched automatically. This can also create a separate universe (useng the new Environments feature) to isolate savestates and other preferences that would be incompatible with the default setup.

Peccin

On Wed, May 22, 2019 at 11:42 AM TFHFony notifications@github.com wrote:

This looks very promissing, as I can use this to fully emulate a Arabic machine as well. Paulo, can you confirm that a configuration like this: https://www.msx.org/wiki/Sakhr_AX-500#Slot_Map is also possible and will also work? @Wierzbowsky https://github.com/Wierzbowsky: Would it be possible for you to provide the .rom files for your Russian machine, so I can add these to file-hunter.com as well?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub <

https://github.com/ppeccin/WebMSX/issues/43?email_source=notifications&email_token=AAFOLIDQGTVXPQNR62JPJR3PWVLULA5CNFSM4HHV5XX2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODV7I4BA#issuecomment-494833156

, or mute the thread <

https://github.com/notifications/unsubscribe-auth/AAFOLIAY2VOCXD34HSD4DXTPWVLULANCNFSM4HHV5XXQ

.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub <

https://github.com/ppeccin/WebMSX/issues/43?email_source=notifications&email_token=AGWANZDRY2LLCKIA7G7LFVDPWWFSDA5CNFSM4HHV5XX2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODV74B6I#issuecomment-494911737

, or mute the thread <

https://github.com/notifications/unsubscribe-auth/AGWANZBPDFT2WABVPCXWUPLPWWFSDANCNFSM4HHV5XXQ

.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub < https://github.com/ppeccin/WebMSX/issues/43?email_source=notifications&email_token=AAFOLIBPM6VXSYWRK5OUTITPWWMHBA5CNFSM4HHV5XX2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODWABIII#issuecomment-494933025 , or mute the thread < https://github.com/notifications/unsubscribe-auth/AAFOLIH4BKCCCZNFQCGSY5LPWWMHBANCNFSM4HHV5XXQ

.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/ppeccin/WebMSX/issues/43?email_source=notifications&email_token=AGWANZAPPQS2Z4IBF6PN7S3PWW5KLA5CNFSM4HHV5XX2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODWAOGDI#issuecomment-494985997, or mute the thread https://github.com/notifications/unsubscribe-auth/AGWANZHERVBUKOYRKM2HERTPWW5KLANCNFSM4HHV5XXQ .

ppeccin commented 5 years ago

Hum... I see... But how does it know that this machine is based on another one since there is no information about that in the xml config? Also why reference a file name on the config xml if the file does not exist or has a different name?

Very confusing.

But at least now I know where to look for the files. If I find them, it will work

Paulo

TFHFony commented 5 years ago

Hi Paulo,

To be honest: no idea... It's something you would have to check with the OpenMSX team :-)

Kind regards,

Arnaud

Op do 23 mei 2019 22:35 schreef ppeccin notifications@github.com:

Hum... I see... But how does it know that this machine is based on another one since there is no information about that in the xml config? Also why reference a file name on the config xml if the file does not exist or has a different name?

Very confusing.

But at least now I know where to look for the files. If I find them, it will work

Paulo

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/ppeccin/WebMSX/issues/43?email_source=notifications&email_token=AGWANZG6WT6FLGYRXFVE22LPW35YVA5CNFSM4HHV5XX2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODWDNGCA#issuecomment-495375112, or mute the thread https://github.com/notifications/unsubscribe-auth/AGWANZH4VIADGJMAC5SHO6LPW35YVANCNFSM4HHV5XXQ .

ppeccin commented 5 years ago

No problem! Having the ROM files and the slot positions for each one is enough to set the machine up in WebMSX.

Paulo

On Thu, May 23, 2019 at 6:06 PM TFHFony notifications@github.com wrote:

Hi Paulo,

To be honest: no idea... It's something you would have to check with the OpenMSX team :-)

Kind regards,

Arnaud

Op do 23 mei 2019 22:35 schreef ppeccin notifications@github.com:

Hum... I see... But how does it know that this machine is based on another one since there is no information about that in the xml config? Also why reference a file name on the config xml if the file does not exist or has a different name?

Very confusing.

But at least now I know where to look for the files. If I find them, it will work

Paulo

— You are receiving this because you commented. Reply to this email directly, view it on GitHub < https://github.com/ppeccin/WebMSX/issues/43?email_source=notifications&email_token=AGWANZG6WT6FLGYRXFVE22LPW35YVA5CNFSM4HHV5XX2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODWDNGCA#issuecomment-495375112 , or mute the thread < https://github.com/notifications/unsubscribe-auth/AGWANZH4VIADGJMAC5SHO6LPW35YVANCNFSM4HHV5XXQ

.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/ppeccin/WebMSX/issues/43?email_source=notifications&email_token=AAFOLIHZIPYHLPTGSB6HXQLPW4BMFA5CNFSM4HHV5XX2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODWDPS3I#issuecomment-495384941, or mute the thread https://github.com/notifications/unsubscribe-auth/AAFOLIEFYEGXM37SJ5BDVP3PW4BMFANCNFSM4HHV5XXQ .

Wierzbowsky commented 5 years ago

@Wierzbowsky: Would it be possible for you to provide the .rom files for your Russian machine, so I can add these to file-hunter.com as well?

http://www.podrezov.com/webmsx/yis503.rom http://www.podrezov.com/webmsx/yis503sub.rom http://www.podrezov.com/webmsx/yis805.rom http://www.podrezov.com/webmsx/yis805painter.rom http://www.podrezov.com/webmsx/yis805sub.rom

These are not original ROMs, those were modified to have a proper keyboard layout in webmsx.

TFHFony commented 5 years ago

Thanks! :)

On Sun, May 26, 2019 at 8:52 PM Alexey Podrezov notifications@github.com wrote:

@Wierzbowsky https://github.com/Wierzbowsky: Would it be possible for you to provide the .rom files for your Russian machine, so I can add these to file-hunter.com as well?

http://www.podrezov.com/webmsx/yis503.rom http://www.podrezov.com/webmsx/yis503sub.rom http://www.podrezov.com/webmsx/yis805.rom http://www.podrezov.com/webmsx/yis805painter.rom http://www.podrezov.com/webmsx/yis805sub.rom

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/ppeccin/WebMSX/issues/43?email_source=notifications&email_token=AGWANZFDHYMRVT75D5EFE2TPXLL75A5CNFSM4HHV5XX2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODWILKDA#issuecomment-496022796, or mute the thread https://github.com/notifications/unsubscribe-auth/AGWANZFG25HE4UOAAJ54JJLPXLL75ANCNFSM4HHV5XXQ .

ppeccin commented 5 years ago

@Wierzbowsky, @TFHFony

Guys, for those of you interested in setting up custom machines, take a look at this example. This custom configuration defines 2 machines, both Yamaha YIS-805/R2 and Al Alamiah AX-370:

https://webmsx.org/?config_url=custom/machines.json

You can switch machines from the menu normally.

You can download the config file (machines.json) and check how it's done. It is a configuration file that gets merged with the default parameters.

This file in particular clears the machine definitions and sets 2 new machines. It also changes some of the Extensions settings to adapt them to the new machines slots map, also removing some of them since the machines have them always active.

It can get tricky if you want to make all possible Extensions and variations still valid, but it can be done. Also, you may have to configure a custom keyboard mapping, since WebMSX does not know all keyboard layouts.

If you have any doubts, please contact me!

Paulo

TFHFony commented 5 years ago

Hi Paulo,

First of all congratulations on your new release. You have done some great work on WebMSX... again. I'm going to fiddle arround with the machine settings to see how I can integrate this into the Arabic section of File-Hunter.com. But again: Great work you have done here! Thanks!

TFH

On Sat, Jun 1, 2019 at 5:33 AM ppeccin notifications@github.com wrote:

Guys, for those of you interested in setting up custom machines, take a look at this example. This custom configuration defines 2 machines, both Yamaha YIS-805/R2 and Al Alamiah AX-370:

https://webmsx.org/?config_url=custom/machines.json

You can switch machines from the menu normally.

You can download the config file (machines.json) and check how its done. It is a configuration file that gets merged with the default parameters.

This file in particular clears the machine definitions and sets 2 new machines. It also changes some of the Extensions settings to adapt then to the new machines slots map, also removing some of them since the machines have them always active.

It can get tricky if you want to make all possible Extensions and variations still valid, but it can be done. Also, you may have to configure a custom keyboard mapping, since WebMSX does not know all keyboard layouts, only International and Japanese.

If you have any doubts, please contact me!

Paulo

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/ppeccin/WebMSX/issues/43?email_source=notifications&email_token=AGWANZGAO2AMUWRJQLJF5V3PYHUZHA5CNFSM4HHV5XX2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODWWXXHI#issuecomment-497908637, or mute the thread https://github.com/notifications/unsubscribe-auth/AGWANZAWEWN3IHDNN4LJHTLPYHUZHANCNFSM4HHV5XXQ .

TFHFony commented 5 years ago

Hi Paulo,

I've added the following into the .html files of my site:

WMSX.CONFIG_URL = "machines/machines.json";

But it doesn't seem to load the .json file. Also, if I check the logs from my webserver, there is also no attempt to load the file. Could it be that this function doesn't work (yet). If I look at my html I see this:

WMSX.CARTRIDGE1_URL = "games/Arabic.zip"; WMSX.CARTRIDGE2_URL = "games/ABC-Arabic.zip"; WMSX.CONFIG_URL = "machines/machines.json";

The upper two get loaded fine, but the json file isn't. It's not even requested if I check my logs.

Kind Regards,

Arnaud

On Sat, Jun 1, 2019 at 11:27 AM Arnaud de Klerk arnaud@file-hunter.com wrote:

Hi Paulo,

First of all congratulations on your new release. You have done some great work on WebMSX... again. I'm going to fiddle arround with the machine settings to see how I can integrate this into the Arabic section of File-Hunter.com. But again: Great work you have done here! Thanks!

TFH

On Sat, Jun 1, 2019 at 5:33 AM ppeccin notifications@github.com wrote:

Guys, for those of you interested in setting up custom machines, take a look at this example. This custom configuration defines 2 machines, both Yamaha YIS-805/R2 and Al Alamiah AX-370:

https://webmsx.org/?config_url=custom/machines.json

You can switch machines from the menu normally.

You can download the config file (machines.json) and check how its done. It is a configuration file that gets merged with the default parameters.

This file in particular clears the machine definitions and sets 2 new machines. It also changes some of the Extensions settings to adapt then to the new machines slots map, also removing some of them since the machines have them always active.

It can get tricky if you want to make all possible Extensions and variations still valid, but it can be done. Also, you may have to configure a custom keyboard mapping, since WebMSX does not know all keyboard layouts, only International and Japanese.

If you have any doubts, please contact me!

Paulo

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/ppeccin/WebMSX/issues/43?email_source=notifications&email_token=AGWANZGAO2AMUWRJQLJF5V3PYHUZHA5CNFSM4HHV5XX2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODWWXXHI#issuecomment-497908637, or mute the thread https://github.com/notifications/unsubscribe-auth/AGWANZAWEWN3IHDNN4LJHTLPYHUZHANCNFSM4HHV5XXQ .

TFHFony commented 5 years ago

I've made a testing area so you can see what I've done;

https://www.file-hunter.com/Test/

You can also select a game on the left side of the page and when you take a look at the source of the page you will see the configuration arguments starting line 225. The WMSX.CONFIG_URL is there, but it just doesn't seem to load? Have I messed someting up? All .roms and the json files are in the Test/machines dir.

I've also tried to edit wmsx.js with the following;

CONFIG_URL: "machines/machines.json", // Configuration file to merge. Processed before URL parameters

But also to no avail.

mr-GreyWolf commented 5 years ago

How to use DISK_FILES and BASIC_RUN for Custom MSX machine, for example on Yamaha YIS-805/R2 ?

For this URL: https://webmsx.org/?SLOT0P_URL=custom/yis805r2bios.rom?DISK_FILES=http://www.jeroenderwort.nl/wp-content/uploads/jermsx/BREAKOUT.BAS&BASIC_RUN=BREAKOUT.BAS Command FILES out error: Disk offline

But this URL is work: http://webmsx.org/?DISK_FILES=http://www.jeroenderwort.nl/wp-content/uploads/jermsx/BREAKOUT.BAS&BASIC_RUN=BREAKOUT.BAS

ppeccin commented 5 years ago

@mr-GreyWolf Your URL has two "?", the second one should be a "&".

Also, if you want to setup a custom machine correctly, you need more than only changing the main BIOS. You have also the SubROM and other details. Please look at the exemple config file I linked some posts above: https://webmsx.org/?config_url=custom/machines.json

ppeccin commented 5 years ago

@TFHFony yes, you're right, it was a bug. There is already a fix in Release 5.3.3 Please update and try again!

Paulo

mr-GreyWolf commented 5 years ago

@ppeccin, thank you!

Your URL has two "?", the second one should be a "&".

Thank you!

Also, if you want to setup a custom machine correctly, you need more than only changing the main BIOS. You have also the SubROM and other details. Please look at the exemple config file I linked some posts above: https://webmsx.org/?config_url=custom/machines.json

Thanks, a already watched this file (https://webmsx.org/custom/machines.json).

mr-GreyWolf commented 5 years ago

When using the symbol : (colon) in my URL: https://webmsx.org/?SLOT0P_URL=custom/yis805r2bios.rom&DISK_FILES=https://wiki.yola.ru/_media/msx:msx2scrn.bas&BASIC_RUN=msx2scrn.bas file name msx:msx2scrn.bas is transformed to msx_ms~1.bas

This URL: https://webmsx.org/?SLOT0P_URL=custom/yis805r2bios.rom&DISK_FILES=https://wiki.yola.ru/_media/msx:msx2scrn.bas&BASIC_RUN=msx_ms~1.bas is work fine, but it is not a good solution.

TFHFony commented 5 years ago

Hi Paulo,

OK, thanks! I'll take a look :) And maybe I should change my nick from TFH (The File-Hunter) to TBH (The Bug-Hunter) ;-) Thanks again!

On Sun, Jun 2, 2019 at 4:27 AM ppeccin notifications@github.com wrote:

@TFHFony https://github.com/TFHFony yes, you're right, it was a bug. There is already a fix in Release 5.3.3 https://github.com/ppeccin/WebMSX/releases/tag/v5.3.3 Please update and try again!

Paulo

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/ppeccin/WebMSX/issues/43?email_source=notifications&email_token=AGWANZDQIAL2SATUKGW6LALPYMVZHA5CNFSM4HHV5XX2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODWXMJZI#issuecomment-497992933, or mute the thread https://github.com/notifications/unsubscribe-auth/AGWANZEOCPX3UK6JL55NBPDPYMVZHANCNFSM4HHV5XXQ .

TFHFony commented 5 years ago

It works fine now: https://www.file-hunter.com/Arabic/ Great Work & Thanks! :) :) One small request though: A way to set NTSC/PAC through a command. Right now the Arab machines seem to get 60Hz automatically, while they should run @ 50Hz (PAL).

ppeccin commented 5 years ago

When using the symbol : (colon) in my URL: https://webmsx.org/?SLOT0P_URL=custom/yis805r2bios.rom&DISK_FILES=https://wiki.yola.ru/_media/msx:msx2scrn.bas&BASIC_RUN=msx2scrn.bas file name msx:msx2scrn.bas is transformed to msx_ms~1.bas

You can't use ":" as part of a filename. Its not a valid character on the MSX and on several file systems. The loading mechanism will try to create a valid 8-character + 3-character filename for the MSX, based on the file name passed on the parameter. Please use only valid characters, not ":".

ppeccin commented 5 years ago

One small request though: A way to set NTSC/PAC through a command. Right now the Arab machines seem to get 60Hz automatically, while they should run @ 50Hz (PAL).

If it starts in 60Hz its the BIOS that is asking the VDP to use this freq. Its not WebMSX forcing anything.

For me, the AX-370 starts at 50Hz while the YIS805/R2 starts at 60Hz. Each BIOS sets its desired frequency.

ppeccin commented 5 years ago

The AX-370 is Arabic and the YIS805/R2 is Russian, right?

ppeccin commented 5 years ago

@TFHFony Oh, don't worry, the AX-370 is starting at 50Hz. The OSD you see on the screen when it loads is wrong, its shown before the machine is set so its still at the default 60Hz but its changed just after that, but the "old" OSD is already showing.

I'll fix that. Thanks!

mr-GreyWolf commented 5 years ago

@ppeccin ,

When using the symbol : (colon) in my URL: https://webmsx.org/?SLOT0P_URL=custom/yis805r2bios.rom&DISK_FILES=https://wiki.yola.ru/_media/msx:msx2scrn.bas&BASIC_RUN=msx2scrn.bas file name msx:msx2scrn.bas is transformed to msx_ms~1.bas

You can't use ":" as part of a filename. Its not a valid character on the MSX and on several file systems. The loading mechanism will try to create a valid 8-character + 3-character filename for the MSX, based on the file name passed on the parameter. Please use only valid characters, not ":".

The symbol : (colon) is not part of file name, this is part of path to file in URL. In DokuWiki this symbol used to separate namespaces (folders). This symbol must be interpreted as / (slash).

I solved the problem by changing the parameter that allows the use of a / (slash) as namespaces (folders) separator in DokuWiki (useslash=1) .

This question is closed!

ppeccin commented 5 years ago

Well, I'll have to make a modification for this to work, on a new release. I'll inform you when its done! Meanwhile, if you can avoid that....

Paulo

On Mon, Jun 3, 2019 at 3:09 AM mr-GreyWolf notifications@github.com wrote:

@ppeccin https://github.com/ppeccin ,

When using the symbol : (colon) in my URL: https://webmsx.org/?SLOT0P_URL=custom/yis805r2bios.rom&DISK_FILES=https://wiki.yola.ru/_media/msx:msx2scrn.bas&BASIC_RUN=msx2scrn.bas file name msx:msx2scrn.bas is transformed to msx_ms~1.bas

You can't use ":" as part of a filename. Its not a valid character on the MSX and on several file systems. The loading mechanism will try to create a valid 8-character + 3-character filename for the MSX, based on the file name passed on the parameter. Please use only valid characters, not ":".

The symbol : (colon) is not part of file name, this is part of path to file in URL. In DokuWiki this symbol used to separate namespaces (folders).

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/ppeccin/WebMSX/issues/43?email_source=notifications&email_token=AAFOLIHL6FHFYGGCT2NNHXLPYSYQRA5CNFSM4HHV5XX2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODWYMR7Y#issuecomment-498125055, or mute the thread https://github.com/notifications/unsubscribe-auth/AAFOLIGEO7HEEUQ62NMHSFDPYSYQRANCNFSM4HHV5XXQ .

mr-GreyWolf commented 5 years ago

@ppeccin ,

Well, I'll have to make a modification for this to work, on a new release. I'll inform you when its done! Meanwhile, if you can avoid that....

If you make a modification - thanks. I ready for testing.

mr-GreyWolf commented 5 years ago

@ppeccin, How to create new keyboard layout settings? I have create keyboard layout for YIS-503IIR / YIS-805-128R2.

ppeccin commented 5 years ago

@ppeccin, How to create new keyboard layout settings? I have create keyboard layout for YIS-503IIR / YIS-805-128R2.

You have to use the Settings Screen, on the Keyboard section to change the keys you need. There is no easy way to create a custom keyboard mapping from the configuration file yet, only from the UI.

mr-GreyWolf commented 5 years ago

@ppeccin, How to create new keyboard layout settings? I have create keyboard layout for YIS-503IIR / YIS-805-128R2.

You have to use the Settings Screen, on the Keyboard section to change the keys you need. There is no easy way to create a custom keyboard mapping from the configuration file yet, only from the UI.

Until I ask you to make the keyboard layout customizable through the passed parameters (json). I'm talking about the description of the format for storing layouts in your project.

I am editing a big Russian book about MSX BSASIC (written in the USSR) it contains very many examples, and I want children to be easy to work with in WebMSX.

mr-GreyWolf commented 5 years ago

@ppeccin , рlease add a parameter for the button CODE/Kana. Dedfault values (R-Alt and PdDown) are not very good.

ppeccin commented 5 years ago

keyboard layout customizable through the passed parameters (json).

Yes, I'm designing a way to make that possible. It is a bit complicated now, though.

рlease add a parameter for the button CODE/Kana. Default values (R-Alt and PdDown) are not very good.

Why are they not good? R-Alt is even at the same position on the PC keyboard. Any suggestions of any key that is not already in use?

mr-GreyWolf commented 5 years ago

@ppeccin ,

рlease add a parameter for the button CODE/Kana. Default values (R-Alt and PdDown) are not very good.

Why are they not good? R-Alt is even at the same position on the PC keyboard. Any suggestions of any key that is not already in use?

R-Alt and L-Alt show/hide Menu Bar in FireFox.

ppeccin commented 5 years ago

Then you have PgDown... Any suggestions?

On Wed, Jun 5, 2019, 13:23 mr-GreyWolf notifications@github.com wrote:

@ppeccin https://github.com/ppeccin ,

рlease add a parameter for the button CODE/Kana. Default values (R-Alt and PdDown) are not very good.

Why are they not good? R-Alt is even at the same position on the PC keyboard. Any suggestions of any key that is not already in use?

R-Alt and L-Alt display Menu Bar if FireFox

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/ppeccin/WebMSX/issues/43?email_source=notifications&email_token=AAFOLIHOWNJCFKKYJ5CSB63PY7SALA5CNFSM4HHV5XX2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODXAIFTQ#issuecomment-499155662, or mute the thread https://github.com/notifications/unsubscribe-auth/AAFOLIAX5YCJXCSGXJZMYIDPY7SALANCNFSM4HHV5XXQ .

mr-GreyWolf commented 5 years ago

Then you have PgDown... Any suggestions?

@ppeccin , рlease add a parameter for customize the button CODE/Kana.

ppeccin commented 5 years ago

Any Key suggestions? ☺️

On Wed, Jun 5, 2019, 13:34 mr-GreyWolf notifications@github.com wrote:

Then you have PgDown... Any suggestions?

@ppeccin https://github.com/ppeccin , рlease add a parameter for customize the button CODE/Kana.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/ppeccin/WebMSX/issues/43?email_source=notifications&email_token=AAFOLIFH5SO2BCZ6FFOHWVDPY7TKXA5CNFSM4HHV5XX2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODXAJINI#issuecomment-499160117, or mute the thread https://github.com/notifications/unsubscribe-auth/AAFOLIBXNYQJCZZYQ6BCBETPY7TKXANCNFSM4HHV5XXQ .

ppeccin commented 5 years ago

@mr-GreyWolf

The symbol : (colon) is not part of file name, this is part of path to file in URL.

The new updated Release 5.3.4 now supports "/", "\", "?", ":" as path separators.

mr-GreyWolf commented 5 years ago

@ppeccin

The symbol : (colon) is not part of file name, this is part of path to file in URL.

The new updated Release 5.3.4 now supports "/", "\", "?", ":" as path separators.

Thank you! This URL https://webmsx.org/?SLOT0P_URL=custom/yis805r2bios.rom&DISK_FILES=https://wiki.yola.ru/_media/msx:msx2scrn.bas&BASIC_RUN=msx2scrn.bas is work!

mr-GreyWolf commented 5 years ago

@ppeccin, Feature request. Please add support Russian font, keyboard (include clipboard copy/paste functions)

I am ready to help!

Information: https://www.msx.org/wiki/MSX_font#Russian

BASIC program for out to screen codes and symbols: https://wiki.yola.ru/wmsx/?DISK_FILES=/_media/msx/msx2scrn.bas&BASIC_RUN=msx2scrn.bas

My project with conversion table: https://github.com/mr-GreyWolf/MSX-Russian-text-to-UTF-8-converter

ppeccin commented 5 years ago

Please add support Russian font, keyboard (include clipboard copy/paste functions)

I don't understand that one. The fonts should be supported by the machine BIOS you are using, right? The emulator does not know anything about fonts.

Keyboard layout mapping is a different thing, in the current version you will have to create a custom mapping based on any of the built-in ones (line "en-US").

ppeccin commented 5 years ago

But you can help me in the following way:

This way I can include a built-in Russian keyboard layout like we have for other languages.

But this is for the "International" mode, not for special Russian chars... As I understand, to type Russian chars you have to enter a special mode on the MSX, right?

Can you do that? Later I tell you how you can send me the mapping data, as WebMSX does not have feature for exporting keyboard layouts yet. (its planned).

mr-GreyWolf commented 5 years ago

@ppeccin ,

I don't understand that one. The fonts should be supported by the machine BIOS you are using, right? The emulator does not know anything about fonts.

Yes, Russian symbols is displayed normal! (this is demonstrated by my program on BASIC)

Keyboard layout mapping is a different thing, in the current version you will have to create a custom mapping based on any of the built-in ones (line "en-US").

To change the keyboard layout is used CODE key it works fine too!

The problem is in mapping some (for example - and =) standard (Latin) symbols in standard en-US layout with custom (Russian) BIOS, and I want to fix it. The problem is solved (BIOS fixed)! Thanks to the @Wierzbowsky.

The next problem is that WebMSX does not correctly encode (in copy/paste operation) characters in ranges:

Wierzbowsky commented 5 years ago

Good job! It works almost perfectly with all Russian MSX machines. I've made the custom config for 3 known Russian machines:

https://webmsx.org/?CONFIG_URL=http://www.podrezov.com/webmsx/rusyamahas.json

Everything works except the CP/M on YIS503III. The YIS503SUB.ROM contains CP/M ROM at address #4000. But it is not activated with the _CPM command. Could be a bug in the emulator?