Fabrizio Caruso Posted October 7 Share Posted October 7 All my homebrewed games are in EA5 format (multiple files per game). I would like to run then on a browser and make them available to everyone by providing links to js99er with a link to a .bin e.g., https://js99er.net/#/?cartUrl=http://tigameshelf.net/Files/Emu/bnp_8.bin js99er online emulator can read cartridge files in .bin format (whatever it is). Is there a tool to do the conversion from EA5 to a cartridge format that js99er can digest? Ideally I would need a scriptable tool that I can include and invoke automatically in my build-chain. Is there such a scriptable tool? Otherwise I will make do with a manual tool. Quote Link to comment Share on other sites More sharing options...
+jedimatt42 Posted October 7 Share Posted October 7 There are 2 GUI tools that will pack a set of EA5 files into a module with a ROM loader. Fred Kaal's 'module creator' over at hexbus.com/ti99geek. The second is classic99, under the debug tools there is a make module menu item, exact location and docs are in the PDF. For scriptable solutions, you can build a ROM loader, and DD the parts together into a .bin. understand the sample code over here http://www.stuartconner.me.uk/ti/ti.htm#bank_switching 1 Quote Link to comment Share on other sites More sharing options...
Asmusr Posted October 7 Share Posted October 7 (edited) I use a Java tool that can be invoked like this: java -jar ea5tocart.jar bin\pinball "PINBALL 99" Where pinball is the name of the first E/A#5 file, which must be in TIFILES format. ea5tocart.jar Edited October 7 by Asmusr 3 1 Quote Link to comment Share on other sites More sharing options...
+MarkB Posted October 10 Share Posted October 10 There are some utilities in the elfutils directory of the GCC installation. These are elf2cart, elf2ea5 and ea5split. I didn't write these - I inherited them from somewhere. But it should be possible to write a simple standalone command line tool to convert ea5 to cart by reading the source for these utils. If you do create a ea5 to cart util it could be a useful addition to these tools to include with gcc. Quote Link to comment Share on other sites More sharing options...
Fabrizio Caruso Posted October 15 Author Share Posted October 15 (edited) @Asmusr thanks! The image works fine with Classic99 but not with JS99er (when loaded though the URL cartUrl parameter). Edited October 15 by Fabrizio Caruso Quote Link to comment Share on other sites More sharing options...
Asmusr Posted October 15 Share Posted October 15 1 hour ago, Fabrizio Caruso said: @Asmusr thanks! The image works fine with Classic99 but not with JS99er. Please post an example of an image that doesn't work in JS99er. Quote Link to comment Share on other sites More sharing options...
Fabrizio Caruso Posted October 15 Author Share Posted October 15 (edited) @Asmusr, sorry I need to correct what I wrote or make it clearer. The image may work with JS99er. It just does not work if I try to load it through the URL parameter cartUrl (https://js99er.net/#/?cartUrl=), e.g., https://js99er.net/#/?cartUrl=https://github.com/Fabrizio-Caruso/CROSS-LIB/releases/download/trexBETA/XTREX18.bin or https://js99er.net/#/?cartUrl=http://github.com/Fabrizio-Caruso/CROSS-LIB/releases/download/trexBETA/XTREX18.bin By the way, I am using ea5tocart in my framework. I would like to include it. Who should I thank for the tool other than you for pointing it out? Are you the author? Edited October 15 by Fabrizio Caruso Quote Link to comment Share on other sites More sharing options...
Fabrizio Caruso Posted October 15 Author Share Posted October 15 (edited) @Asmusr It is a 32K cartridge which assumes there are 32K of available RAM. I suppose it loads everything into RAM at startup and runs everything from RAM. I don't even know how this is possible with bank switching. Edited October 16 by Fabrizio Caruso Quote Link to comment Share on other sites More sharing options...
RickyDean Posted October 15 Share Posted October 15 @Fabrizio Caruso it works with the Load cart function, of course I don't know about the URL capability. Quote Link to comment Share on other sites More sharing options...
Fabrizio Caruso Posted October 15 Author Share Posted October 15 (edited) @RickyDean Yes, indeed it works. I may not remember well. @Asmusrhave you just fixed the load something? Load cart works for me. Loading with cartUrl does not (yet). Edited October 15 by Fabrizio Caruso 1 Quote Link to comment Share on other sites More sharing options...
Fabrizio Caruso Posted October 15 Author Share Posted October 15 @RickyDeanBy the way, I will re-release all my 9 games soon. They now work well and have been improved. I will make them available in both EA5 and .bin (cartridge) format. 3 Quote Link to comment Share on other sites More sharing options...
TheMole Posted October 16 Share Posted October 16 (edited) The load from URL feature doesn't work for me on any binary. Might it have something to do with cross-site scripting limitations (security)? The Chrome dev tools console tells me it loads the image from the url, but the emulator itself doesn't pick it up. Edited October 16 by TheMole edited for spelling Quote Link to comment Share on other sites More sharing options...
Fabrizio Caruso Posted October 16 Author Share Posted October 16 (edited) @TheMole I don't know but I know that I use other JS emulators that can load (the very same) games for other systems through a url parameter: https://nippur72.github.io/vic20-emu/?joy=1&load=http://github.com/Fabrizio-Caruso/CROSS-LIB/releases/download/trexBETA/Xtrex_vic20_exp_16k.prg https://webmsx.org/?cartridge1_url=http://github.com/Fabrizio-Caruso/CROSS-LIB/releases/download/trexBETA/Xtrex_msx_16k.rom https://nippur72.github.io/laser500emu/?load=http://github.com/Fabrizio-Caruso/CROSS-LIB/releases/download/trexBETA/Xtrex_laser500_keyboard.bin and some others. So it must be possible. What does not work with these other JS emulators is https but I can use http instead of https and this is enough to make them load and run the binaries. Edited October 16 by Fabrizio Caruso Quote Link to comment Share on other sites More sharing options...
Asmusr Posted October 16 Share Posted October 16 It doesn't work because https://github.com/Fabrizio-Caruso/CROSS-LIB/releases/download/trexBETA/XTREX18.bin returns a redirect (302) to a longer url instead of directly returning the file. The cartUrl feature only works with direct downloads. 1 Quote Link to comment Share on other sites More sharing options...
Asmusr Posted October 16 Share Posted October 16 16 hours ago, Fabrizio Caruso said: Are you the author? Yes it's my tool. Quote Link to comment Share on other sites More sharing options...
Fabrizio Caruso Posted October 16 Author Share Posted October 16 @Asmusr Thanks for the reply. Could please support redirect or at least GitHub repos? If not, how can I get the right url to use with your emulator? Quote Link to comment Share on other sites More sharing options...
Asmusr Posted October 16 Share Posted October 16 5 hours ago, TheMole said: The load from URL feature doesn't work for me on any binary. Might it have something to do with cross-site scripting limitations (security)? The Chrome dev tools console tells me it loads the image from the url, but the emulator itself doesn't pick it up. I'm using a server side proxy to download the file in order to bypass the CORS limitations, but it doesn't work with directs. Here is an example that should work: https://js99er.net/#/?cartUrl=https:%2F%2Ftigameshelf.net%2FFiles%2FEmu%2Fbnp_8.bin I don't know how easy it is to change the proxy to work with redirects? I will take a look later. 1 1 Quote Link to comment Share on other sites More sharing options...
Fabrizio Caruso Posted October 16 Author Share Posted October 16 @Asmusr Above I have listed 3 JS emulators that do work with redirects. There are more (written by Nino Porcino). I think their source code should be visible on the browser. I can see if I can get more info for you. Quote Link to comment Share on other sites More sharing options...
Asmusr Posted October 16 Share Posted October 16 Just now, Fabrizio Caruso said: I can see if I can get more info for you. No need. As I wrote, I will look into this later. 1 Quote Link to comment Share on other sites More sharing options...
Fabrizio Caruso Posted October 16 Author Share Posted October 16 @Asmusr as a temporary work-around, do you know how to see the real full addresses in GitHub repositories? I don't mind to use very long ones as long as they work. Quote Link to comment Share on other sites More sharing options...
Asmusr Posted October 16 Share Posted October 16 (edited) 4 hours ago, Fabrizio Caruso said: @Asmusr Thanks for the reply. Could please support redirect or at least GitHub repos? If not, how can I get the right url to use with your emulator? Try now [it should work with one redirect]. Edited October 16 by Asmusr Quote Link to comment Share on other sites More sharing options...
Fabrizio Caruso Posted October 16 Author Share Posted October 16 Thanks @Asmusr! It works! I can use https. For example: https://js99er.net/#/?cartUrl=https:%2F%2Fgithub.com%2FFabrizio-Caruso%2FCROSS-LIB%2Freleases%2Fdownload%2FtrexBETA%2FXTREX18.bin By the way, Firefox runs it significantly slower than Chrome. This is not your emulator's fault though. It is just Firefox. I use the latest Fires 131.0.3 (64 bit). 1 Quote Link to comment Share on other sites More sharing options...
RXB Posted October 17 Share Posted October 17 19 hours ago, Fabrizio Caruso said: Thanks @Asmusr! It works! I can use https. For example: https://js99er.net/#/?cartUrl=https:%2F%2Fgithub.com%2FFabrizio-Caruso%2FCROSS-LIB%2Freleases%2Fdownload%2FtrexBETA%2FXTREX18.bin By the way, Firefox runs it significantly slower than Chrome. This is not your emulator's fault though. It is just Firefox. I use the latest Fires 131.0.3 (64 bit). Yea I use EDGE alone and it is faster then Google Chrome or Firefox. Quote Link to comment Share on other sites More sharing options...
Asmusr Posted October 18 Share Posted October 18 On 10/17/2024 at 12:17 AM, Fabrizio Caruso said: By the way, Firefox runs it significantly slower than Chrome. This is not your emulator's fault though. It is just Firefox. I use the latest Fires 131.0.3 (64 bit). It's not expected to run slower in Firefox, but I see what you mean. I think it may be caused by one of the latest updates to the framework, so I will need to revert to earlier versions of the code to see where it happened. It's most obvious in Firefox, but it also affects Chrome/Edge, for instance with the F18A Karts demo, where it's having trouble keeping up the frame rate. 2 Quote Link to comment Share on other sites More sharing options...
Asmusr Posted October 18 Share Posted October 18 10 hours ago, Asmusr said: It's not expected to run slower in Firefox, but I see what you mean. I think it may be caused by one of the latest updates to the framework, so I will need to revert to earlier versions of the code to see where it happened. It's most obvious in Firefox, but it also affects Chrome/Edge, for instance with the F18A Karts demo, where it's having trouble keeping up the frame rate. I have tried to revert the code to different timepoints before major changes, but the performance of the F18A Karts demo is pretty much the same. I can't say for sure, but I think Firefox used to perform as well as Chrome, so maybe some changes in a recent version of Firefox had a negative effect on performance? Anyway, for something like Parsec the performance is fine on my computer (runs at a steady 60 FPS), so I'm not so concerned. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.