mirror of
https://github.com/db48x/emularity.git
synced 2026-07-27 19:56:37 +00:00
document the SAE support
could use more details perhaps, but for now...
This commit is contained in:
+1
-1
@@ -26,7 +26,7 @@
|
||||
|
||||
|
||||
|
||||
"status": "open",
|
||||
"status": "fixed",
|
||||
|
||||
|
||||
|
||||
|
||||
+1
@@ -0,0 +1 @@
|
||||
Looks like we're filling up the IndexedDB. The browser is supposed to evict stuff on an LRU basis when we get to the quota, but perhaps that's changed recently? Unsure.
|
||||
+29
@@ -0,0 +1,29 @@
|
||||
{
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
"Author": "Daniel Brooks <db48x@db48x.net>",
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
"Content-type": "text/plain",
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
"Date": "Tue, 09 Aug 2016 23:53:00 +0000"
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -15,7 +15,7 @@ The Emularity system has been used by millions of users at the [Internet Archive
|
||||
|
||||
# The Emulators #
|
||||
|
||||
Currently works with two emulators:
|
||||
Currently works with three emulators:
|
||||
|
||||
## JSMESS ##
|
||||
|
||||
@@ -25,6 +25,12 @@ Currently works with two emulators:
|
||||
|
||||
[EM-DOSBox](https://github.com/dreamlayers/em-dosbox/) is a port of DosBox to Javascript. DOSBox emulates an IBM PC compatible running DOS. There are two versions of this emulator, dosbox.js (Standard EM-DOSBOX) and dosbox-sync.js (EM-DOSBOX with considerations for in-program execution of other programs).
|
||||
|
||||
## Scripted Amiga Emulator ##
|
||||
|
||||
[SAE](https://github.com/naTmeg/ScriptedAmigaEmulator) is a Javascript
|
||||
port of WinUAE by [naTmeg](https://github.com/naTmeg). It emulates
|
||||
most of the Amiga models that were released.
|
||||
|
||||
# Credits and Components #
|
||||
|
||||
Primary work on Emularity is by [https://github.com/db48x](Daniel
|
||||
|
||||
+45
-9
@@ -79,16 +79,42 @@ DosBox to immediately start running zzt.exe, which is inside the zip.
|
||||
DosBoxLoader.startExe("zzt.exe")))
|
||||
emulator.start({ waitAfterDownloading: true });
|
||||
|
||||
### Amiga demo ###
|
||||
|
||||
The Amiga is interesting because several models had a split bios,
|
||||
requiring two bios images. We have to download them both, and then
|
||||
provide their names in the right order.
|
||||
|
||||
var emulator = new Emulator(document.querySelector("#canvas"),
|
||||
null,
|
||||
new SAELoader(SAELoader.model("A500"),
|
||||
SAELoader.fastMemory(2),
|
||||
SAELoader.nativeResolution(720, 568),
|
||||
SAELoader.emulatorJS("emulators/sae/scriptedamigaemulator.js"),
|
||||
SAELoader.mountFile("aros-amiga-m68k-rom.bin",
|
||||
SAELoader.fetchFile("Bios",
|
||||
"examples/aros-amiga-m68k-rom.bin")),
|
||||
SAELoader.mountFile("aros-amiga-m68k-ext.bin",
|
||||
SAELoader.fetchFile("Bios",
|
||||
"examples/aros-amiga-m68k-ext.bin")),
|
||||
SAELoader.rom(["aros-amiga-m68k-rom.bin", "aros-amiga-m68k-ext.bin"]),
|
||||
SAELoader.mountFile("Cool_Demos_17.2_1989_Razor_1911.adf",
|
||||
SAELoader.fetchFile("Game",
|
||||
"examples/Cool_Demos_17.2_1989_Razor_1911.adf")),
|
||||
SAELoader.floppy(0, "Cool_Demos_17.2_1989_Razor_1911")))
|
||||
emulator.setScale(3).start({ waitAfterDownloading: true });
|
||||
|
||||
|
||||
## Configuration API ##
|
||||
|
||||
Currently there are two supported emulators, JSMESS and
|
||||
EM-DOSBox. JSMESS provides emulation for arcade games, consoles, and
|
||||
early personal computers. As this emulator supports such a wide
|
||||
variety of hardware it has been broken up into several dozen emulators
|
||||
each supporting one machine lest the resulting javascript be
|
||||
intractably large (60+ megabytes). EM-DOSBox provides emulation for
|
||||
software that runs on x86 PCs using the DOS operating systems common
|
||||
to the era.
|
||||
Currently there are three supported emulators, JSMESS, EM-DOSBox and
|
||||
SAE. JSMESS provides emulation for arcade games, consoles, and early
|
||||
personal computers. As this emulator supports such a wide variety of
|
||||
hardware it has been broken up into several dozen emulators each
|
||||
supporting one machine lest the resulting javascript be intractably
|
||||
large (60+ megabytes). EM-DOSBox provides emulation for software that
|
||||
runs on x86 PCs using the DOS operating systems common to the era. SAE
|
||||
emulates the Amiga computer system.
|
||||
|
||||
Each of these is configured by calling a constructor function and
|
||||
providing it with arguments formed by calling static methods on that
|
||||
@@ -121,13 +147,21 @@ that we don't break existing users.
|
||||
|
||||
* `DosBoxLoader.startExe(filename)`
|
||||
|
||||
### SAE ###
|
||||
|
||||
* `SAELoader.model(modelname)`
|
||||
* `SAELoader.fastMemory(megabytes)`
|
||||
* `SAELoader.rom(filenames)`
|
||||
* `SAELoader.floppy(index, filename)`
|
||||
* `SAELoader.ntsc(boolean)`
|
||||
|
||||
## Internet Archive ##
|
||||
|
||||
There's also a helper for loading software from
|
||||
[the Internet Archive](https://archive.org/v2), `IALoader`. IALoader
|
||||
looks at the metadata associated with an Internet Archive item and
|
||||
uses that to build the configuration for the emulator by calling
|
||||
MAMELoader or DosBoxLoader as necessary.
|
||||
one of the other loaders as necessary.
|
||||
|
||||
## Examples ##
|
||||
|
||||
@@ -141,5 +175,7 @@ Once you have an emulator object, there are several methods you can call.
|
||||
* `start()`
|
||||
* `requestFullScreen()`
|
||||
* `mute()`
|
||||
* `unmute()`
|
||||
* `toggleMute()`
|
||||
* `setSplashColors()`
|
||||
* others…
|
||||
|
||||
+9
-6
@@ -15,14 +15,17 @@
|
||||
SAELoader.fastMemory(2),
|
||||
SAELoader.nativeResolution(720, 568),
|
||||
SAELoader.emulatorJS("emulators/sae/scriptedamigaemulator.js"),
|
||||
SAELoader.mountFile("Kickstart v3.1 r40.63 (1993)(Commodore)(A500-A600-A2000)[!].rom",
|
||||
SAELoader.mountFile("aros-amiga-m68k-rom.bin",
|
||||
SAELoader.fetchFile("Bios",
|
||||
"examples/Kickstart v3.1 r40.63 (1993)(Commodore)(A500-A600-A2000)[!].rom")),
|
||||
SAELoader.rom("Kickstart v3.1 r40.63 (1993)(Commodore)(A500-A600-A2000)[!].rom"),
|
||||
SAELoader.mountFile("17Bit-Cyclic.adf",
|
||||
"examples/aros-amiga-m68k-rom.bin")),
|
||||
SAELoader.mountFile("aros-amiga-m68k-ext.bin",
|
||||
SAELoader.fetchFile("Bios",
|
||||
"examples/aros-amiga-m68k-ext.bin")),
|
||||
SAELoader.rom(["aros-amiga-m68k-rom.bin", "aros-amiga-m68k-ext.bin"]),
|
||||
SAELoader.mountFile("Cool_Demos_17.2_1989_Razor_1911.adf",
|
||||
SAELoader.fetchFile("Game",
|
||||
"examples/17Bit-Cyclic.adf")),
|
||||
SAELoader.floppy(0, "17Bit-Cyclic.adf")))
|
||||
"examples/Cool_Demos_17.2_1989_Razor_1911.adf")),
|
||||
SAELoader.floppy(0, "Cool_Demos_17.2_1989_Razor_1911")))
|
||||
emulator.setScale(3).start({ waitAfterDownloading: true });
|
||||
</script>
|
||||
</body>
|
||||
|
||||
Reference in New Issue
Block a user