Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


Everything posted by SebastianVoges

  1. Definitely fun to play, well done! Playing with the web emulator the mouse sometimes gets outside of the canvas. I will look into fixing this and keep the mouse captive to the emulator area.
  2. Yeah doesn’t load for me either. at @MattGrandis are we doing file name case conversion on the backend ? I think chase vault expects it all uppercase. Cannot open chasvalt.prg
  3. I was thinking perhaps the web emulator could do that too, make everything uppercase that is passed into the emulators host filesystem. I am not 100% sure though if that is the right thing to do. On https://github.com/commanderx16/x16-emulator about the Host Filesystem Interface it says:
  4. It's been 30 years, but I used to visit the 'Kasseler Thermen' quite often in the late/early 80/90s. I hope that's still around ! And welcome to the X16 forums!
  5. That seems to be it, I renamed the assets to uppercase names and updated the manifest. and it's working now for me in the web emulator.
  6. is there a chance it could be lower/case uppercase related to the assets that need to be loaded? i see in the source it uses "GRAPHICS_TABLES.SEQ" but the assets itself and the manifest is lower case 'graphics_tables.seq'
  7. That's something I can add to the web emulator. Would that be accomplished by passing '-debug' to the emulator during startup, or would anything additional need to be done ? For testing you could bring up the javascript console, go to the main.js sources and put a breakpoint on line 67 ( after var emuArguments are defined. then reload (f5 or reload icon the page) Once it breaks, you could paste "emuArguments.push('-debug')" into the javascript console window and then continue execution. I will run the emulator with out the optimizations, and see if it's related to those.
  8. I have to try it on Linux yet. Performance really differs between browsers/OS combination it seems. One thing I Still would like to try is to pass native sample rate from the browser environment to the core emulator and use this rate. I am not sure if there is significant extra overhead if the sample rates don’t match. In the Code we hardcode Samplerate to 48828. But on the Mac the native sample rate in the chrome Audio context is 44100. Not sure if that matters at all. After doing many modification to the audio code, I reverted most of them back and only increased the samples_per_buffer constant to 1024. Which got rid of the crunchiness in most cases.
  9. I have been looking into the audio code a bit it should sound less 'crunchy' now. https://x16emu.s3.amazonaws.com/x16emu.html?manifest=https://x16repos.s3.amazonaws.com/chase.zip (compared to https://www.commanderx16.com/emulator/x16emu.html?manifest=/emulator/9-chase-vault/ ) I tested on a Mac with Chrome and Safari. Please let me know if that improves it for you too.
  10. Fix for loading 'old' way for manifests. https://github.com/sebastianvog/x16-emulator/releases/tag/1.0.0-beta.3 e.g.: https://x16emu.s3.amazonaws.com/x16emu.html?manifest=https://x16repos.s3.amazonaws.com/chasevault/
  11. I am fixing that now... copy&paste bug. I wish I had some unit-tests that could have caught that. In regards to the manifest.json separate from the zip, i thought about this too. Then inside the manifest we could have a link to the .zip file. also another thought if we do this, do we then really need the resources section or do we just load any file that is inside the zip the manifest is pointing to. That would make it easier to not have to maintain the list of resources to be loaded. so the manifest could just be { ... start_prg: FILE.PRG resource: https://x16repos.s3.amazonaws.com/chase.zip } I don't know, i kind of like that everything could be self-contained in one zip, but on the other hand it would simplify things. the developer would just upload a zip with all his x16 assets and just say what is the start_prg and don't worry about the resources section in the manifest
  12. Sounds good. And also if you think you the manifest/zip file mechanism for loading is missing something or could be done in a different/better way, please let me know. I am open to make modifications to make it as easy/useful as possible.
  13. @MattGrandis @Perifractic I have an updated version here: https://x16emu.s3.amazonaws.com/x16emu.html?manifest=https://x16repos.s3.amazonaws.com/chase.zip Support for zip files in the ?manifest parameter was added. (the old way should also still work) The emulator expects the manifest.json in the root of the zip. Support for Basic programs was added: In the manifest, the basic file has to be specified with "start_bas": "HELLO.BAS" I also added error logging in the javascript console. If the emulator doesn't start as expected, the logging should hopefully point to the area of failure. Lastly , I took some work-in-progress speed optimization code from @StephenHorn and Michael Browns Pull Request to make web emulator a lot more usable. The zipped assets for the web emulator are under https://github.com/sebastianvog/x16-emulator/releases/tag/1.0.0-beta.2 By next weekend I hope to clean up the code, add some general readme for the manifest.json format, and create a pull request to get this back into the main x16 GitHub repo. Cheers, Sebastian
  14. Sorry, missed this, I have not looked to closely into the sound issue (other then getting it to work again, even though it sounds a bit experimental) . But it's definitely on the list of things i want to do. https://github.com/commanderx16/x16-emulator/issues/271
  15. @MattGrandisBasic files I think it might not work currently due to how I pass it to the emulator. I can check later to see how this is implemented. there might need to be an adjustment done, but the same concept should work. I am also working on just supplying a .zip file to the emulator which can contain all the assets and manifest. I think that would be a bit easier to maintain instead of having to deal with folders. I am halfway done with it but stopped work on that a while ago. I will pick it up over the weekend.
    Simple, but addictive game ! I finished it !
  16. The following exception happened in the browser: "Access to fetch at 'https://cx16.dk/cx16maze/manifest.json' from origin 'https://sebastianvog.github.io' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource." This is a CORS issue. Basically the browser not allowing to fetch the resources from a different domain. Not sure how much control you have over your backend, but can you configure the server to allow cross origin requests? This resource might help https://enable-cors.org/server.html Oh and additionally: I made a mistake in my original post. it has to be a manifest.json file not a manifest.xml but i still think CORS issue need to be fixed as well. Also, I don't mind hosting for the short-term: https://sebastianvog.github.io/x16-emulator/x16emu.html?manifest=https://x16repos.s3.amazonaws.com/cx16maze/
  17. I plan on keeping it current to the latest official release of the x16 emulator and plus changes on my end that might not have merged back yet to the main x16 emulator repo . At some point I will move away from using GitHub pages as a static web-server and host the web emulator on AWS. It probably will also make sense to have a stable production version which lines up with official Emulator Releases and a development version which can change frequently.
  18. I have been looking into it and sound for WebAssembly is supported now(with issues). Browsers don't allow playing of sound without prior user-interaction. There is a audio icon (top left in fullscreen mode), which will toggle on/off the audio portion of the core emulator.. If you click it, the sound will start playing (not immediately sometimes, in ChaseVault you sometimes have to lose a life and then audio will start up again ). Currently the audio output is distorted, so something in the audio init is not correct for WebAssembly. I will look into it this weekend. Performance is also browser dependent, there is a noticeable slow down in Safari for me, whereas Chrome seems to run smoother.
  19. Hi, I updated the web version x16 emulator at https://sebastianvog.github.io/x16-emulator/x16emu.html It has the latest R37 code, and some web assembly related fixes (audio, rendering on hdpi displays) As an added feature for developers, who would like to show case their work online, you can now point a remote web folder to the emulator. As example I used @SlithyMatt awesome ChaseVault game and put the chase vault files on a static web site and then pass in that URL via the ?manifest parameter https://sebastianvog.github.io/x16-emulator/x16emu.html?manifest=https://x16repos.s3.amazonaws.com/chasevault/ The web emulator expects/loads a manifest.json file from that location, loads all resources and then executes it. The manifest structure looks like this { "manifest_version": "1.0", "name": "Chase Vault", "author": "Matt Heffernan", "app_version": "0.4", "license": "GPL 3", "start_prg": "CHASVALT.PRG", "resources": [ "CHASVALT.PRG", "BITMAP.BIN", "MUSIC.BIN", "PAL.BIN", "SPRTATTR.BIN", "SPRITES.BIN", "STARTBG.BIN", "TILEMAP.BIN", "TILES.BIN", "WINMUSIC.BIN" ] } The format of the manifest is subject to change. This was a first shot at this. Let me know what you think. I hope this will be useful to showcase/share application with the community for easy consumption in a web browser. cheers, Sebastian
  20. Hi, Sebastian here. I am excited to be part of the Commander X16 community. My first computer was a Tandy TRS-80 and I then went on to the C64 and finally the Amiga. I never really learned to program on the C64 other than Basic, but did quite a bit assembler programming on the Amiga. Last year, I did add support for WebAssembly to the X16 Emulator. After a bit of a break, I recently started working on the ability to load Programs/Demos via the Web Emulator. Feel free to get in touch with me for anything related to the web version of the emulator! Best regards, Sebastian
  • Create New...

Important Information

Please review our Terms of Use