pdjstone / archimedes-live Goto Github PK
View Code? Open in Web Editor NEWAn Acorn Archimedes running live in your browser!
An Acorn Archimedes running live in your browser!
The current machine picker allows choosing between a few preset machine configurations. In addition to this we should have a fully configurable machine config editor which exposes all the options available in the Arculator GUI.
This seems to be related to this Firefox bug and happens for me on Pop!_OS.
It would be great to be able to play Archimedes games on a mobile phone. One way this could be achieved is to have on-screen buttons that map to certain key codes. This would probably work best using a full-screen landscape mode, for example with D-pad style buttons on the left side and jump/fire buttons on the right.
This could be done on a per-game basis, using a config file that specified the physical button layout and key mappings for each button.
The Archimedes ' key (" with shift) on Chrome maps to ` / ~. This particularly causes a problem in games where the controls are Z X / ". On Firefox it maps to ' (or @ with shift) which seems more correct. The keyboard mappings should least be consistent between browsers.
We want buttons for: reset, sound filter, pause, eject disc
If mouse caputure or sound is not enabled, prompt the user to click in the canvas to enable it
The BASIC editor currently uses HostFS to autoboot the user's program. HostFS is only works on RISC OS 3, so disable the editor in other configurations (or offer to reboot to a machine that supports it)
Selecting text sometimes dismisses the dialog
This should be easy to support once on-screen game controls has been implemented (issue #12)
Should add button to copy a sharable link to the software title, with autoboot enabled if possible.
May need to restructure the code to support this.
Need a CSS image carousel
Dragging a disc image or archive file will currently automatically load the disc, or unpack the archive to HostFS - without any visible hint that anything has happened.
There should be some sort of UI to preview the uploaded file and ask the user what to do with it:
Fast forward works pretty quickly for ARM2 /ARM250 when skipping less than 30s. For ARM3 there's a noticeable delay, so it'd be nice to have a progress bar so the user can see what's happening.
Javascript hangs when trying to parse this ZIP file from Wocki's Acorn Emuation Site: WaveLength (681 KB)
On mobile when fullscreen, the canvas currently gets stretched to fill the portrait screen
Firstly, thank you so much for creating this - it's an utter marvel. I've been waiting for a web based Archimedes for years, and had my hopes raised with WASM arrived a few years back. So, again, thank you!
I tried this out today, and while browsing through the supplied disc images, discovered that certain ones don't work. I went straight for Hamsters, and was disappointed when presented with a disc error. This happened no matter which machine I switched to.
Having the dropdown definitely lowers the barrier of entry for first time Arc users, so it's a definite must have, but if the disc images can be fixed, I'll be a very happy man!
This would allow the emulator to be embedded in blogs, Mastodon etc...
When changing from e.g. an A5000 to an A3000, the screen goes red. This suggests a problem with not fully resetting state in Arculator.
Ensure that Archimedes Live works well in both portrait and landscape on mobile phones. To start with, this should just require some tweaks to the CSS.
Most games and demos are well under 1MB, but a few demos like Signals and Bad Apple are > 10MB. We should show a progress bar in these cases (e.g. if the file is taking more than a second or two to load)
Perhaps ArcFS/SparkFS/System?
Is there a way to load an .adf image from my machine?
PS Thanks for the thanks. Love this emulator and the fact the default is the A3000, the machine which got me started on ARM!
Disc picker to show available discs/archives. Each available item should have title, description, author etc.. with a button to load it. Screenshots would be nice to have too.
It would be great to be able to use the emulator on mobile devices. For mouse control this could be done using an on-screen touchpad. This would appear below the screen when in portrait mode, or beside it when in landscape.
Some prototyping will need to be done to figure out how best to handle mouse clicks (including middle and right button clicks) and drag-drop.
How do we actually send ESCAPE to the emulator? Is there a key combination for this??
Pressing ESCAPE releases the mouse from the emulator rather than sending ESCAPE to the running application in the emulator.
Trying to set up a local version of Archimedes-Live. Got as far as Make Serve and all seems good but although the interface appears the emulator never starts, it seems it is hard coded to pull roms from your server and cant get them due to CORS restrictions. Can the ROMS not be stored on the local server?
Some games, such as Hamster and Fervour don't immediately launch into full-screen, but first appear on the icon bar and must be clicked. I'd like to be able to launch these games in full screen and skip the desktop entirely. I think Wimp_WhichIcon is probably the way to find the right icon. You'd then need to send a click event to the icon.
Should show that name of the last-launched software on the status bar. Clicking it should show the software browser with that title.
Clicking the canvas when a dialog is open will capture the mouse instead of closing the dialog.
It would be great to be able to create short (e.g. max 30 seconds) video clips from the emulator that could be saved to disc and shared. It would be a great way to share snippets of games and demos without needing to mess around with screen recording software.
The easiest option is probably the WebCodecs API, however that is currently Chrome-only, and I'd like an option that can work in Firefox/Safari.
Another option is WASM-based video encoding, something like WEBM WASM. I'd need to do some testing to see if that is performant enough to run without affecting the emulator performance. Hopefully running it in a WebWorker and with WASM SIMD enabled will be enough.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.