mirror of
https://github.com/whscullin/apple2js.git
synced 2024-01-12 14:14:38 +00:00
Merge pull request #9 from whscullin/whscullin/webpack
Convert to webpack first pass.
This commit is contained in:
commit
d5ab930935
|
@ -20,7 +20,11 @@
|
||||||
"env": {
|
"env": {
|
||||||
"builtin": true,
|
"builtin": true,
|
||||||
"browser": true,
|
"browser": true,
|
||||||
"jquery": true
|
"jquery": true,
|
||||||
|
"es6": true
|
||||||
|
},
|
||||||
|
"parserOptions": {
|
||||||
|
"sourceType": "module"
|
||||||
},
|
},
|
||||||
"extends": "eslint:recommended"
|
"extends": "eslint:recommended"
|
||||||
}
|
}
|
||||||
|
|
3
.gitignore
vendored
3
.gitignore
vendored
|
@ -1,3 +1,4 @@
|
||||||
.*~
|
.*~
|
||||||
.checked-*.js
|
.checked-*.js
|
||||||
node_modules
|
/dist
|
||||||
|
/node_modules
|
||||||
|
|
|
@ -44,32 +44,6 @@
|
||||||
<script type="text/javascript" src="http://code.jquery.com/ui/1.10.3/jquery-ui.js">
|
<script type="text/javascript" src="http://code.jquery.com/ui/1.10.3/jquery-ui.js">
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<!-- Emulator Scripts -->
|
|
||||||
<script type="text/javascript" src="js/util.js"></script>
|
|
||||||
<script type="text/javascript" src="js/prefs.js"></script>
|
|
||||||
<script type="text/javascript" src="js/ram.js"></script>
|
|
||||||
<script type="text/javascript" src="js/applesoft/decompiler.js"></script>
|
|
||||||
<script type="text/javascript" src="js/intbasic/decompiler.js"></script>
|
|
||||||
<script type="text/javascript" src="js/canvas.js"></script>
|
|
||||||
<script type="text/javascript" src="js/apple2io.js"></script>
|
|
||||||
<script type="text/javascript" src="js/cards/langcard.js"></script>
|
|
||||||
<script type="text/javascript" src="js/cards/parallel.js"></script>
|
|
||||||
<script type="text/javascript" src="js/cards/videoterm.js"></script>
|
|
||||||
<script type="text/javascript" src="js/cards/disk2.js"></script>
|
|
||||||
<script type="text/javascript" src="js/cards/ramfactor.js"></script>
|
|
||||||
<script type="text/javascript" src="js/cards/thunderclock.js"></script>
|
|
||||||
<script type="text/javascript" src="js/cpu6502.js"></script>
|
|
||||||
<script type="text/javascript" src="js/base64.js"></script>
|
|
||||||
<script type="text/javascript" src="js/roms/fpbasic.js"></script>
|
|
||||||
<script type="text/javascript" src="js/roms/intbasic.js"></script>
|
|
||||||
<script type="text/javascript" src="js/roms/original.js"></script>
|
|
||||||
<script type="text/javascript" src="js/roms/apple2_char.js"></script>
|
|
||||||
<script type="text/javascript" src="js/ui/audio.js"></script>
|
|
||||||
<script type="text/javascript" src="js/ui/keyboard.js"></script>
|
|
||||||
<script type="text/javascript" src="js/ui/gamepad.js"></script>
|
|
||||||
<script type="text/javascript" src="js/ui/printer.js"></script>
|
|
||||||
<script type="text/javascript" src="js/ui/tape.js"></script>
|
|
||||||
|
|
||||||
<!-- Disk Index -->
|
<!-- Disk Index -->
|
||||||
<script type="text/javascript" src="json/disks/index.js"></script>
|
<script type="text/javascript" src="json/disks/index.js"></script>
|
||||||
|
|
||||||
|
@ -189,6 +163,9 @@
|
||||||
<option value="apple2plus">Apple ][+</option>
|
<option value="apple2plus">Apple ][+</option>
|
||||||
<option value="apple2">Autostart Apple ][</option>
|
<option value="apple2">Autostart Apple ][</option>
|
||||||
<option value="original">Apple ][</option>
|
<option value="original">Apple ][</option>
|
||||||
|
<option value="apple2j">Apple ][j+</option>
|
||||||
|
<option value="apple2lc">Apple ][+ (lowercase font)</option>
|
||||||
|
<option value="apple2pig">Apple ][+ (pig font)</option>
|
||||||
</select>
|
</select>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
|
@ -310,6 +287,6 @@
|
||||||
<div class="paper">
|
<div class="paper">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script src="js/main2.js"></script>
|
<script src="dist/main2.js"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<!--
|
<!--
|
||||||
Copyright 2010-2016 Will Scullin <scullin@scullinsteel.com>
|
Copyright 2010-2019 Will Scullin <scullin@scullinsteel.com>
|
||||||
|
|
||||||
Permission to use, copy, modify, distribute, and sell this software and its
|
Permission to use, copy, modify, distribute, and sell this software and its
|
||||||
documentation for any purpose is hereby granted without fee, provided that
|
documentation for any purpose is hereby granted without fee, provided that
|
||||||
|
@ -44,31 +44,6 @@
|
||||||
<script type="text/javascript" src="http://code.jquery.com/ui/1.10.3/jquery-ui.js">
|
<script type="text/javascript" src="http://code.jquery.com/ui/1.10.3/jquery-ui.js">
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<!-- Emulator Scripts -->
|
|
||||||
<script type="text/javascript" src="js/util.js"></script>
|
|
||||||
<script type="text/javascript" src="js/prefs.js"></script>
|
|
||||||
<script type="text/javascript" src="js/ram.js"></script>
|
|
||||||
<script type="text/javascript" src="js/mmu.js"></script>
|
|
||||||
<script type="text/javascript" src="js/applesoft/decompiler.js"></script>
|
|
||||||
<script type="text/javascript" src="js/intbasic/decompiler.js"></script>
|
|
||||||
<script type="text/javascript" src="js/canvas.js"></script>
|
|
||||||
<script type="text/javascript" src="js/apple2io.js"></script>
|
|
||||||
<script type="text/javascript" src="js/cards/parallel.js"></script>
|
|
||||||
<script type="text/javascript" src="js/cards/disk2.js"></script>
|
|
||||||
<script type="text/javascript" src="js/cards/ramfactor.js"></script>
|
|
||||||
<script type="text/javascript" src="js/cards/thunderclock.js"></script>
|
|
||||||
<script type="text/javascript" src="js/cpu6502.js"></script>
|
|
||||||
<script type="text/javascript" src="js/base64.js"></script>
|
|
||||||
<script type="text/javascript" src="js/roms/apple2e.js"></script>
|
|
||||||
<script type="text/javascript" src="js/roms/apple2enh.js"></script>
|
|
||||||
<script type="text/javascript" src="js/roms/apple2e_char.js"></script>
|
|
||||||
<script type="text/javascript" src="js/roms/apple2enh_char.js"></script>
|
|
||||||
<script type="text/javascript" src="js/ui/audio.js"></script>
|
|
||||||
<script type="text/javascript" src="js/ui/keyboard.js"></script>
|
|
||||||
<script type="text/javascript" src="js/ui/gamepad.js"></script>
|
|
||||||
<script type="text/javascript" src="js/ui/printer.js"></script>
|
|
||||||
<script type="text/javascript" src="js/ui/tape.js"></script>
|
|
||||||
|
|
||||||
<!-- Disk Index -->
|
<!-- Disk Index -->
|
||||||
<script type="text/javascript" src="json/disks/index.js"></script>
|
<script type="text/javascript" src="json/disks/index.js"></script>
|
||||||
|
|
||||||
|
@ -149,8 +124,8 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<input id="reset" type="button" value="Reset"
|
<input id="reset" type="button" value="Reset"
|
||||||
onclick="keyboard.reset(event)"
|
onclick="reset(event)"
|
||||||
oncontextmenu="keyboard.reset(event)" />
|
oncontextmenu="reset(event)" />
|
||||||
</div>
|
</div>
|
||||||
<div class="inset">
|
<div class="inset">
|
||||||
<div id="keyboard"></div>
|
<div id="keyboard"></div>
|
||||||
|
@ -166,6 +141,7 @@
|
||||||
<select id="computer_type2e" value="apple2enh" onchange="updateCPU()">
|
<select id="computer_type2e" value="apple2enh" onchange="updateCPU()">
|
||||||
<option value="apple2enh">Enhanced Apple //e</option>
|
<option value="apple2enh">Enhanced Apple //e</option>
|
||||||
<option value="apple2e">Apple //e</option>
|
<option value="apple2e">Apple //e</option>
|
||||||
|
<option value="apple2rm">Enhanced Apple //e (Reactive Micro)</option>
|
||||||
</select>
|
</select>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
|
@ -287,6 +263,6 @@
|
||||||
<div class="paper">
|
<div class="paper">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script src="js/main2e.js"></script>
|
<script type="text/javascript" src="dist/main2e.js"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* Copyright 2010-2016 Will Scullin */
|
/* Copyright 2010-2019 Will Scullin */
|
||||||
|
|
||||||
#header {
|
#header {
|
||||||
width: 580px;
|
width: 580px;
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
var LOG = false;
|
var LOG = false;
|
||||||
|
|
||||||
function Test6502() {
|
export default function Test6502() {
|
||||||
var data = [
|
var data = [
|
||||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
|
|
||||||
var LOG = false;
|
var LOG = false;
|
||||||
|
|
||||||
function Test65C02() {
|
export default function Test65C02() {
|
||||||
var data = [
|
var data = [
|
||||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* Copyright 2010-2017 Will Scullin <scullin@scullinsteel.com>
|
/* Copyright 2010-2019 Will Scullin <scullin@scullinsteel.com>
|
||||||
*
|
*
|
||||||
* Permission to use, copy, modify, distribute, and sell this software and its
|
* Permission to use, copy, modify, distribute, and sell this software and its
|
||||||
* documentation for any purpose is hereby granted without fee, provided that
|
* documentation for any purpose is hereby granted without fee, provided that
|
||||||
|
@ -9,13 +9,10 @@
|
||||||
* implied warranty.
|
* implied warranty.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*globals debug: false */
|
import { debug } from './util';
|
||||||
/*exported Apple2IO */
|
|
||||||
|
|
||||||
function Apple2IO(cpu, callbacks)
|
export default function Apple2IO(cpu, callbacks)
|
||||||
{
|
{
|
||||||
'use strict';
|
|
||||||
|
|
||||||
var _slot = [];
|
var _slot = [];
|
||||||
var _auxRom = null;
|
var _auxRom = null;
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
/*exported ApplesoftDump */
|
import { debug } from '../util';
|
||||||
/*global debug */
|
|
||||||
|
|
||||||
function ApplesoftDump(mem)
|
export default function ApplesoftDump(mem)
|
||||||
{
|
{
|
||||||
var _mem = mem;
|
var _mem = mem;
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*exported base64_encode, base64_decode */
|
/*exported base64_encode, base64_decode */
|
||||||
|
|
||||||
function base64_encode (data) {
|
export function base64_encode (data) {
|
||||||
// Twacked by Will Scullin to handle arrays of "bytes"
|
// Twacked by Will Scullin to handle arrays of "bytes"
|
||||||
|
|
||||||
// http://kevin.vanzonneveld.net
|
// http://kevin.vanzonneveld.net
|
||||||
|
@ -57,7 +57,7 @@ function base64_encode (data) {
|
||||||
return enc;
|
return enc;
|
||||||
}
|
}
|
||||||
|
|
||||||
function base64_decode(data) {
|
export function base64_decode(data) {
|
||||||
// Twacked by Will Scullin to handle arrays of "bytes"
|
// Twacked by Will Scullin to handle arrays of "bytes"
|
||||||
|
|
||||||
// http://kevin.vanzonneveld.net
|
// http://kevin.vanzonneveld.net
|
||||||
|
|
25
js/canvas.js
25
js/canvas.js
|
@ -1,4 +1,4 @@
|
||||||
/* Copyright 2010-2017 Will Scullin <scullin@scullinsteel.com>
|
/* Copyright 2010-2019 Will Scullin <scullin@scullinsteel.com>
|
||||||
*
|
*
|
||||||
* Permission to use, copy, modify, distribute, and sell this software and its
|
* Permission to use, copy, modify, distribute, and sell this software and its
|
||||||
* documentation for any purpose is hereby granted without fee, provided that
|
* documentation for any purpose is hereby granted without fee, provided that
|
||||||
|
@ -9,11 +9,10 @@
|
||||||
* implied warranty.
|
* implied warranty.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*globals allocMemPages: false, debug: false,
|
import { base64_decode, base64_encode } from './base64';
|
||||||
base64_encode: false, base64_decode: false,
|
import { allocMemPages, debug } from './util';
|
||||||
enhanced: false */
|
|
||||||
/*exported LoresPage, HiresPage, VideoModes, scanlines, multiScreen */
|
|
||||||
|
|
||||||
|
var enhanced = false;
|
||||||
var multiScreen = false;
|
var multiScreen = false;
|
||||||
var textMode = true;
|
var textMode = true;
|
||||||
var mixedMode = false;
|
var mixedMode = false;
|
||||||
|
@ -52,10 +51,8 @@ var blackCol = [0x00, 0x00, 0x00];
|
||||||
*
|
*
|
||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
|
|
||||||
function LoresPage(page, charset, e, context)
|
export function LoresPage(page, charset, e, context)
|
||||||
{
|
{
|
||||||
'use strict';
|
|
||||||
|
|
||||||
// $00-$3F inverse
|
// $00-$3F inverse
|
||||||
// $40-$7F flashing
|
// $40-$7F flashing
|
||||||
// $80-$FF normal
|
// $80-$FF normal
|
||||||
|
@ -479,10 +476,8 @@ function LoresPage(page, charset, e, context)
|
||||||
*
|
*
|
||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
|
|
||||||
function HiresPage(page, context)
|
export function HiresPage(page, context)
|
||||||
{
|
{
|
||||||
'use strict';
|
|
||||||
|
|
||||||
var _page = page;
|
var _page = page;
|
||||||
var _imageData;
|
var _imageData;
|
||||||
var _dirty = {
|
var _dirty = {
|
||||||
|
@ -912,7 +907,7 @@ function HiresPage(page, context)
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
function VideoModes(gr, hgr, gr2, hgr2, e) {
|
export function VideoModes(gr, hgr, gr2, hgr2, e) {
|
||||||
var _grs = [gr, gr2];
|
var _grs = [gr, gr2];
|
||||||
var _hgrs = [hgr, hgr2];
|
var _hgrs = [hgr, hgr2];
|
||||||
var _seq = '';
|
var _seq = '';
|
||||||
|
@ -1052,6 +1047,12 @@ function VideoModes(gr, hgr, gr2, hgr2, e) {
|
||||||
_refresh();
|
_refresh();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
enhanced: function(on) {
|
||||||
|
enhanced = on;
|
||||||
|
},
|
||||||
|
multiScreen: function(on) {
|
||||||
|
multiScreen = on;
|
||||||
|
},
|
||||||
isText: function() {
|
isText: function() {
|
||||||
return textMode;
|
return textMode;
|
||||||
},
|
},
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* Copyright 2010-2017 Will Scullin <scullin@scullinsteel.com>
|
/* Copyright 2010-2019 Will Scullin <scullin@scullinsteel.com>
|
||||||
*
|
*
|
||||||
* Permission to use, copy, modify, distribute, and sell this software and its
|
* Permission to use, copy, modify, distribute, and sell this software and its
|
||||||
* documentation for any purpose is hereby granted without fee, provided that
|
* documentation for any purpose is hereby granted without fee, provided that
|
||||||
|
@ -9,16 +9,11 @@
|
||||||
* implied warranty.
|
* implied warranty.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*exported DiskII */
|
import { base64_decode, base64_encode } from '../base64';
|
||||||
/*globals bytify: false, debug: false
|
import { bytify, debug } from '../util';
|
||||||
base64_decode: false, base64_encode: false
|
|
||||||
Uint8Array: false
|
|
||||||
*/
|
|
||||||
|
|
||||||
function DiskII(io, slot, callbacks)
|
export default function DiskII(io, slot, callbacks)
|
||||||
{
|
{
|
||||||
'use strict';
|
|
||||||
|
|
||||||
slot = slot || 6;
|
slot = slot || 6;
|
||||||
var _drives = [
|
var _drives = [
|
||||||
{ // Drive 1
|
{ // Drive 1
|
||||||
|
@ -791,6 +786,22 @@ function DiskII(io, slot, callbacks)
|
||||||
var s = _drives[disk - 1].fmt == 'po' ? _PO[sector] : _DO[sector];
|
var s = _drives[disk - 1].fmt == 'po' ? _PO[sector] : _DO[sector];
|
||||||
return _readSector(disk, track, s);
|
return _readSector(disk, track, s);
|
||||||
},
|
},
|
||||||
|
getMetadata: function disk_getMetadata(driveNo) {
|
||||||
|
var drive = _drives[driveNo - 1];
|
||||||
|
if (drive.tracks.length) {
|
||||||
|
return {
|
||||||
|
format: drive.format,
|
||||||
|
volume: drive.volume,
|
||||||
|
track: drive.track,
|
||||||
|
head: drive.head,
|
||||||
|
phase: drive.phase,
|
||||||
|
readOnly: drive.readOnly,
|
||||||
|
dirty: drive.dirty
|
||||||
|
};
|
||||||
|
} else {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
},
|
||||||
setDisk: function disk2_setDisk(drive, disk) {
|
setDisk: function disk2_setDisk(drive, disk) {
|
||||||
var fmt = disk.type, readOnly = disk.readOnly;
|
var fmt = disk.type, readOnly = disk.readOnly;
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* Copyright 2010-2017 Will Scullin <scullin@scullinsteel.com>
|
/* Copyright 2010-2019 Will Scullin <scullin@scullinsteel.com>
|
||||||
*
|
*
|
||||||
* Permission to use, copy, modify, distribute, and sell this software and its
|
* Permission to use, copy, modify, distribute, and sell this software and its
|
||||||
* documentation for any purpose is hereby granted without fee, provided that
|
* documentation for any purpose is hereby granted without fee, provided that
|
||||||
|
@ -9,13 +9,10 @@
|
||||||
* implied warranty.
|
* implied warranty.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*exported LanguageCard */
|
import RAM from '../ram';
|
||||||
/*globals debug: false
|
import { debug } from '../util';
|
||||||
RAM: false */
|
|
||||||
|
|
||||||
function LanguageCard(io, slot, rom) {
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
|
export default function LanguageCard(io, slot, rom) {
|
||||||
var _rom = rom;
|
var _rom = rom;
|
||||||
var _bank1 = null;
|
var _bank1 = null;
|
||||||
var _bank2 = null;
|
var _bank2 = null;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* Copyright 2010-2017 Will Scullin <scullin@scullinsteel.com>
|
/* Copyright 2010-2019 Will Scullin <scullin@scullinsteel.com>
|
||||||
*
|
*
|
||||||
* Permission to use, copy, modify, distribute, and sell this software and its
|
* Permission to use, copy, modify, distribute, and sell this software and its
|
||||||
* documentation for any purpose is hereby granted without fee, provided that
|
* documentation for any purpose is hereby granted without fee, provided that
|
||||||
|
@ -9,12 +9,9 @@
|
||||||
* implied warranty.
|
* implied warranty.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*exported Parallel */
|
import { debug } from '../util';
|
||||||
/*globals debug: false */
|
|
||||||
|
|
||||||
function Parallel(io, slot, cbs) {
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
|
export default function Parallel(io, slot, cbs) {
|
||||||
slot = slot || 1;
|
slot = slot || 1;
|
||||||
|
|
||||||
debug('Parallel card in slot', slot);
|
debug('Parallel card in slot', slot);
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* Copyright 2010-2017 Will Scullin <scullin@scullinsteel.com>
|
/* Copyright 2010-2019 Will Scullin <scullin@scullinsteel.com>
|
||||||
*
|
*
|
||||||
* Permission to use, copy, modify, distribute, and sell this software and its
|
* Permission to use, copy, modify, distribute, and sell this software and its
|
||||||
* documentation for any purpose is hereby granted without fee, provided that
|
* documentation for any purpose is hereby granted without fee, provided that
|
||||||
|
@ -9,13 +9,10 @@
|
||||||
* implied warranty.
|
* implied warranty.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*exported RAMFactor */
|
import { base64_decode, base64_encode } from '../base64';
|
||||||
/*globals allocMem: false, bytify: false, debug: false,
|
import { allocMem, bytify, debug } from '../util';
|
||||||
base64_encode: false, base64_decode: false
|
|
||||||
*/
|
|
||||||
function RAMFactor(io, slot, size) {
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
|
export default function RAMFactor(io, slot, size) {
|
||||||
var rom = [
|
var rom = [
|
||||||
0x43,0x4f,0x50,0x59,0x52,0x49,0x47,0x48,
|
0x43,0x4f,0x50,0x59,0x52,0x49,0x47,0x48,
|
||||||
0x54,0x20,0x28,0x43,0x29,0x20,0x31,0x39,
|
0x54,0x20,0x28,0x43,0x29,0x20,0x31,0x39,
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* Copyright 2010-2017 Will Scullin <scullin@scullinsteel.com>
|
/* Copyright 2010-2019 Will Scullin <scullin@scullinsteel.com>
|
||||||
*
|
*
|
||||||
* Permission to use, copy, modify, distribute, and sell this software and its
|
* Permission to use, copy, modify, distribute, and sell this software and its
|
||||||
* documentation for any purpose is hereby granted without fee, provided that
|
* documentation for any purpose is hereby granted without fee, provided that
|
||||||
|
@ -9,13 +9,10 @@
|
||||||
* implied warranty.
|
* implied warranty.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*exported Thunderclock */
|
import { debug } from '../util';
|
||||||
/*global debug: false */
|
|
||||||
|
|
||||||
function Thunderclock(io, slot)
|
export default function Thunderclock(io, slot)
|
||||||
{
|
{
|
||||||
'use strict';
|
|
||||||
|
|
||||||
var rom = [
|
var rom = [
|
||||||
0x08,0x78,0x28,0x2c,0x58,0xff,0x70,0x05, // 00
|
0x08,0x78,0x28,0x2c,0x58,0xff,0x70,0x05, // 00
|
||||||
0x38,0xb0,0x01,0x18,0xb8,0x08,0x78,0x48,
|
0x38,0xb0,0x01,0x18,0xb8,0x08,0x78,0x48,
|
||||||
|
|
|
@ -9,12 +9,9 @@
|
||||||
* implied warranty.
|
* implied warranty.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*exported Videoterm */
|
import { allocMemPages, debug } from '../util';
|
||||||
/*globals debug: false, allocMemPages: false */
|
|
||||||
|
|
||||||
function Videoterm(io, slot, context) {
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
|
export default function Videoterm(io, slot, context) {
|
||||||
slot = slot || 3;
|
slot = slot || 3;
|
||||||
|
|
||||||
debug('Videx Videoterm card in slot', slot);
|
debug('Videx Videoterm card in slot', slot);
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright 2010-2017 Will Scullin <scullin@scullinsteel.com>
|
* Copyright 2010-2019 Will Scullin <scullin@scullinsteel.com>
|
||||||
*
|
*
|
||||||
* Permission to use, copy, modify, distribute, and sell this software and its
|
* Permission to use, copy, modify, distribute, and sell this software and its
|
||||||
* documentation for any purpose is hereby granted without fee, provided that
|
* documentation for any purpose is hereby granted without fee, provided that
|
||||||
|
@ -10,13 +10,10 @@
|
||||||
* implied warranty.
|
* implied warranty.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*exported CPU6502 */
|
import { debug, toHex } from './util';
|
||||||
/*globals debug: false, toHex: false */
|
|
||||||
|
|
||||||
function CPU6502(options)
|
export default function CPU6502(options)
|
||||||
{
|
{
|
||||||
'use strict';
|
|
||||||
|
|
||||||
options = options || {};
|
options = options || {};
|
||||||
|
|
||||||
var is65C02 = options['65C02'] ? true : false;
|
var is65C02 = options['65C02'] ? true : false;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*exported IntBasicDump */
|
/*exported IntBasicDump */
|
||||||
|
|
||||||
function IntBasicDump(mem)
|
export default function IntBasicDump(mem)
|
||||||
{
|
{
|
||||||
var _mem = mem;
|
var _mem = mem;
|
||||||
|
|
||||||
|
|
158
js/main2.js
158
js/main2.js
|
@ -1,38 +1,35 @@
|
||||||
/* globals debug: false, gup: false, hup: false, toHex: false,
|
import Apple2IO from './apple2io';
|
||||||
CPU6502: false,
|
import ApplesoftDump from './applesoft/decompiler';
|
||||||
RAM: false,
|
import { HiresPage, LoresPage, VideoModes, multiScreen } from './canvas';
|
||||||
Apple2ROM: false, IntBASIC: false, OriginalROM: false,
|
import CPU6502 from './cpu6502';
|
||||||
Apple2jROM: false,
|
import Prefs from './prefs';
|
||||||
apple2_charset: false, apple2j_charset: false,
|
import RAM from './ram';
|
||||||
pigfont_charset: false, apple2lc_charset: false,
|
import { debug, gup, hup } from './util';
|
||||||
Apple2IO: false
|
|
||||||
LoresPage: false, HiresPage: false, VideoModes: false,
|
import Audio from './ui/audio';
|
||||||
KeyBoard: false,
|
import { gamepad, configGamepad, initGamepad, processGamepad } from './ui/gamepad';
|
||||||
Parallel: false,
|
import KeyBoard from './ui/keyboard';
|
||||||
Videoterm: false,
|
import Printer from './ui/printer';
|
||||||
DiskII: false,
|
import Tape from './ui/tape';
|
||||||
Printer: false,
|
|
||||||
LanguageCard: false,
|
import DiskII from './cards/disk2';
|
||||||
RAMFactor: false,
|
import LanguageCard from './cards/langcard';
|
||||||
Thunderclock: false,
|
import Parallel from './cards/parallel';
|
||||||
Prefs: false,
|
import RAMFactor from './cards/ramfactor';
|
||||||
disk_index: false,
|
import Thunderclock from './cards/thunderclock';
|
||||||
Audio: false,
|
import Videoterm from './cards/videoterm';
|
||||||
initGamepad: false, processGamepad: false, gamepad: false,
|
|
||||||
Tape: false,
|
import apple2_charset from './roms/apple2_char';
|
||||||
ApplesoftDump: false, SYMBOLS: false,
|
import apple2j_charset from './roms/apple2j_char';
|
||||||
multiScreen: true
|
import apple2lc_charset from './roms/apple2lc_char';
|
||||||
*/
|
import pigfont_charset from './roms/pigfont_char';
|
||||||
/* exported openLoad, openSave, doDelete, handleDragOver, handleDragEnd, handleDrop,
|
|
||||||
selectCategory, selectDisk, clickDisk,
|
import Apple2ROM from './roms/fpbasic';
|
||||||
multiScreen,
|
import Apple2jROM from './roms/apple2j_char';
|
||||||
updateJoystick,
|
import IntBASIC from './roms/intbasic';
|
||||||
pauseRun, step,
|
import OriginalROM from './roms/original';
|
||||||
toggleSound,
|
|
||||||
restoreState, saveState,
|
import SYMBOLS from './symbols';
|
||||||
dumpProgram, PageDebug,
|
|
||||||
enhanced
|
|
||||||
*/
|
|
||||||
|
|
||||||
var kHz = 1023;
|
var kHz = 1023;
|
||||||
|
|
||||||
|
@ -53,6 +50,7 @@ var trace = [];
|
||||||
* Page viewer
|
* Page viewer
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
function PageDebug(page)
|
function PageDebug(page)
|
||||||
{
|
{
|
||||||
var _page = page;
|
var _page = page;
|
||||||
|
@ -84,6 +82,7 @@ function PageDebug(page)
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
var disk_categories = {'Local Saves': []};
|
var disk_categories = {'Local Saves': []};
|
||||||
var disk_sets = {};
|
var disk_sets = {};
|
||||||
|
@ -129,7 +128,7 @@ var TAPE_TYPES = ['wav','aiff','aif','mp3','m4a'];
|
||||||
|
|
||||||
var _currentDrive = 1;
|
var _currentDrive = 1;
|
||||||
|
|
||||||
function openLoad(drive, event)
|
window.openLoad = function(drive, event)
|
||||||
{
|
{
|
||||||
_currentDrive = parseInt(drive, 10);
|
_currentDrive = parseInt(drive, 10);
|
||||||
if (event.metaKey) {
|
if (event.metaKey) {
|
||||||
|
@ -140,9 +139,9 @@ function openLoad(drive, event)
|
||||||
}
|
}
|
||||||
$('#load').dialog('open');
|
$('#load').dialog('open');
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
|
||||||
function openSave(drive, event)
|
window.openSave = function(drive, event)
|
||||||
{
|
{
|
||||||
_currentDrive = parseInt(drive, 10);
|
_currentDrive = parseInt(drive, 10);
|
||||||
|
|
||||||
|
@ -160,14 +159,14 @@ function openSave(drive, event)
|
||||||
$('#save_name').val(drivelights.label(drive));
|
$('#save_name').val(drivelights.label(drive));
|
||||||
$('#save').dialog('open');
|
$('#save').dialog('open');
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
|
||||||
function handleDragOver(drive, event) {
|
window.handleDragOver = function(drive, event) {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
event.dataTransfer.dropEffect = 'copy';
|
event.dataTransfer.dropEffect = 'copy';
|
||||||
}
|
};
|
||||||
|
|
||||||
function handleDragEnd(drive, event) {
|
window.handleDragEnd = function(drive, event) {
|
||||||
var dt = event.dataTransfer;
|
var dt = event.dataTransfer;
|
||||||
if (dt.items) {
|
if (dt.items) {
|
||||||
for (var i = 0; i < dt.items.length; i++) {
|
for (var i = 0; i < dt.items.length; i++) {
|
||||||
|
@ -176,9 +175,9 @@ function handleDragEnd(drive, event) {
|
||||||
} else {
|
} else {
|
||||||
event.dataTransfer.clearData();
|
event.dataTransfer.clearData();
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
|
||||||
function handleDrop(drive, event) {
|
window.handleDrop = function(drive, event) {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
event.stopPropagation();
|
event.stopPropagation();
|
||||||
|
|
||||||
|
@ -208,7 +207,7 @@ function handleDrop(drive, event) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
|
||||||
var loading = false;
|
var loading = false;
|
||||||
|
|
||||||
|
@ -282,11 +281,11 @@ function doSave() {
|
||||||
$('#save').dialog('close');
|
$('#save').dialog('close');
|
||||||
}
|
}
|
||||||
|
|
||||||
function doDelete(name) {
|
window.doDelete = function(name) {
|
||||||
if (window.confirm('Delete ' + name + '?')) {
|
if (window.confirm('Delete ' + name + '?')) {
|
||||||
deleteLocalStorage(name);
|
deleteLocalStorage(name);
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
|
||||||
function doLoadLocal(drive, file) {
|
function doLoadLocal(drive, file) {
|
||||||
var parts = file.name.split('.');
|
var parts = file.name.split('.');
|
||||||
|
@ -352,7 +351,7 @@ function openManage() {
|
||||||
|
|
||||||
var prefs = new Prefs();
|
var prefs = new Prefs();
|
||||||
var romVersion = prefs.readPref('computer_type2');
|
var romVersion = prefs.readPref('computer_type2');
|
||||||
var enhanced = false;
|
export var enhanced = false;
|
||||||
var rom;
|
var rom;
|
||||||
var char_rom = apple2_charset;
|
var char_rom = apple2_charset;
|
||||||
switch (romVersion) {
|
switch (romVersion) {
|
||||||
|
@ -420,7 +419,7 @@ var dumper = new ApplesoftDump(cpu);
|
||||||
|
|
||||||
var drivelights = new DriveLights();
|
var drivelights = new DriveLights();
|
||||||
var io = new Apple2IO(cpu, vm);
|
var io = new Apple2IO(cpu, vm);
|
||||||
var keyboard = new KeyBoard(io);
|
var keyboard = new KeyBoard(cpu, io);
|
||||||
var audio = new Audio(io);
|
var audio = new Audio(io);
|
||||||
var tape = new Tape(io);
|
var tape = new Tape(io);
|
||||||
var printer = new Printer($('#printer .paper'));
|
var printer = new Printer($('#printer .paper'));
|
||||||
|
@ -449,7 +448,7 @@ io.setSlot(3, videoterm);
|
||||||
io.setSlot(6, disk2);
|
io.setSlot(6, disk2);
|
||||||
io.setSlot(7, clock);
|
io.setSlot(7, clock);
|
||||||
|
|
||||||
var showFPS = false;
|
window.showFPS = false;
|
||||||
|
|
||||||
function updateKHz() {
|
function updateKHz() {
|
||||||
var now = Date.now();
|
var now = Date.now();
|
||||||
|
@ -457,7 +456,7 @@ function updateKHz() {
|
||||||
var cycles = cpu.cycles();
|
var cycles = cpu.cycles();
|
||||||
var delta;
|
var delta;
|
||||||
|
|
||||||
if (showFPS) {
|
if (window.showFPS) {
|
||||||
delta = renderedFrames - lastFrames;
|
delta = renderedFrames - lastFrames;
|
||||||
var fps = parseInt(delta/(ms/1000), 10);
|
var fps = parseInt(delta/(ms/1000), 10);
|
||||||
$('#khz').text( fps + 'fps');
|
$('#khz').text( fps + 'fps');
|
||||||
|
@ -472,7 +471,7 @@ function updateKHz() {
|
||||||
lastFrames = renderedFrames;
|
lastFrames = renderedFrames;
|
||||||
}
|
}
|
||||||
|
|
||||||
function updateSound() {
|
window.updateSound = function updateSound() {
|
||||||
var on = $('#enable_sound').prop('checked');
|
var on = $('#enable_sound').prop('checked');
|
||||||
var label = $('#toggle-sound i');
|
var label = $('#toggle-sound i');
|
||||||
audio.enable(on);
|
audio.enable(on);
|
||||||
|
@ -481,7 +480,7 @@ function updateSound() {
|
||||||
} else {
|
} else {
|
||||||
label.removeClass('fa-volume-up').addClass('fa-volume-off');
|
label.removeClass('fa-volume-up').addClass('fa-volume-off');
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
|
||||||
function dumpDisk(drive) {
|
function dumpDisk(drive) {
|
||||||
var wind = window.open('', '_blank');
|
var wind = window.open('', '_blank');
|
||||||
|
@ -492,16 +491,16 @@ function dumpDisk(drive) {
|
||||||
wind.document.close();
|
wind.document.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
function dumpProgram() {
|
window.dumpProgram = function() {
|
||||||
var wind = window.open('', '_blank');
|
var wind = window.open('', '_blank');
|
||||||
wind.document.title = 'Program Listing';
|
wind.document.title = 'Program Listing';
|
||||||
wind.document.write('<pre>');
|
wind.document.write('<pre>');
|
||||||
wind.document.write(dumper.toString());
|
wind.document.write(dumper.toString());
|
||||||
wind.document.write('</pre>');
|
wind.document.write('</pre>');
|
||||||
wind.document.close();
|
wind.document.close();
|
||||||
}
|
};
|
||||||
|
|
||||||
function step()
|
window.step = function()
|
||||||
{
|
{
|
||||||
if (runTimer) {
|
if (runTimer) {
|
||||||
clearInterval(runTimer);
|
clearInterval(runTimer);
|
||||||
|
@ -512,11 +511,11 @@ function step()
|
||||||
debug(cpu.dumpRegisters());
|
debug(cpu.dumpRegisters());
|
||||||
debug(cpu.dumpPC());
|
debug(cpu.dumpPC());
|
||||||
});
|
});
|
||||||
}
|
};
|
||||||
|
|
||||||
var accelerated = false;
|
var accelerated = false;
|
||||||
|
|
||||||
function updateCPU()
|
window.updateCPU = function updateCPU()
|
||||||
{
|
{
|
||||||
accelerated = $('#accelerator_toggle').prop('checked');
|
accelerated = $('#accelerator_toggle').prop('checked');
|
||||||
kHz = accelerated ? 4092 : 1023;
|
kHz = accelerated ? 4092 : 1023;
|
||||||
|
@ -524,7 +523,7 @@ function updateCPU()
|
||||||
if (runTimer) {
|
if (runTimer) {
|
||||||
run();
|
run();
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
|
||||||
var _requestAnimationFrame =
|
var _requestAnimationFrame =
|
||||||
window.requestAnimationFrame ||
|
window.requestAnimationFrame ||
|
||||||
|
@ -685,7 +684,7 @@ function loadBinary(bin) {
|
||||||
run(bin.start);
|
run(bin.start);
|
||||||
}
|
}
|
||||||
|
|
||||||
function selectCategory() {
|
window.selectCategory = function() {
|
||||||
$('#disk_select').empty();
|
$('#disk_select').empty();
|
||||||
var cat = disk_categories[$('#category_select').val()];
|
var cat = disk_categories[$('#category_select').val()];
|
||||||
if (cat) {
|
if (cat) {
|
||||||
|
@ -701,15 +700,15 @@ function selectCategory() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
|
||||||
function selectDisk() {
|
window.selectDisk = function() {
|
||||||
$('#local_file').val('');
|
$('#local_file').val('');
|
||||||
}
|
};
|
||||||
|
|
||||||
function clickDisk() {
|
window.clickDisk = function() {
|
||||||
doLoad();
|
doLoad();
|
||||||
}
|
};
|
||||||
|
|
||||||
function loadDisk(drive, disk) {
|
function loadDisk(drive, disk) {
|
||||||
var name = disk.name;
|
var name = disk.name;
|
||||||
|
@ -875,31 +874,32 @@ function _keyup(evt) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function updateScreen() {
|
window.updateScreen = function updateScreen() {
|
||||||
var green = $('#green_screen').prop('checked');
|
var green = $('#green_screen').prop('checked');
|
||||||
var scanlines = $('#show_scanlines').prop('checked');
|
var scanlines = $('#show_scanlines').prop('checked');
|
||||||
|
|
||||||
vm.green(green);
|
vm.green(green);
|
||||||
vm.scanlines(scanlines);
|
vm.scanlines(scanlines);
|
||||||
}
|
};
|
||||||
|
|
||||||
var disableMouseJoystick = false;
|
var disableMouseJoystick = false;
|
||||||
var flipX = false;
|
var flipX = false;
|
||||||
var flipY = false;
|
var flipY = false;
|
||||||
var swapXY = false;
|
var swapXY = false;
|
||||||
|
|
||||||
function updateJoystick() {
|
window.updateJoystick = function() {
|
||||||
disableMouseJoystick = $('#disable_mouse').prop('checked');
|
disableMouseJoystick = $('#disable_mouse').prop('checked');
|
||||||
flipX = $('#flip_x').prop('checked');
|
flipX = $('#flip_x').prop('checked');
|
||||||
flipY = $('#flip_y').prop('checked');
|
flipY = $('#flip_y').prop('checked');
|
||||||
swapXY = $('#swap_x_y').prop('checked');
|
swapXY = $('#swap_x_y').prop('checked');
|
||||||
|
configGamepad(flipX, flipY);
|
||||||
|
|
||||||
if (disableMouseJoystick) {
|
if (disableMouseJoystick) {
|
||||||
io.paddle(0, 0.5);
|
io.paddle(0, 0.5);
|
||||||
io.paddle(1, 0.5);
|
io.paddle(1, 0.5);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
|
||||||
function _mousemove(evt) {
|
function _mousemove(evt) {
|
||||||
if (gamepad || disableMouseJoystick) {
|
if (gamepad || disableMouseJoystick) {
|
||||||
|
@ -921,7 +921,7 @@ function _mousemove(evt) {
|
||||||
io.paddle(1, flipY ? 1 - y : y);
|
io.paddle(1, flipY ? 1 - y : y);
|
||||||
}
|
}
|
||||||
|
|
||||||
function pauseRun() {
|
window.pauseRun = function() {
|
||||||
var label = $('#pause-run i');
|
var label = $('#pause-run i');
|
||||||
if (paused) {
|
if (paused) {
|
||||||
run();
|
run();
|
||||||
|
@ -931,13 +931,13 @@ function pauseRun() {
|
||||||
label.removeClass('fa-pause').addClass('fa-play');
|
label.removeClass('fa-pause').addClass('fa-play');
|
||||||
}
|
}
|
||||||
paused = !paused;
|
paused = !paused;
|
||||||
}
|
};
|
||||||
|
|
||||||
function toggleSound() {
|
window.toggleSound = function() {
|
||||||
var enableSound = $('#enable_sound');
|
var enableSound = $('#enable_sound');
|
||||||
enableSound.prop('checked', !enableSound.prop('checked'));
|
enableSound.prop('checked', !enableSound.prop('checked'));
|
||||||
updateSound();
|
window.updateSound();
|
||||||
}
|
};
|
||||||
|
|
||||||
$(function() {
|
$(function() {
|
||||||
hashtag = document.location.hash;
|
hashtag = document.location.hash;
|
||||||
|
@ -1000,9 +1000,9 @@ $(function() {
|
||||||
|
|
||||||
reset();
|
reset();
|
||||||
setInterval(updateKHz, 1000);
|
setInterval(updateKHz, 1000);
|
||||||
updateSound();
|
window.updateSound();
|
||||||
updateScreen();
|
window.updateScreen();
|
||||||
updateCPU();
|
window.updateCPU();
|
||||||
|
|
||||||
var cancel = function() { $(this).dialog('close'); };
|
var cancel = function() { $(this).dialog('close'); };
|
||||||
$('#loading').dialog({ autoOpen: false, modal: true });
|
$('#loading').dialog({ autoOpen: false, modal: true });
|
||||||
|
@ -1052,8 +1052,8 @@ $(function() {
|
||||||
}
|
}
|
||||||
|
|
||||||
var oldcat = '';
|
var oldcat = '';
|
||||||
for (var idx = 0; idx < disk_index.length; idx++) {
|
for (var idx = 0; idx < window.disk_index.length; idx++) {
|
||||||
var file = disk_index[idx];
|
var file = window.disk_index[idx];
|
||||||
var cat = file.category;
|
var cat = file.category;
|
||||||
var name = file.name, disk = file.disk;
|
var name = file.name, disk = file.disk;
|
||||||
if (file.e) {
|
if (file.e) {
|
||||||
|
|
153
js/main2e.js
153
js/main2e.js
|
@ -1,35 +1,30 @@
|
||||||
/* globals debug: false, gup: false, hup: false, toHex: false,
|
import Apple2IO from './apple2io';
|
||||||
CPU6502: false,
|
import ApplesoftDump from './applesoft/decompiler';
|
||||||
Apple2eROM: false, Apple2eEnhancedROM: false,
|
import { HiresPage, LoresPage, VideoModes } from './canvas';
|
||||||
apple2e_charset: false, rmfont_charset: false,
|
import CPU6502 from './cpu6502';
|
||||||
apple2enh_charset: false,
|
import MMU from './mmu';
|
||||||
Apple2IO: false
|
import Prefs from './prefs';
|
||||||
LoresPage: false, HiresPage: false, VideoModes: false,
|
import { debug, gup, hup } from './util';
|
||||||
KeyBoard: false,
|
|
||||||
Parallel: false,
|
import Audio from './ui/audio';
|
||||||
DiskII: false,
|
import { gamepad, configGamepad, initGamepad, processGamepad } from './ui/gamepad';
|
||||||
Printer: false,
|
import KeyBoard from './ui/keyboard';
|
||||||
MMU: false,
|
import Printer from './ui/printer';
|
||||||
RAMFactor: false,
|
import Tape from './ui/tape';
|
||||||
Thunderclock: false,
|
|
||||||
Prefs: false,
|
import DiskII from './cards/disk2';
|
||||||
disk_index: false,
|
import Parallel from './cards/parallel';
|
||||||
Audio: false,
|
import RAMFactor from './cards/ramfactor';
|
||||||
initGamepad: false, processGamepad: false, gamepad: false,
|
import Thunderclock from './cards/thunderclock';
|
||||||
Tape: false,
|
|
||||||
ApplesoftDump: false, SYMBOLS: false,
|
import apple2e_charset from './roms/apple2e_char';
|
||||||
multiScreen: true
|
import apple2enh_charset from './roms/apple2enh_char';
|
||||||
*/
|
import rmfont_charset from './roms/rmfont_char';
|
||||||
/* exported openLoad, openSave, doDelete, handleDragOver, handleDragEnd, handleDrop,
|
|
||||||
selectCategory, selectDisk, clickDisk,
|
import Apple2eROM from './roms/apple2e';
|
||||||
multiScreen,
|
import Apple2eEnhancedROM from './roms/apple2enh';
|
||||||
updateJoystick,
|
|
||||||
pauseRun, step,
|
import SYMBOLS from './symbols';
|
||||||
toggleSound,
|
|
||||||
restoreState, saveState,
|
|
||||||
dumpProgram, PageDebug,
|
|
||||||
enhanced
|
|
||||||
*/
|
|
||||||
|
|
||||||
var kHz = 1023;
|
var kHz = 1023;
|
||||||
|
|
||||||
|
@ -50,6 +45,7 @@ var trace = [];
|
||||||
* Page viewer
|
* Page viewer
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
function PageDebug(page)
|
function PageDebug(page)
|
||||||
{
|
{
|
||||||
var _page = page;
|
var _page = page;
|
||||||
|
@ -81,6 +77,7 @@ function PageDebug(page)
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
var disk_categories = {'Local Saves': []};
|
var disk_categories = {'Local Saves': []};
|
||||||
var disk_sets = {};
|
var disk_sets = {};
|
||||||
|
@ -126,7 +123,7 @@ var TAPE_TYPES = ['wav','aiff','aif','mp3','m4a'];
|
||||||
|
|
||||||
var _currentDrive = 1;
|
var _currentDrive = 1;
|
||||||
|
|
||||||
function openLoad(drive, event)
|
window.openLoad = function(drive, event)
|
||||||
{
|
{
|
||||||
_currentDrive = parseInt(drive, 10);
|
_currentDrive = parseInt(drive, 10);
|
||||||
if (event.metaKey) {
|
if (event.metaKey) {
|
||||||
|
@ -137,9 +134,9 @@ function openLoad(drive, event)
|
||||||
}
|
}
|
||||||
$('#load').dialog('open');
|
$('#load').dialog('open');
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
|
||||||
function openSave(drive, event)
|
window.openSave = function(drive, event)
|
||||||
{
|
{
|
||||||
_currentDrive = parseInt(drive, 10);
|
_currentDrive = parseInt(drive, 10);
|
||||||
|
|
||||||
|
@ -157,14 +154,14 @@ function openSave(drive, event)
|
||||||
$('#save_name').val(drivelights.label(drive));
|
$('#save_name').val(drivelights.label(drive));
|
||||||
$('#save').dialog('open');
|
$('#save').dialog('open');
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
|
||||||
function handleDragOver(drive, event) {
|
window.handleDragOver = function(drive, event) {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
event.dataTransfer.dropEffect = 'copy';
|
event.dataTransfer.dropEffect = 'copy';
|
||||||
}
|
};
|
||||||
|
|
||||||
function handleDragEnd(drive, event) {
|
window.handleDragEnd = function(drive, event) {
|
||||||
var dt = event.dataTransfer;
|
var dt = event.dataTransfer;
|
||||||
if (dt.items) {
|
if (dt.items) {
|
||||||
for (var i = 0; i < dt.items.length; i++) {
|
for (var i = 0; i < dt.items.length; i++) {
|
||||||
|
@ -173,9 +170,9 @@ function handleDragEnd(drive, event) {
|
||||||
} else {
|
} else {
|
||||||
event.dataTransfer.clearData();
|
event.dataTransfer.clearData();
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
|
||||||
function handleDrop(drive, event) {
|
window.handleDrop = function(drive, event) {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
event.stopPropagation();
|
event.stopPropagation();
|
||||||
|
|
||||||
|
@ -195,7 +192,7 @@ function handleDrop(drive, event) {
|
||||||
doLoadLocal(1, dt.files[0]);
|
doLoadLocal(1, dt.files[0]);
|
||||||
doLoadLocal(2, dt.files[1]);
|
doLoadLocal(2, dt.files[1]);
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
|
||||||
var loading = false;
|
var loading = false;
|
||||||
|
|
||||||
|
@ -269,11 +266,11 @@ function doSave() {
|
||||||
$('#save').dialog('close');
|
$('#save').dialog('close');
|
||||||
}
|
}
|
||||||
|
|
||||||
function doDelete(name) {
|
window.doDelete = function(name) {
|
||||||
if (window.confirm('Delete ' + name + '?')) {
|
if (window.confirm('Delete ' + name + '?')) {
|
||||||
deleteLocalStorage(name);
|
deleteLocalStorage(name);
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
|
||||||
function doLoadLocal(drive, file) {
|
function doLoadLocal(drive, file) {
|
||||||
var parts = file.name.split('.');
|
var parts = file.name.split('.');
|
||||||
|
@ -340,6 +337,7 @@ function openManage() {
|
||||||
var prefs = new Prefs();
|
var prefs = new Prefs();
|
||||||
var romVersion = prefs.readPref('computer_type2e');
|
var romVersion = prefs.readPref('computer_type2e');
|
||||||
var enhanced = false;
|
var enhanced = false;
|
||||||
|
var multiScreen = false;
|
||||||
var rom;
|
var rom;
|
||||||
var char_rom = apple2e_charset;
|
var char_rom = apple2e_charset;
|
||||||
switch (romVersion) {
|
switch (romVersion) {
|
||||||
|
@ -390,11 +388,13 @@ var hgr = new HiresPage(1, context3);
|
||||||
var hgr2 = new HiresPage(2, context4);
|
var hgr2 = new HiresPage(2, context4);
|
||||||
|
|
||||||
var vm = new VideoModes(gr, hgr, gr2, hgr2, true);
|
var vm = new VideoModes(gr, hgr, gr2, hgr2, true);
|
||||||
|
vm.enhanced(enhanced);
|
||||||
|
vm.multiScreen(multiScreen);
|
||||||
var dumper = new ApplesoftDump(cpu);
|
var dumper = new ApplesoftDump(cpu);
|
||||||
|
|
||||||
var drivelights = new DriveLights();
|
var drivelights = new DriveLights();
|
||||||
var io = new Apple2IO(cpu, vm);
|
var io = new Apple2IO(cpu, vm);
|
||||||
var keyboard = new KeyBoard(io, true);
|
var keyboard = new KeyBoard(cpu, io, true);
|
||||||
var audio = new Audio(io);
|
var audio = new Audio(io);
|
||||||
var tape = new Tape(io);
|
var tape = new Tape(io);
|
||||||
var printer = new Printer($('#printer .paper'));
|
var printer = new Printer($('#printer .paper'));
|
||||||
|
@ -413,7 +413,7 @@ io.setSlot(2, slinky);
|
||||||
io.setSlot(6, disk2);
|
io.setSlot(6, disk2);
|
||||||
io.setSlot(7, clock);
|
io.setSlot(7, clock);
|
||||||
|
|
||||||
var showFPS = false;
|
window.showFPS = false;
|
||||||
|
|
||||||
function updateKHz() {
|
function updateKHz() {
|
||||||
var now = Date.now();
|
var now = Date.now();
|
||||||
|
@ -421,7 +421,7 @@ function updateKHz() {
|
||||||
var cycles = cpu.cycles();
|
var cycles = cpu.cycles();
|
||||||
var delta;
|
var delta;
|
||||||
|
|
||||||
if (showFPS) {
|
if (window.showFPS) {
|
||||||
delta = renderedFrames - lastFrames;
|
delta = renderedFrames - lastFrames;
|
||||||
var fps = parseInt(delta/(ms/1000), 10);
|
var fps = parseInt(delta/(ms/1000), 10);
|
||||||
$('#khz').text( fps + 'fps');
|
$('#khz').text( fps + 'fps');
|
||||||
|
@ -436,7 +436,7 @@ function updateKHz() {
|
||||||
lastFrames = renderedFrames;
|
lastFrames = renderedFrames;
|
||||||
}
|
}
|
||||||
|
|
||||||
function updateSound() {
|
window.updateSound = function() {
|
||||||
var on = $('#enable_sound').prop('checked');
|
var on = $('#enable_sound').prop('checked');
|
||||||
var label = $('#toggle-sound i');
|
var label = $('#toggle-sound i');
|
||||||
audio.enable(on);
|
audio.enable(on);
|
||||||
|
@ -445,7 +445,7 @@ function updateSound() {
|
||||||
} else {
|
} else {
|
||||||
label.removeClass('fa-volume-up').addClass('fa-volume-off');
|
label.removeClass('fa-volume-up').addClass('fa-volume-off');
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
|
||||||
function dumpDisk(drive) {
|
function dumpDisk(drive) {
|
||||||
var wind = window.open('', '_blank');
|
var wind = window.open('', '_blank');
|
||||||
|
@ -456,16 +456,16 @@ function dumpDisk(drive) {
|
||||||
wind.document.close();
|
wind.document.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
function dumpProgram() {
|
window.dumpProgram = function() {
|
||||||
var wind = window.open('', '_blank');
|
var wind = window.open('', '_blank');
|
||||||
wind.document.title = 'Program Listing';
|
wind.document.title = 'Program Listing';
|
||||||
wind.document.write('<pre>');
|
wind.document.write('<pre>');
|
||||||
wind.document.write(dumper.toString());
|
wind.document.write(dumper.toString());
|
||||||
wind.document.write('</pre>');
|
wind.document.write('</pre>');
|
||||||
wind.document.close();
|
wind.document.close();
|
||||||
}
|
};
|
||||||
|
|
||||||
function step()
|
window.step = function()
|
||||||
{
|
{
|
||||||
if (runTimer) {
|
if (runTimer) {
|
||||||
clearInterval(runTimer);
|
clearInterval(runTimer);
|
||||||
|
@ -476,11 +476,11 @@ function step()
|
||||||
debug(cpu.dumpRegisters());
|
debug(cpu.dumpRegisters());
|
||||||
debug(cpu.dumpPC());
|
debug(cpu.dumpPC());
|
||||||
});
|
});
|
||||||
}
|
};
|
||||||
|
|
||||||
var accelerated = false;
|
var accelerated = false;
|
||||||
|
|
||||||
function updateCPU()
|
window.updateCPU = function()
|
||||||
{
|
{
|
||||||
accelerated = $('#accelerator_toggle').prop('checked');
|
accelerated = $('#accelerator_toggle').prop('checked');
|
||||||
kHz = accelerated ? 4092 : 1023;
|
kHz = accelerated ? 4092 : 1023;
|
||||||
|
@ -488,7 +488,7 @@ function updateCPU()
|
||||||
if (runTimer) {
|
if (runTimer) {
|
||||||
run();
|
run();
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
|
||||||
var _requestAnimationFrame =
|
var _requestAnimationFrame =
|
||||||
window.requestAnimationFrame ||
|
window.requestAnimationFrame ||
|
||||||
|
@ -634,7 +634,7 @@ function loadBinary(bin) {
|
||||||
run(bin.start);
|
run(bin.start);
|
||||||
}
|
}
|
||||||
|
|
||||||
function selectCategory() {
|
window.selectCategory = function() {
|
||||||
$('#disk_select').empty();
|
$('#disk_select').empty();
|
||||||
var cat = disk_categories[$('#category_select').val()];
|
var cat = disk_categories[$('#category_select').val()];
|
||||||
if (cat) {
|
if (cat) {
|
||||||
|
@ -650,15 +650,15 @@ function selectCategory() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
|
||||||
function selectDisk() {
|
window.selectDisk = function() {
|
||||||
$('#local_file').val('');
|
$('#local_file').val('');
|
||||||
}
|
};
|
||||||
|
|
||||||
function clickDisk() {
|
window.clickDisk = function() {
|
||||||
doLoad();
|
doLoad();
|
||||||
}
|
};
|
||||||
|
|
||||||
function loadDisk(drive, disk) {
|
function loadDisk(drive, disk) {
|
||||||
var name = disk.name;
|
var name = disk.name;
|
||||||
|
@ -770,6 +770,8 @@ function processHash(hash) {
|
||||||
* Keyboard/Gamepad routines
|
* Keyboard/Gamepad routines
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
window.reset = keyboard.reset;
|
||||||
|
|
||||||
function _keydown(evt) {
|
function _keydown(evt) {
|
||||||
audio.autoStart();
|
audio.autoStart();
|
||||||
|
|
||||||
|
@ -852,31 +854,32 @@ function _keyup(evt) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function updateScreen() {
|
window.updateScreen = function() {
|
||||||
var green = $('#green_screen').prop('checked');
|
var green = $('#green_screen').prop('checked');
|
||||||
var scanlines = $('#show_scanlines').prop('checked');
|
var scanlines = $('#show_scanlines').prop('checked');
|
||||||
|
|
||||||
vm.green(green);
|
vm.green(green);
|
||||||
vm.scanlines(scanlines);
|
vm.scanlines(scanlines);
|
||||||
}
|
};
|
||||||
|
|
||||||
var disableMouseJoystick = false;
|
var disableMouseJoystick = false;
|
||||||
var flipX = false;
|
var flipX = false;
|
||||||
var flipY = false;
|
var flipY = false;
|
||||||
var swapXY = false;
|
var swapXY = false;
|
||||||
|
|
||||||
function updateJoystick() {
|
window.updateJoystick = function() {
|
||||||
disableMouseJoystick = $('#disable_mouse').prop('checked');
|
disableMouseJoystick = $('#disable_mouse').prop('checked');
|
||||||
flipX = $('#flip_x').prop('checked');
|
flipX = $('#flip_x').prop('checked');
|
||||||
flipY = $('#flip_y').prop('checked');
|
flipY = $('#flip_y').prop('checked');
|
||||||
swapXY = $('#swap_x_y').prop('checked');
|
swapXY = $('#swap_x_y').prop('checked');
|
||||||
|
configGamepad(flipX, flipY);
|
||||||
|
|
||||||
if (disableMouseJoystick) {
|
if (disableMouseJoystick) {
|
||||||
io.paddle(0, 0.5);
|
io.paddle(0, 0.5);
|
||||||
io.paddle(1, 0.5);
|
io.paddle(1, 0.5);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
|
||||||
function _mousemove(evt) {
|
function _mousemove(evt) {
|
||||||
if (gamepad || disableMouseJoystick) {
|
if (gamepad || disableMouseJoystick) {
|
||||||
|
@ -898,7 +901,7 @@ function _mousemove(evt) {
|
||||||
io.paddle(1, flipY ? 1 - y : y);
|
io.paddle(1, flipY ? 1 - y : y);
|
||||||
}
|
}
|
||||||
|
|
||||||
function pauseRun() {
|
window.pauseRun = function() {
|
||||||
var label = $('#pause-run i');
|
var label = $('#pause-run i');
|
||||||
if (paused) {
|
if (paused) {
|
||||||
run();
|
run();
|
||||||
|
@ -908,13 +911,13 @@ function pauseRun() {
|
||||||
label.removeClass('fa-pause').addClass('fa-play');
|
label.removeClass('fa-pause').addClass('fa-play');
|
||||||
}
|
}
|
||||||
paused = !paused;
|
paused = !paused;
|
||||||
}
|
};
|
||||||
|
|
||||||
function toggleSound() {
|
window.toggleSound = function() {
|
||||||
var enableSound = $('#enable_sound');
|
var enableSound = $('#enable_sound');
|
||||||
enableSound.prop('checked', !enableSound.prop('checked'));
|
enableSound.prop('checked', !enableSound.prop('checked'));
|
||||||
updateSound();
|
window.updateSound();
|
||||||
}
|
};
|
||||||
|
|
||||||
$(function() {
|
$(function() {
|
||||||
hashtag = document.location.hash;
|
hashtag = document.location.hash;
|
||||||
|
@ -977,9 +980,9 @@ $(function() {
|
||||||
|
|
||||||
reset();
|
reset();
|
||||||
setInterval(updateKHz, 1000);
|
setInterval(updateKHz, 1000);
|
||||||
updateSound();
|
window.updateSound();
|
||||||
updateScreen();
|
window.updateScreen();
|
||||||
updateCPU();
|
window.updateCPU();
|
||||||
|
|
||||||
var cancel = function() { $(this).dialog('close'); };
|
var cancel = function() { $(this).dialog('close'); };
|
||||||
$('#loading').dialog({ autoOpen: false, modal: true });
|
$('#loading').dialog({ autoOpen: false, modal: true });
|
||||||
|
@ -1029,8 +1032,8 @@ $(function() {
|
||||||
}
|
}
|
||||||
|
|
||||||
var oldcat = '';
|
var oldcat = '';
|
||||||
for (var idx = 0; idx < disk_index.length; idx++) {
|
for (var idx = 0; idx < window.disk_index.length; idx++) {
|
||||||
var file = disk_index[idx];
|
var file = window.disk_index[idx];
|
||||||
var cat = file.category;
|
var cat = file.category;
|
||||||
var name = file.name, disk = file.disk;
|
var name = file.name, disk = file.disk;
|
||||||
if (cat != oldcat) {
|
if (cat != oldcat) {
|
||||||
|
|
18
js/mmu.js
18
js/mmu.js
|
@ -1,4 +1,4 @@
|
||||||
/* Copyright 2010-2017 Will Scullin <scullin@scullinsteel.com>
|
/* Copyright 2010-2019 Will Scullin <scullin@scullinsteel.com>
|
||||||
*
|
*
|
||||||
* Permission to use, copy, modify, distribute, and sell this software and its
|
* Permission to use, copy, modify, distribute, and sell this software and its
|
||||||
* documentation for any purpose is hereby granted without fee, provided that
|
* documentation for any purpose is hereby granted without fee, provided that
|
||||||
|
@ -9,15 +9,11 @@
|
||||||
* implied warranty.
|
* implied warranty.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*exported MMU */
|
import RAM from './ram';
|
||||||
/*globals debug: false, toHex: false
|
import { debug, toHex } from './util';
|
||||||
RAM: false
|
|
||||||
*/
|
|
||||||
|
|
||||||
function MMU(cpu, vm, lores1, lores2, hires1, hires2, io, rom)
|
export default function MMU(cpu, vm, lores1, lores2, hires1, hires2, io, rom)
|
||||||
{
|
{
|
||||||
'use strict';
|
|
||||||
|
|
||||||
var idx;
|
var idx;
|
||||||
|
|
||||||
var _readPages = new Array(0x100);
|
var _readPages = new Array(0x100);
|
||||||
|
@ -494,7 +490,7 @@ function MMU(cpu, vm, lores1, lores2, hires1, hires2, io, rom)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
// Graphics Switches
|
// Graphics Switches
|
||||||
|
|
||||||
case LOC.PAGE1:
|
case LOC.PAGE1:
|
||||||
_page2 = false;
|
_page2 = false;
|
||||||
|
@ -523,7 +519,7 @@ function MMU(cpu, vm, lores1, lores2, hires1, hires2, io, rom)
|
||||||
_debug('Hires on');
|
_debug('Hires on');
|
||||||
break;
|
break;
|
||||||
|
|
||||||
// Language Card Switches
|
// Language Card Switches
|
||||||
|
|
||||||
case LOC.READBSR2: // 0xC080
|
case LOC.READBSR2: // 0xC080
|
||||||
case LOC._READBSR2: // 0xC084
|
case LOC._READBSR2: // 0xC084
|
||||||
|
@ -590,7 +586,7 @@ function MMU(cpu, vm, lores1, lores2, hires1, hires2, io, rom)
|
||||||
//_debug('Bank 1 Read/Write');
|
//_debug('Bank 1 Read/Write');
|
||||||
break;
|
break;
|
||||||
|
|
||||||
// Status registers
|
// Status registers
|
||||||
|
|
||||||
case LOC.BSRBANK2:
|
case LOC.BSRBANK2:
|
||||||
_debug('Bank 2 Read ' + !_bank1);
|
_debug('Bank 2 Read ' + !_bank1);
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* Copyright 2010-2017 Will Scullin <scullin@scullinsteel.com>
|
/* Copyright 2010-2019 Will Scullin <scullin@scullinsteel.com>
|
||||||
*
|
*
|
||||||
* Permission to use, copy, modify, distribute, and sell this software and its
|
* Permission to use, copy, modify, distribute, and sell this software and its
|
||||||
* documentation for any purpose is hereby granted without fee, provided that
|
* documentation for any purpose is hereby granted without fee, provided that
|
||||||
|
@ -9,12 +9,8 @@
|
||||||
* implied warranty.
|
* implied warranty.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*exported Prefs */
|
export default function Prefs()
|
||||||
|
|
||||||
function Prefs()
|
|
||||||
{
|
{
|
||||||
'use strict';
|
|
||||||
|
|
||||||
return {
|
return {
|
||||||
havePrefs: function() {
|
havePrefs: function() {
|
||||||
return typeof(localStorage) != 'undefined';
|
return typeof(localStorage) != 'undefined';
|
||||||
|
|
12
js/ram.js
12
js/ram.js
|
@ -1,4 +1,4 @@
|
||||||
/* Copyright 2010-2017 Will Scullin <scullin@scullinsteel.com>
|
/* Copyright 2010-2019 Will Scullin <scullin@scullinsteel.com>
|
||||||
*
|
*
|
||||||
* Permission to use, copy, modify, distribute, and sell this software and its
|
* Permission to use, copy, modify, distribute, and sell this software and its
|
||||||
* documentation for any purpose is hereby granted without fee, provided that
|
* documentation for any purpose is hereby granted without fee, provided that
|
||||||
|
@ -9,14 +9,10 @@
|
||||||
* implied warranty.
|
* implied warranty.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*exported RAM */
|
import { base64_decode, base64_encode } from './base64';
|
||||||
/*globals allocMemPages: false
|
import { allocMemPages } from './util';
|
||||||
base64_encode: false, base64_decode: false
|
|
||||||
*/
|
|
||||||
|
|
||||||
function RAM(sp, ep) {
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
|
export default function RAM(sp, ep) {
|
||||||
var mem;
|
var mem;
|
||||||
var start_page = sp;
|
var start_page = sp;
|
||||||
var end_page = ep;
|
var end_page = ep;
|
||||||
|
|
|
@ -258,3 +258,5 @@ var apple2_charset = [
|
||||||
0x80,0x90,0x88,0x84,0x82,0x84,0x88,0x90,
|
0x80,0x90,0x88,0x84,0x82,0x84,0x88,0x90,
|
||||||
0x80,0x9c,0xa2,0x84,0x88,0x88,0x80,0x88
|
0x80,0x9c,0xa2,0x84,0x88,0x88,0x80,0x88
|
||||||
];
|
];
|
||||||
|
|
||||||
|
export default apple2_charset;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*exported Apple2eROM*/
|
/*exported Apple2eROM*/
|
||||||
|
|
||||||
function Apple2eROM()
|
export default function Apple2eROM()
|
||||||
{
|
{
|
||||||
var rom = [
|
var rom = [
|
||||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||||
|
|
|
@ -514,3 +514,5 @@ var apple2e_charset = [
|
||||||
0x81,0x81,0x11,0x44,0x81,0x81,0x00,0x00,
|
0x81,0x81,0x11,0x44,0x81,0x81,0x00,0x00,
|
||||||
0x80,0x80,0x00,0x00,0x80,0x80,0x00,0x00
|
0x80,0x80,0x00,0x00,0x80,0x80,0x00,0x00
|
||||||
];
|
];
|
||||||
|
|
||||||
|
export default apple2e_charset;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*exported Apple2eEnhancedROM */
|
/*exported Apple2eEnhancedROM */
|
||||||
|
|
||||||
function Apple2eEnhancedROM()
|
export default function Apple2eEnhancedROM()
|
||||||
{
|
{
|
||||||
var rom = [
|
var rom = [
|
||||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||||
|
|
|
@ -514,3 +514,5 @@ var apple2enh_charset = [
|
||||||
0x81,0x81,0x11,0x44,0x81,0x81,0x00,0x00,
|
0x81,0x81,0x11,0x44,0x81,0x81,0x00,0x00,
|
||||||
0x80,0x80,0x00,0x00,0x80,0x80,0x00,0x00
|
0x80,0x80,0x00,0x00,0x80,0x80,0x00,0x00
|
||||||
];
|
];
|
||||||
|
|
||||||
|
export default apple2enh_charset;
|
||||||
|
|
1559
js/roms/apple2j.js
Normal file
1559
js/roms/apple2j.js
Normal file
File diff suppressed because it is too large
Load Diff
262
js/roms/apple2j_char.js
Normal file
262
js/roms/apple2j_char.js
Normal file
|
@ -0,0 +1,262 @@
|
||||||
|
/* exported apple2j_charset */
|
||||||
|
|
||||||
|
var apple2j_charset = [
|
||||||
|
0xff,0xef,0xe1,0xed,0xd5,0xfb,0xf7,0xef,
|
||||||
|
0xff,0xfb,0xc7,0xf7,0xc1,0xf7,0xf7,0xef,
|
||||||
|
0xff,0xff,0xd5,0xd5,0xfd,0xfd,0xfb,0xf7,
|
||||||
|
0xff,0xff,0xe3,0xff,0xc1,0xf7,0xf7,0xef,
|
||||||
|
0xff,0xef,0xef,0xef,0xe7,0xeb,0xef,0xef,
|
||||||
|
0xff,0xf7,0xf7,0xc1,0xf7,0xf7,0xf7,0xef,
|
||||||
|
0xff,0xff,0xe3,0xff,0xff,0xff,0xff,0xc1,
|
||||||
|
0xff,0xff,0xc1,0xfd,0xeb,0xf7,0xeb,0xdf,
|
||||||
|
0xff,0xf7,0xc1,0xfb,0xf3,0xe5,0xd7,0xf7,
|
||||||
|
0xff,0xff,0xfd,0xfd,0xfb,0xf7,0xef,0xdf,
|
||||||
|
0xff,0xff,0xff,0xeb,0xed,0xed,0xed,0xdd,
|
||||||
|
0xff,0xff,0xdf,0xdf,0xc1,0xdf,0xdf,0xc1,
|
||||||
|
0xff,0xff,0xc1,0xfd,0xfd,0xfb,0xf7,0xef,
|
||||||
|
0xff,0xff,0xff,0xef,0xd7,0xfb,0xfd,0xff,
|
||||||
|
0xff,0xf7,0xf7,0xc1,0xf7,0xd5,0xd5,0xf7,
|
||||||
|
0xff,0xff,0xc1,0xfd,0xfd,0xeb,0xf7,0xfb,
|
||||||
|
0xff,0xef,0xf1,0xff,0xf1,0xff,0xef,0xf1,
|
||||||
|
0xff,0xff,0xfb,0xf7,0xef,0xdd,0xc1,0xfd,
|
||||||
|
0xff,0xff,0xfd,0xfd,0xeb,0xf7,0xeb,0xdf,
|
||||||
|
0xff,0xff,0xc3,0xef,0xc1,0xef,0xef,0xe1,
|
||||||
|
0xff,0xef,0xef,0xc1,0xed,0xeb,0xef,0xef,
|
||||||
|
0xff,0xff,0xe3,0xfb,0xfb,0xfb,0xfb,0xc1,
|
||||||
|
0xff,0xff,0xc1,0xfd,0xe1,0xfd,0xfd,0xc1,
|
||||||
|
0xff,0xff,0xe3,0xff,0xc1,0xfd,0xfd,0xf3,
|
||||||
|
0xff,0xff,0xed,0xed,0xed,0xfd,0xfd,0xfb,
|
||||||
|
0xff,0xff,0xd7,0xd7,0xd7,0xd5,0xd5,0xd3,
|
||||||
|
0xff,0xff,0xdf,0xdf,0xdd,0xdb,0xd7,0xcf,
|
||||||
|
0xff,0xff,0xc1,0xdd,0xdd,0xdd,0xdd,0xc1,
|
||||||
|
0xff,0xff,0xc1,0xdd,0xdd,0xfd,0xfb,0xf7,
|
||||||
|
0xff,0xff,0xcf,0xfd,0xfd,0xfb,0xf7,0xcf,
|
||||||
|
0xff,0xd7,0xd7,0xff,0xff,0xff,0xff,0xff,
|
||||||
|
0xff,0xef,0xd7,0xef,0xff,0xff,0xff,0xff,
|
||||||
|
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||||
|
0xff,0xff,0xff,0xff,0xff,0xef,0xd7,0xef,
|
||||||
|
0xff,0xe1,0xef,0xef,0xef,0xff,0xff,0xff,
|
||||||
|
0xff,0xff,0xff,0xff,0xfb,0xfb,0xfb,0xc3,
|
||||||
|
0xff,0xff,0xff,0xff,0xff,0xef,0xef,0xdf,
|
||||||
|
0xff,0xff,0xff,0xff,0xf7,0xff,0xff,0xff,
|
||||||
|
0xff,0xff,0xc1,0xfd,0xc1,0xfd,0xfb,0xf7,
|
||||||
|
0xff,0xff,0xff,0xe1,0xfd,0xf3,0xf7,0xef,
|
||||||
|
0xff,0xff,0xff,0xfb,0xf7,0xe7,0xd7,0xf7,
|
||||||
|
0xff,0xff,0xc1,0xdd,0xdd,0xdd,0xdd,0xc1,
|
||||||
|
0xff,0xff,0xc1,0xdd,0xdd,0xfd,0xfb,0xf7,
|
||||||
|
0xff,0xff,0xef,0xd7,0xef,0xff,0xff,0xff,
|
||||||
|
0xff,0xff,0xff,0xef,0xc1,0xed,0xeb,0xef,
|
||||||
|
0xff,0xff,0xff,0xff,0xe3,0xfb,0xfb,0xc1,
|
||||||
|
0xff,0xff,0xff,0xe1,0xfd,0xe1,0xfd,0xe1,
|
||||||
|
0xff,0xff,0xff,0xff,0xd5,0xd5,0xfd,0xf3,
|
||||||
|
0xff,0xff,0xff,0xff,0xc1,0xff,0xff,0xff,
|
||||||
|
0xff,0xff,0xc1,0xfd,0xf3,0xf7,0xf7,0xef,
|
||||||
|
0xff,0xfb,0xf7,0xe7,0xd7,0xf7,0xf7,0xf7,
|
||||||
|
0xff,0xf7,0xc1,0xdd,0xfd,0xfb,0xf7,0xef,
|
||||||
|
0xff,0xff,0xc1,0xf7,0xf7,0xf7,0xf7,0xc1,
|
||||||
|
0xff,0xfb,0xc1,0xfb,0xf3,0xeb,0xdb,0xfb,
|
||||||
|
0xff,0xf7,0xf7,0xc1,0xf5,0xf5,0xed,0xdb,
|
||||||
|
0xff,0xf7,0xc1,0xf7,0xc1,0xf7,0xf7,0xf7,
|
||||||
|
0xff,0xff,0xe1,0xed,0xdd,0xfb,0xf7,0xef,
|
||||||
|
0xff,0xef,0xef,0xe1,0xdb,0xfb,0xfb,0xf7,
|
||||||
|
0xff,0xff,0xc1,0xfd,0xfd,0xfd,0xfd,0xc1,
|
||||||
|
0xff,0xff,0xeb,0xc1,0xeb,0xeb,0xfb,0xf7,
|
||||||
|
0xff,0xff,0xcf,0xff,0xcd,0xfd,0xfb,0xc7,
|
||||||
|
0xff,0xff,0xc1,0xfd,0xfb,0xf7,0xeb,0xdd,
|
||||||
|
0xff,0xff,0xef,0xc1,0xed,0xeb,0xef,0xe1,
|
||||||
|
0xff,0xff,0xdd,0xed,0xfd,0xfd,0xfb,0xf7,
|
||||||
|
0x00,0x1c,0x22,0x2a,0x2e,0x2c,0x20,0x1e,
|
||||||
|
0x00,0x08,0x14,0x22,0x22,0x3e,0x22,0x22,
|
||||||
|
0x00,0x3c,0x22,0x22,0x3c,0x22,0x22,0x3c,
|
||||||
|
0x00,0x1c,0x22,0x20,0x20,0x20,0x22,0x1c,
|
||||||
|
0x00,0x3c,0x22,0x22,0x22,0x22,0x22,0x3c,
|
||||||
|
0x00,0x3e,0x20,0x20,0x3c,0x20,0x20,0x3e,
|
||||||
|
0x00,0x3e,0x20,0x20,0x3c,0x20,0x20,0x20,
|
||||||
|
0x00,0x1e,0x20,0x20,0x20,0x26,0x22,0x1e,
|
||||||
|
0x00,0x22,0x22,0x22,0x3e,0x22,0x22,0x22,
|
||||||
|
0x00,0x1c,0x08,0x08,0x08,0x08,0x08,0x1c,
|
||||||
|
0x00,0x02,0x02,0x02,0x02,0x02,0x22,0x1c,
|
||||||
|
0x00,0x22,0x24,0x28,0x30,0x28,0x24,0x22,
|
||||||
|
0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x3e,
|
||||||
|
0x00,0x22,0x36,0x2a,0x2a,0x22,0x22,0x22,
|
||||||
|
0x00,0x22,0x22,0x32,0x2a,0x26,0x22,0x22,
|
||||||
|
0x00,0x1c,0x22,0x22,0x22,0x22,0x22,0x1c,
|
||||||
|
0x00,0x3c,0x22,0x22,0x3c,0x20,0x20,0x20,
|
||||||
|
0x00,0x1c,0x22,0x22,0x22,0x2a,0x24,0x1a,
|
||||||
|
0x00,0x3c,0x22,0x22,0x3c,0x28,0x24,0x22,
|
||||||
|
0x00,0x1c,0x22,0x20,0x1c,0x02,0x22,0x1c,
|
||||||
|
0x00,0x3e,0x08,0x08,0x08,0x08,0x08,0x08,
|
||||||
|
0x00,0x22,0x22,0x22,0x22,0x22,0x22,0x1c,
|
||||||
|
0x00,0x22,0x22,0x22,0x22,0x22,0x14,0x08,
|
||||||
|
0x00,0x22,0x22,0x22,0x2a,0x2a,0x36,0x22,
|
||||||
|
0x00,0x22,0x22,0x14,0x08,0x14,0x22,0x22,
|
||||||
|
0x00,0x22,0x22,0x14,0x08,0x08,0x08,0x08,
|
||||||
|
0x00,0x3e,0x02,0x04,0x08,0x10,0x20,0x3e,
|
||||||
|
0x00,0x3e,0x30,0x30,0x30,0x30,0x30,0x3e,
|
||||||
|
0x00,0x00,0x20,0x10,0x08,0x04,0x02,0x00,
|
||||||
|
0x00,0x3e,0x06,0x06,0x06,0x06,0x06,0x3e,
|
||||||
|
0x00,0x00,0x00,0x08,0x14,0x22,0x00,0x00,
|
||||||
|
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3e,
|
||||||
|
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||||
|
0x00,0x08,0x08,0x08,0x08,0x08,0x00,0x08,
|
||||||
|
0x00,0x14,0x14,0x14,0x00,0x00,0x00,0x00,
|
||||||
|
0x00,0x14,0x14,0x3e,0x14,0x3e,0x14,0x14,
|
||||||
|
0x00,0x08,0x1e,0x28,0x1c,0x0a,0x3c,0x08,
|
||||||
|
0x00,0x30,0x32,0x04,0x08,0x10,0x26,0x06,
|
||||||
|
0x00,0x10,0x28,0x28,0x10,0x2a,0x24,0x1a,
|
||||||
|
0x00,0x08,0x08,0x08,0x00,0x00,0x00,0x00,
|
||||||
|
0x00,0x08,0x10,0x20,0x20,0x20,0x10,0x08,
|
||||||
|
0x00,0x08,0x04,0x02,0x02,0x02,0x04,0x08,
|
||||||
|
0x00,0x08,0x2a,0x1c,0x08,0x1c,0x2a,0x08,
|
||||||
|
0x00,0x00,0x08,0x08,0x3e,0x08,0x08,0x00,
|
||||||
|
0x00,0x00,0x00,0x00,0x00,0x08,0x08,0x10,
|
||||||
|
0x00,0x00,0x00,0x00,0x3e,0x00,0x00,0x00,
|
||||||
|
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,
|
||||||
|
0x00,0x00,0x02,0x04,0x08,0x10,0x20,0x00,
|
||||||
|
0x00,0x1c,0x22,0x26,0x2a,0x32,0x22,0x1c,
|
||||||
|
0x00,0x08,0x18,0x08,0x08,0x08,0x08,0x1c,
|
||||||
|
0x00,0x1c,0x22,0x02,0x0c,0x10,0x20,0x3e,
|
||||||
|
0x00,0x3e,0x02,0x04,0x0c,0x02,0x22,0x1c,
|
||||||
|
0x00,0x04,0x0c,0x14,0x24,0x3e,0x04,0x04,
|
||||||
|
0x00,0x3e,0x20,0x3c,0x02,0x02,0x22,0x1c,
|
||||||
|
0x00,0x0e,0x10,0x20,0x3c,0x22,0x22,0x1c,
|
||||||
|
0x00,0x3e,0x02,0x04,0x08,0x10,0x10,0x10,
|
||||||
|
0x00,0x1c,0x22,0x22,0x1c,0x22,0x22,0x1c,
|
||||||
|
0x00,0x1c,0x22,0x22,0x1e,0x02,0x04,0x38,
|
||||||
|
0x00,0x00,0x00,0x08,0x00,0x08,0x00,0x00,
|
||||||
|
0x00,0x00,0x00,0x08,0x00,0x08,0x08,0x10,
|
||||||
|
0x00,0x04,0x08,0x10,0x20,0x10,0x08,0x04,
|
||||||
|
0x00,0x00,0x00,0x3e,0x00,0x3e,0x00,0x00,
|
||||||
|
0x00,0x10,0x08,0x04,0x02,0x04,0x08,0x10,
|
||||||
|
0x00,0x1c,0x22,0x04,0x08,0x08,0x00,0x08,
|
||||||
|
0x00,0x1c,0x22,0x2a,0x2e,0x2c,0x20,0x1e,
|
||||||
|
0x00,0x08,0x14,0x22,0x22,0x3e,0x22,0x22,
|
||||||
|
0x00,0x3c,0x22,0x22,0x3c,0x22,0x22,0x3c,
|
||||||
|
0x00,0x1c,0x22,0x20,0x20,0x20,0x22,0x1c,
|
||||||
|
0x00,0x3c,0x22,0x22,0x22,0x22,0x22,0x3c,
|
||||||
|
0x00,0x3e,0x20,0x20,0x3c,0x20,0x20,0x3e,
|
||||||
|
0x00,0x3e,0x20,0x20,0x3c,0x20,0x20,0x20,
|
||||||
|
0x00,0x1e,0x20,0x20,0x20,0x26,0x22,0x1e,
|
||||||
|
0x00,0x22,0x22,0x22,0x3e,0x22,0x22,0x22,
|
||||||
|
0x00,0x1c,0x08,0x08,0x08,0x08,0x08,0x1c,
|
||||||
|
0x00,0x02,0x02,0x02,0x02,0x02,0x22,0x1c,
|
||||||
|
0x00,0x22,0x24,0x28,0x30,0x28,0x24,0x22,
|
||||||
|
0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x3e,
|
||||||
|
0x00,0x22,0x36,0x2a,0x2a,0x22,0x22,0x22,
|
||||||
|
0x00,0x22,0x22,0x32,0x2a,0x26,0x22,0x22,
|
||||||
|
0x00,0x1c,0x22,0x22,0x22,0x22,0x22,0x1c,
|
||||||
|
0x00,0x3c,0x22,0x22,0x3c,0x20,0x20,0x20,
|
||||||
|
0x00,0x1c,0x22,0x22,0x22,0x2a,0x24,0x1a,
|
||||||
|
0x00,0x3c,0x22,0x22,0x3c,0x28,0x24,0x22,
|
||||||
|
0x00,0x1c,0x22,0x20,0x1c,0x02,0x22,0x1c,
|
||||||
|
0x00,0x3e,0x08,0x08,0x08,0x08,0x08,0x08,
|
||||||
|
0x00,0x22,0x22,0x22,0x22,0x22,0x22,0x1c,
|
||||||
|
0x00,0x22,0x22,0x22,0x22,0x22,0x14,0x08,
|
||||||
|
0x00,0x22,0x22,0x22,0x2a,0x2a,0x36,0x22,
|
||||||
|
0x00,0x22,0x22,0x14,0x08,0x14,0x22,0x22,
|
||||||
|
0x00,0x22,0x22,0x14,0x08,0x08,0x08,0x08,
|
||||||
|
0x00,0x3e,0x02,0x04,0x08,0x10,0x20,0x3e,
|
||||||
|
0x00,0x3e,0x30,0x30,0x30,0x30,0x30,0x3e,
|
||||||
|
0x00,0x00,0x20,0x10,0x08,0x04,0x02,0x00,
|
||||||
|
0x00,0x3e,0x06,0x06,0x06,0x06,0x06,0x3e,
|
||||||
|
0x00,0x00,0x00,0x08,0x14,0x22,0x00,0x00,
|
||||||
|
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3e,
|
||||||
|
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||||
|
0x00,0x08,0x08,0x08,0x08,0x08,0x00,0x08,
|
||||||
|
0x00,0x14,0x14,0x14,0x00,0x00,0x00,0x00,
|
||||||
|
0x00,0x14,0x14,0x3e,0x14,0x3e,0x14,0x14,
|
||||||
|
0x00,0x08,0x1e,0x28,0x1c,0x0a,0x3c,0x08,
|
||||||
|
0x00,0x30,0x32,0x04,0x08,0x10,0x26,0x06,
|
||||||
|
0x00,0x10,0x28,0x28,0x10,0x2a,0x24,0x1a,
|
||||||
|
0x00,0x08,0x08,0x08,0x00,0x00,0x00,0x00,
|
||||||
|
0x00,0x08,0x10,0x20,0x20,0x20,0x10,0x08,
|
||||||
|
0x00,0x08,0x04,0x02,0x02,0x02,0x04,0x08,
|
||||||
|
0x00,0x08,0x2a,0x1c,0x08,0x1c,0x2a,0x08,
|
||||||
|
0x00,0x00,0x08,0x08,0x3e,0x08,0x08,0x00,
|
||||||
|
0x00,0x00,0x00,0x00,0x00,0x08,0x08,0x10,
|
||||||
|
0x00,0x00,0x00,0x00,0x3e,0x00,0x00,0x00,
|
||||||
|
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,
|
||||||
|
0x00,0x00,0x02,0x04,0x08,0x10,0x20,0x00,
|
||||||
|
0x00,0x1c,0x22,0x26,0x2a,0x32,0x22,0x1c,
|
||||||
|
0x00,0x08,0x18,0x08,0x08,0x08,0x08,0x1c,
|
||||||
|
0x00,0x1c,0x22,0x02,0x0c,0x10,0x20,0x3e,
|
||||||
|
0x00,0x3e,0x02,0x04,0x0c,0x02,0x22,0x1c,
|
||||||
|
0x00,0x04,0x0c,0x14,0x24,0x3e,0x04,0x04,
|
||||||
|
0x00,0x3e,0x20,0x3c,0x02,0x02,0x22,0x1c,
|
||||||
|
0x00,0x0e,0x10,0x20,0x3c,0x22,0x22,0x1c,
|
||||||
|
0x00,0x3e,0x02,0x04,0x08,0x10,0x10,0x10,
|
||||||
|
0x00,0x1c,0x22,0x22,0x1c,0x22,0x22,0x1c,
|
||||||
|
0x00,0x1c,0x22,0x22,0x1e,0x02,0x04,0x38,
|
||||||
|
0x00,0x00,0x00,0x08,0x00,0x08,0x00,0x00,
|
||||||
|
0x00,0x00,0x00,0x08,0x00,0x08,0x08,0x10,
|
||||||
|
0x00,0x04,0x08,0x10,0x20,0x10,0x08,0x04,
|
||||||
|
0x00,0x00,0x00,0x3e,0x00,0x3e,0x00,0x00,
|
||||||
|
0x00,0x10,0x08,0x04,0x02,0x04,0x08,0x10,
|
||||||
|
0x00,0x1c,0x22,0x04,0x08,0x08,0x00,0x08,
|
||||||
|
0x00,0x1c,0x22,0x2a,0x2e,0x2c,0x20,0x1e,
|
||||||
|
0x00,0x08,0x14,0x22,0x22,0x3e,0x22,0x22,
|
||||||
|
0x00,0x3c,0x22,0x22,0x3c,0x22,0x22,0x3c,
|
||||||
|
0x00,0x1c,0x22,0x20,0x20,0x20,0x22,0x1c,
|
||||||
|
0x00,0x3c,0x22,0x22,0x22,0x22,0x22,0x3c,
|
||||||
|
0x00,0x3e,0x20,0x20,0x3c,0x20,0x20,0x3e,
|
||||||
|
0x00,0x3e,0x20,0x20,0x3c,0x20,0x20,0x20,
|
||||||
|
0x00,0x1e,0x20,0x20,0x20,0x26,0x22,0x1e,
|
||||||
|
0x00,0x22,0x22,0x22,0x3e,0x22,0x22,0x22,
|
||||||
|
0x00,0x1c,0x08,0x08,0x08,0x08,0x08,0x1c,
|
||||||
|
0x00,0x02,0x02,0x02,0x02,0x02,0x22,0x1c,
|
||||||
|
0x00,0x22,0x24,0x28,0x30,0x28,0x24,0x22,
|
||||||
|
0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x3e,
|
||||||
|
0x00,0x22,0x36,0x2a,0x2a,0x22,0x22,0x22,
|
||||||
|
0x00,0x22,0x22,0x32,0x2a,0x26,0x22,0x22,
|
||||||
|
0x00,0x1c,0x22,0x22,0x22,0x22,0x22,0x1c,
|
||||||
|
0x00,0x3c,0x22,0x22,0x3c,0x20,0x20,0x20,
|
||||||
|
0x00,0x1c,0x22,0x22,0x22,0x2a,0x24,0x1a,
|
||||||
|
0x00,0x3c,0x22,0x22,0x3c,0x28,0x24,0x22,
|
||||||
|
0x00,0x1c,0x22,0x20,0x1c,0x02,0x22,0x1c,
|
||||||
|
0x00,0x3e,0x08,0x08,0x08,0x08,0x08,0x08,
|
||||||
|
0x00,0x22,0x22,0x22,0x22,0x22,0x22,0x1c,
|
||||||
|
0x00,0x22,0x22,0x22,0x22,0x22,0x14,0x08,
|
||||||
|
0x00,0x22,0x22,0x22,0x2a,0x2a,0x36,0x22,
|
||||||
|
0x00,0x22,0x22,0x14,0x08,0x14,0x22,0x22,
|
||||||
|
0x00,0x22,0x22,0x14,0x08,0x08,0x08,0x08,
|
||||||
|
0x00,0x3e,0x02,0x04,0x08,0x10,0x20,0x3e,
|
||||||
|
0x00,0x3e,0x30,0x30,0x30,0x30,0x30,0x3e,
|
||||||
|
0x00,0x00,0x20,0x10,0x08,0x04,0x02,0x00,
|
||||||
|
0x00,0x3e,0x06,0x06,0x06,0x06,0x06,0x3e,
|
||||||
|
0x00,0x00,0x00,0x08,0x14,0x22,0x00,0x00,
|
||||||
|
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3e,
|
||||||
|
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||||
|
0x00,0x08,0x08,0x08,0x08,0x08,0x00,0x08,
|
||||||
|
0x00,0x14,0x14,0x14,0x00,0x00,0x00,0x00,
|
||||||
|
0x00,0x14,0x14,0x3e,0x14,0x3e,0x14,0x14,
|
||||||
|
0x00,0x08,0x1e,0x28,0x1c,0x0a,0x3c,0x08,
|
||||||
|
0x00,0x30,0x32,0x04,0x08,0x10,0x26,0x06,
|
||||||
|
0x00,0x10,0x28,0x28,0x10,0x2a,0x24,0x1a,
|
||||||
|
0x00,0x08,0x08,0x08,0x00,0x00,0x00,0x00,
|
||||||
|
0x00,0x08,0x10,0x20,0x20,0x20,0x10,0x08,
|
||||||
|
0x00,0x08,0x04,0x02,0x02,0x02,0x04,0x08,
|
||||||
|
0x00,0x08,0x2a,0x1c,0x08,0x1c,0x2a,0x08,
|
||||||
|
0x00,0x00,0x08,0x08,0x3e,0x08,0x08,0x00,
|
||||||
|
0x00,0x00,0x00,0x00,0x00,0x08,0x08,0x10,
|
||||||
|
0x00,0x00,0x00,0x00,0x3e,0x00,0x00,0x00,
|
||||||
|
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,
|
||||||
|
0x00,0x00,0x02,0x04,0x08,0x10,0x20,0x00,
|
||||||
|
0x00,0x1c,0x22,0x26,0x2a,0x32,0x22,0x1c,
|
||||||
|
0x00,0x08,0x18,0x08,0x08,0x08,0x08,0x1c,
|
||||||
|
0x00,0x1c,0x22,0x02,0x0c,0x10,0x20,0x3e,
|
||||||
|
0x00,0x3e,0x02,0x04,0x0c,0x02,0x22,0x1c,
|
||||||
|
0x00,0x04,0x0c,0x14,0x24,0x3e,0x04,0x04,
|
||||||
|
0x00,0x3e,0x20,0x3c,0x02,0x02,0x22,0x1c,
|
||||||
|
0x00,0x0e,0x10,0x20,0x3c,0x22,0x22,0x1c,
|
||||||
|
0x00,0x3e,0x02,0x04,0x08,0x10,0x10,0x10,
|
||||||
|
0x00,0x1c,0x22,0x22,0x1c,0x22,0x22,0x1c,
|
||||||
|
0x00,0x1c,0x22,0x22,0x1e,0x02,0x04,0x38,
|
||||||
|
0x00,0x00,0x00,0x08,0x00,0x08,0x00,0x00,
|
||||||
|
0x00,0x00,0x00,0x08,0x00,0x08,0x08,0x10,
|
||||||
|
0x00,0x04,0x08,0x10,0x20,0x10,0x08,0x04,
|
||||||
|
0x00,0x00,0x00,0x3e,0x00,0x3e,0x00,0x00,
|
||||||
|
0x00,0x10,0x08,0x04,0x02,0x04,0x08,0x10,
|
||||||
|
0x00,0x1c,0x22,0x04,0x08,0x08,0x00,0x08,
|
||||||
|
];
|
||||||
|
|
||||||
|
export default apple2j_charset;
|
262
js/roms/apple2lc_char.js
Normal file
262
js/roms/apple2lc_char.js
Normal file
|
@ -0,0 +1,262 @@
|
||||||
|
/*exported apple2lc_charset */
|
||||||
|
|
||||||
|
var apple2lc_charset = [
|
||||||
|
0x1c,0x22,0x2a,0x2a,0x2c,0x20,0x1e,0x00,
|
||||||
|
0x08,0x14,0x22,0x22,0x3e,0x22,0x22,0x00,
|
||||||
|
0x3c,0x22,0x22,0x3c,0x22,0x22,0x3c,0x00,
|
||||||
|
0x1c,0x22,0x20,0x20,0x20,0x22,0x1c,0x00,
|
||||||
|
0x3c,0x22,0x22,0x22,0x22,0x22,0x3c,0x00,
|
||||||
|
0x3e,0x20,0x20,0x3c,0x20,0x20,0x3e,0x00,
|
||||||
|
0x3e,0x20,0x20,0x3c,0x20,0x20,0x20,0x00,
|
||||||
|
0x1e,0x20,0x20,0x26,0x22,0x22,0x1e,0x00,
|
||||||
|
0x22,0x22,0x22,0x3e,0x22,0x22,0x22,0x00,
|
||||||
|
0x1c,0x08,0x08,0x08,0x08,0x08,0x1c,0x00,
|
||||||
|
0x02,0x02,0x02,0x02,0x02,0x22,0x1c,0x00,
|
||||||
|
0x22,0x24,0x28,0x30,0x28,0x24,0x22,0x00,
|
||||||
|
0x20,0x20,0x20,0x20,0x20,0x20,0x3e,0x00,
|
||||||
|
0x22,0x36,0x2a,0x2a,0x22,0x22,0x22,0x00,
|
||||||
|
0x22,0x22,0x32,0x2a,0x26,0x22,0x22,0x00,
|
||||||
|
0x1c,0x22,0x22,0x22,0x22,0x22,0x1c,0x00,
|
||||||
|
0x3c,0x22,0x22,0x3c,0x20,0x20,0x20,0x00,
|
||||||
|
0x1c,0x22,0x22,0x22,0x2a,0x24,0x1a,0x00,
|
||||||
|
0x3c,0x22,0x22,0x3c,0x28,0x24,0x22,0x00,
|
||||||
|
0x1c,0x22,0x20,0x1c,0x02,0x22,0x1c,0x00,
|
||||||
|
0x3e,0x08,0x08,0x08,0x08,0x08,0x08,0x00,
|
||||||
|
0x22,0x22,0x22,0x22,0x22,0x22,0x1c,0x00,
|
||||||
|
0x22,0x22,0x22,0x22,0x22,0x14,0x08,0x00,
|
||||||
|
0x22,0x22,0x22,0x2a,0x2a,0x36,0x22,0x00,
|
||||||
|
0x22,0x22,0x14,0x08,0x14,0x22,0x22,0x00,
|
||||||
|
0x22,0x22,0x14,0x08,0x08,0x08,0x08,0x00,
|
||||||
|
0x3e,0x02,0x04,0x08,0x10,0x20,0x3e,0x00,
|
||||||
|
0x3e,0x30,0x30,0x30,0x30,0x30,0x3e,0x00,
|
||||||
|
0x00,0x20,0x10,0x08,0x04,0x02,0x00,0x00,
|
||||||
|
0x3e,0x06,0x06,0x06,0x06,0x06,0x3e,0x00,
|
||||||
|
0x08,0x14,0x22,0x00,0x00,0x00,0x00,0x00,
|
||||||
|
0x00,0x00,0x00,0x00,0x00,0x00,0x3e,0x00,
|
||||||
|
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||||
|
0x08,0x08,0x08,0x08,0x08,0x00,0x08,0x00,
|
||||||
|
0x14,0x14,0x14,0x00,0x00,0x00,0x00,0x00,
|
||||||
|
0x14,0x14,0x3e,0x14,0x3e,0x14,0x14,0x00,
|
||||||
|
0x08,0x1e,0x28,0x1c,0x0a,0x3c,0x08,0x00,
|
||||||
|
0x32,0x32,0x04,0x08,0x10,0x26,0x26,0x00,
|
||||||
|
0x18,0x24,0x28,0x10,0x2a,0x24,0x1a,0x00,
|
||||||
|
0x08,0x08,0x08,0x00,0x00,0x00,0x00,0x00,
|
||||||
|
0x08,0x10,0x20,0x20,0x20,0x10,0x08,0x00,
|
||||||
|
0x08,0x04,0x02,0x02,0x02,0x04,0x08,0x00,
|
||||||
|
0x08,0x2a,0x1c,0x08,0x1c,0x2a,0x08,0x00,
|
||||||
|
0x00,0x08,0x08,0x3e,0x08,0x08,0x00,0x00,
|
||||||
|
0x00,0x00,0x00,0x00,0x00,0x18,0x08,0x10,
|
||||||
|
0x00,0x00,0x00,0x1c,0x00,0x00,0x00,0x00,
|
||||||
|
0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x00,
|
||||||
|
0x00,0x02,0x04,0x08,0x10,0x20,0x00,0x00,
|
||||||
|
0x1c,0x22,0x26,0x2a,0x32,0x22,0x1c,0x00,
|
||||||
|
0x08,0x18,0x08,0x08,0x08,0x08,0x1c,0x00,
|
||||||
|
0x1c,0x22,0x02,0x0c,0x10,0x20,0x3e,0x00,
|
||||||
|
0x3e,0x02,0x04,0x0c,0x02,0x22,0x1c,0x00,
|
||||||
|
0x04,0x0c,0x14,0x24,0x3e,0x04,0x04,0x00,
|
||||||
|
0x3e,0x20,0x3c,0x02,0x02,0x22,0x1c,0x00,
|
||||||
|
0x0e,0x10,0x20,0x3c,0x22,0x22,0x1c,0x00,
|
||||||
|
0x3e,0x02,0x04,0x08,0x10,0x10,0x10,0x00,
|
||||||
|
0x1c,0x22,0x22,0x1c,0x22,0x22,0x1c,0x00,
|
||||||
|
0x1c,0x22,0x22,0x1e,0x02,0x04,0x38,0x00,
|
||||||
|
0x00,0x00,0x18,0x18,0x00,0x18,0x18,0x00,
|
||||||
|
0x00,0x00,0x18,0x18,0x00,0x18,0x08,0x10,
|
||||||
|
0x04,0x08,0x10,0x20,0x10,0x08,0x04,0x00,
|
||||||
|
0x00,0x00,0x3c,0x00,0x3c,0x00,0x00,0x00,
|
||||||
|
0x10,0x08,0x04,0x02,0x04,0x08,0x10,0x00,
|
||||||
|
0x1c,0x22,0x04,0x08,0x08,0x00,0x08,0x00,
|
||||||
|
0x9c,0xa2,0xaa,0xaa,0xac,0xa0,0x9e,0x80,
|
||||||
|
0x88,0x94,0xa2,0xa2,0xbe,0xa2,0xa2,0x80,
|
||||||
|
0xbc,0xa2,0xa2,0xbc,0xa2,0xa2,0xbc,0x80,
|
||||||
|
0x9c,0xa2,0xa0,0xa0,0xa0,0xa2,0x9c,0x80,
|
||||||
|
0xbc,0xa2,0xa2,0xa2,0xa2,0xa2,0xbc,0x80,
|
||||||
|
0xbe,0xa0,0xa0,0xbc,0xa0,0xa0,0xbe,0x80,
|
||||||
|
0xbe,0xa0,0xa0,0xbc,0xa0,0xa0,0xa0,0x80,
|
||||||
|
0x9e,0xa0,0xa0,0xa6,0xa2,0xa2,0x9e,0x80,
|
||||||
|
0xa2,0xa2,0xa2,0xbe,0xa2,0xa2,0xa2,0x80,
|
||||||
|
0x9c,0x88,0x88,0x88,0x88,0x88,0x9c,0x80,
|
||||||
|
0x82,0x82,0x82,0x82,0x82,0xa2,0x9c,0x80,
|
||||||
|
0xa2,0xa4,0xa8,0xb0,0xa8,0xa4,0xa2,0x80,
|
||||||
|
0xa0,0xa0,0xa0,0xa0,0xa0,0xa0,0xbe,0x80,
|
||||||
|
0xa2,0xb6,0xaa,0xaa,0xa2,0xa2,0xa2,0x80,
|
||||||
|
0xa2,0xa2,0xb2,0xaa,0xa6,0xa2,0xa2,0x80,
|
||||||
|
0x9c,0xa2,0xa2,0xa2,0xa2,0xa2,0x9c,0x80,
|
||||||
|
0xbc,0xa2,0xa2,0xbc,0xa0,0xa0,0xa0,0x80,
|
||||||
|
0x9c,0xa2,0xa2,0xa2,0xaa,0xa4,0x9a,0x80,
|
||||||
|
0xbc,0xa2,0xa2,0xbc,0xa8,0xa4,0xa2,0x80,
|
||||||
|
0x9c,0xa2,0xa0,0x9c,0x82,0xa2,0x9c,0x80,
|
||||||
|
0xbe,0x88,0x88,0x88,0x88,0x88,0x88,0x80,
|
||||||
|
0xa2,0xa2,0xa2,0xa2,0xa2,0xa2,0x9c,0x80,
|
||||||
|
0xa2,0xa2,0xa2,0xa2,0xa2,0x94,0x88,0x80,
|
||||||
|
0xa2,0xa2,0xa2,0xaa,0xaa,0xb6,0xa2,0x80,
|
||||||
|
0xa2,0xa2,0x94,0x88,0x94,0xa2,0xa2,0x80,
|
||||||
|
0xa2,0xa2,0x94,0x88,0x88,0x88,0x88,0x80,
|
||||||
|
0xbe,0x82,0x84,0x88,0x90,0xa0,0xbe,0x80,
|
||||||
|
0xbe,0xb0,0xb0,0xb0,0xb0,0xb0,0xbe,0x80,
|
||||||
|
0x80,0xa0,0x90,0x88,0x84,0x82,0x80,0x80,
|
||||||
|
0xbe,0x86,0x86,0x86,0x86,0x86,0xbe,0x80,
|
||||||
|
0x88,0x94,0xa2,0x80,0x80,0x80,0x80,0x80,
|
||||||
|
0x80,0x80,0x80,0x80,0x80,0x80,0xbe,0x80,
|
||||||
|
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
|
||||||
|
0x88,0x88,0x88,0x88,0x88,0x80,0x88,0x80,
|
||||||
|
0x94,0x94,0x94,0x80,0x80,0x80,0x80,0x80,
|
||||||
|
0x94,0x94,0xbe,0x94,0xbe,0x94,0x94,0x80,
|
||||||
|
0x88,0x9e,0xa8,0x9c,0x8a,0xbc,0x88,0x80,
|
||||||
|
0xb2,0xb2,0x84,0x88,0x90,0xa6,0xa6,0x80,
|
||||||
|
0x98,0xa4,0xa8,0x90,0xaa,0xa4,0x9a,0x80,
|
||||||
|
0x88,0x88,0x88,0x80,0x80,0x80,0x80,0x80,
|
||||||
|
0x88,0x90,0xa0,0xa0,0xa0,0x90,0x88,0x80,
|
||||||
|
0x88,0x84,0x82,0x82,0x82,0x84,0x88,0x80,
|
||||||
|
0x88,0xaa,0x9c,0x88,0x9c,0xaa,0x88,0x80,
|
||||||
|
0x80,0x88,0x88,0xbe,0x88,0x88,0x80,0x80,
|
||||||
|
0x80,0x80,0x80,0x80,0x80,0x98,0x88,0x90,
|
||||||
|
0x80,0x80,0x80,0x9c,0x80,0x80,0x80,0x80,
|
||||||
|
0x80,0x80,0x80,0x80,0x80,0x98,0x98,0x80,
|
||||||
|
0x80,0x82,0x84,0x88,0x90,0xa0,0x80,0x80,
|
||||||
|
0x9c,0xa2,0xa6,0xaa,0xb2,0xa2,0x9c,0x80,
|
||||||
|
0x88,0x98,0x88,0x88,0x88,0x88,0x9c,0x80,
|
||||||
|
0x9c,0xa2,0x82,0x8c,0x90,0xa0,0xbe,0x80,
|
||||||
|
0xbe,0x82,0x84,0x8c,0x82,0xa2,0x9c,0x80,
|
||||||
|
0x84,0x8c,0x94,0xa4,0xbe,0x84,0x84,0x80,
|
||||||
|
0xbe,0xa0,0xbc,0x82,0x82,0xa2,0x9c,0x80,
|
||||||
|
0x8e,0x90,0xa0,0xbc,0xa2,0xa2,0x9c,0x80,
|
||||||
|
0xbe,0x82,0x84,0x88,0x90,0x90,0x90,0x80,
|
||||||
|
0x9c,0xa2,0xa2,0x9c,0xa2,0xa2,0x9c,0x80,
|
||||||
|
0x9c,0xa2,0xa2,0x9e,0x82,0x84,0xb8,0x80,
|
||||||
|
0x80,0x80,0x98,0x98,0x80,0x98,0x98,0x80,
|
||||||
|
0x80,0x80,0x98,0x98,0x80,0x98,0x88,0x90,
|
||||||
|
0x84,0x88,0x90,0xa0,0x90,0x88,0x84,0x80,
|
||||||
|
0x80,0x80,0xbc,0x80,0xbc,0x80,0x80,0x80,
|
||||||
|
0x90,0x88,0x84,0x82,0x84,0x88,0x90,0x80,
|
||||||
|
0x9c,0xa2,0x84,0x88,0x88,0x80,0x88,0x80,
|
||||||
|
0x1c,0x22,0x2a,0x2a,0x2c,0x20,0x1e,0x00,
|
||||||
|
0x08,0x14,0x22,0x22,0x3e,0x22,0x22,0x00,
|
||||||
|
0x3c,0x22,0x22,0x3c,0x22,0x22,0x3c,0x00,
|
||||||
|
0x1c,0x22,0x20,0x20,0x20,0x22,0x1c,0x00,
|
||||||
|
0x3c,0x22,0x22,0x22,0x22,0x22,0x3c,0x00,
|
||||||
|
0x3e,0x20,0x20,0x3c,0x20,0x20,0x3e,0x00,
|
||||||
|
0x3e,0x20,0x20,0x3c,0x20,0x20,0x20,0x00,
|
||||||
|
0x1e,0x20,0x20,0x26,0x22,0x22,0x1e,0x00,
|
||||||
|
0x22,0x22,0x22,0x3e,0x22,0x22,0x22,0x00,
|
||||||
|
0x1c,0x08,0x08,0x08,0x08,0x08,0x1c,0x00,
|
||||||
|
0x02,0x02,0x02,0x02,0x02,0x22,0x1c,0x00,
|
||||||
|
0x22,0x24,0x28,0x30,0x28,0x24,0x22,0x00,
|
||||||
|
0x20,0x20,0x20,0x20,0x20,0x20,0x3e,0x00,
|
||||||
|
0x22,0x36,0x2a,0x2a,0x22,0x22,0x22,0x00,
|
||||||
|
0x22,0x22,0x32,0x2a,0x26,0x22,0x22,0x00,
|
||||||
|
0x1c,0x22,0x22,0x22,0x22,0x22,0x1c,0x00,
|
||||||
|
0x3c,0x22,0x22,0x3c,0x20,0x20,0x20,0x00,
|
||||||
|
0x1c,0x22,0x22,0x22,0x2a,0x24,0x1a,0x00,
|
||||||
|
0x3c,0x22,0x22,0x3c,0x28,0x24,0x22,0x00,
|
||||||
|
0x1c,0x22,0x20,0x1c,0x02,0x22,0x1c,0x00,
|
||||||
|
0x3e,0x08,0x08,0x08,0x08,0x08,0x08,0x00,
|
||||||
|
0x22,0x22,0x22,0x22,0x22,0x22,0x1c,0x00,
|
||||||
|
0x22,0x22,0x22,0x22,0x22,0x14,0x08,0x00,
|
||||||
|
0x22,0x22,0x22,0x2a,0x2a,0x36,0x22,0x00,
|
||||||
|
0x22,0x22,0x14,0x08,0x14,0x22,0x22,0x00,
|
||||||
|
0x22,0x22,0x14,0x08,0x08,0x08,0x08,0x00,
|
||||||
|
0x3e,0x02,0x04,0x08,0x10,0x20,0x3e,0x00,
|
||||||
|
0x3e,0x30,0x30,0x30,0x30,0x30,0x3e,0x00,
|
||||||
|
0x00,0x20,0x10,0x08,0x04,0x02,0x00,0x00,
|
||||||
|
0x3e,0x06,0x06,0x06,0x06,0x06,0x3e,0x00,
|
||||||
|
0x08,0x14,0x22,0x00,0x00,0x00,0x00,0x00,
|
||||||
|
0x00,0x00,0x00,0x00,0x00,0x00,0x3e,0x00,
|
||||||
|
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||||
|
0x08,0x08,0x08,0x08,0x08,0x00,0x08,0x00,
|
||||||
|
0x14,0x14,0x14,0x00,0x00,0x00,0x00,0x00,
|
||||||
|
0x14,0x14,0x3e,0x14,0x3e,0x14,0x14,0x00,
|
||||||
|
0x08,0x1e,0x28,0x1c,0x0a,0x3c,0x08,0x00,
|
||||||
|
0x32,0x32,0x04,0x08,0x10,0x26,0x26,0x00,
|
||||||
|
0x18,0x24,0x28,0x10,0x2a,0x24,0x1a,0x00,
|
||||||
|
0x08,0x08,0x08,0x00,0x00,0x00,0x00,0x00,
|
||||||
|
0x08,0x10,0x20,0x20,0x20,0x10,0x08,0x00,
|
||||||
|
0x08,0x04,0x02,0x02,0x02,0x04,0x08,0x00,
|
||||||
|
0x08,0x2a,0x1c,0x08,0x1c,0x2a,0x08,0x00,
|
||||||
|
0x00,0x08,0x08,0x3e,0x08,0x08,0x00,0x00,
|
||||||
|
0x00,0x00,0x00,0x00,0x00,0x18,0x08,0x10,
|
||||||
|
0x00,0x00,0x00,0x1c,0x00,0x00,0x00,0x00,
|
||||||
|
0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x00,
|
||||||
|
0x00,0x02,0x04,0x08,0x10,0x20,0x00,0x00,
|
||||||
|
0x1c,0x22,0x26,0x2a,0x32,0x22,0x1c,0x00,
|
||||||
|
0x08,0x18,0x08,0x08,0x08,0x08,0x1c,0x00,
|
||||||
|
0x1c,0x22,0x02,0x0c,0x10,0x20,0x3e,0x00,
|
||||||
|
0x3e,0x02,0x04,0x0c,0x02,0x22,0x1c,0x00,
|
||||||
|
0x04,0x0c,0x14,0x24,0x3e,0x04,0x04,0x00,
|
||||||
|
0x3e,0x20,0x3c,0x02,0x02,0x22,0x1c,0x00,
|
||||||
|
0x0e,0x10,0x20,0x3c,0x22,0x22,0x1c,0x00,
|
||||||
|
0x3e,0x02,0x04,0x08,0x10,0x10,0x10,0x00,
|
||||||
|
0x1c,0x22,0x22,0x1c,0x22,0x22,0x1c,0x00,
|
||||||
|
0x1c,0x22,0x22,0x1e,0x02,0x04,0x38,0x00,
|
||||||
|
0x00,0x00,0x18,0x18,0x00,0x18,0x18,0x00,
|
||||||
|
0x00,0x00,0x18,0x18,0x00,0x18,0x08,0x10,
|
||||||
|
0x04,0x08,0x10,0x20,0x10,0x08,0x04,0x00,
|
||||||
|
0x00,0x00,0x3c,0x00,0x3c,0x00,0x00,0x00,
|
||||||
|
0x10,0x08,0x04,0x02,0x04,0x08,0x10,0x00,
|
||||||
|
0x1c,0x22,0x04,0x08,0x08,0x00,0x08,0x00,
|
||||||
|
0x1c,0x22,0x2a,0x2a,0x2c,0x20,0x1e,0x00,
|
||||||
|
0x08,0x14,0x22,0x22,0x3e,0x22,0x22,0x00,
|
||||||
|
0x3c,0x22,0x22,0x3c,0x22,0x22,0x3c,0x00,
|
||||||
|
0x1c,0x22,0x20,0x20,0x20,0x22,0x1c,0x00,
|
||||||
|
0x3c,0x22,0x22,0x22,0x22,0x22,0x3c,0x00,
|
||||||
|
0x3e,0x20,0x20,0x3c,0x20,0x20,0x3e,0x00,
|
||||||
|
0x3e,0x20,0x20,0x3c,0x20,0x20,0x20,0x00,
|
||||||
|
0x1e,0x20,0x20,0x26,0x22,0x22,0x1e,0x00,
|
||||||
|
0x22,0x22,0x22,0x3e,0x22,0x22,0x22,0x00,
|
||||||
|
0x1c,0x08,0x08,0x08,0x08,0x08,0x1c,0x00,
|
||||||
|
0x02,0x02,0x02,0x02,0x02,0x22,0x1c,0x00,
|
||||||
|
0x22,0x24,0x28,0x30,0x28,0x24,0x22,0x00,
|
||||||
|
0x20,0x20,0x20,0x20,0x20,0x20,0x3e,0x00,
|
||||||
|
0x22,0x36,0x2a,0x2a,0x22,0x22,0x22,0x00,
|
||||||
|
0x22,0x22,0x32,0x2a,0x26,0x22,0x22,0x00,
|
||||||
|
0x1c,0x22,0x22,0x22,0x22,0x22,0x1c,0x00,
|
||||||
|
0x3c,0x22,0x22,0x3c,0x20,0x20,0x20,0x00,
|
||||||
|
0x1c,0x22,0x22,0x22,0x2a,0x24,0x1a,0x00,
|
||||||
|
0x3c,0x22,0x22,0x3c,0x28,0x24,0x22,0x00,
|
||||||
|
0x1c,0x22,0x20,0x1c,0x02,0x22,0x1c,0x00,
|
||||||
|
0x3e,0x08,0x08,0x08,0x08,0x08,0x08,0x00,
|
||||||
|
0x22,0x22,0x22,0x22,0x22,0x22,0x1c,0x00,
|
||||||
|
0x22,0x22,0x22,0x22,0x22,0x14,0x08,0x00,
|
||||||
|
0x22,0x22,0x22,0x2a,0x2a,0x36,0x22,0x00,
|
||||||
|
0x22,0x22,0x14,0x08,0x14,0x22,0x22,0x00,
|
||||||
|
0x22,0x22,0x14,0x08,0x08,0x08,0x08,0x00,
|
||||||
|
0x3e,0x02,0x04,0x08,0x10,0x20,0x3e,0x00,
|
||||||
|
0x3e,0x30,0x30,0x30,0x30,0x30,0x3e,0x00,
|
||||||
|
0x00,0x20,0x10,0x08,0x04,0x02,0x00,0x00,
|
||||||
|
0x3e,0x06,0x06,0x06,0x06,0x06,0x3e,0x00,
|
||||||
|
0x08,0x14,0x22,0x00,0x00,0x00,0x00,0x00,
|
||||||
|
0x00,0x00,0x00,0x00,0x00,0x00,0x3e,0x00,
|
||||||
|
0x20,0x10,0x08,0x00,0x00,0x00,0x00,0x00,
|
||||||
|
0x00,0x00,0x1c,0x02,0x1e,0x22,0x1e,0x00,
|
||||||
|
0x20,0x20,0x2c,0x32,0x22,0x32,0x2c,0x00,
|
||||||
|
0x00,0x00,0x1e,0x20,0x20,0x20,0x1e,0x00,
|
||||||
|
0x02,0x02,0x1a,0x26,0x22,0x26,0x1a,0x00,
|
||||||
|
0x00,0x00,0x1c,0x22,0x3e,0x20,0x1c,0x00,
|
||||||
|
0x0c,0x12,0x10,0x38,0x10,0x10,0x10,0x00,
|
||||||
|
0x00,0x02,0x1c,0x22,0x22,0x1e,0x02,0x1c,
|
||||||
|
0x20,0x20,0x2c,0x32,0x22,0x22,0x22,0x00,
|
||||||
|
0x08,0x00,0x18,0x08,0x08,0x08,0x1c,0x00,
|
||||||
|
0x04,0x00,0x0c,0x04,0x04,0x04,0x24,0x18,
|
||||||
|
0x20,0x20,0x22,0x24,0x38,0x24,0x22,0x00,
|
||||||
|
0x18,0x08,0x08,0x08,0x08,0x08,0x1c,0x00,
|
||||||
|
0x00,0x00,0x34,0x2a,0x2a,0x2a,0x2a,0x00,
|
||||||
|
0x00,0x00,0x2c,0x32,0x22,0x22,0x22,0x00,
|
||||||
|
0x00,0x00,0x1c,0x22,0x22,0x22,0x1c,0x00,
|
||||||
|
0x00,0x00,0x2c,0x32,0x32,0x2c,0x20,0x20,
|
||||||
|
0x00,0x00,0x1a,0x26,0x26,0x1a,0x02,0x02,
|
||||||
|
0x00,0x00,0x2c,0x30,0x20,0x20,0x20,0x00,
|
||||||
|
0x00,0x00,0x1e,0x20,0x1c,0x02,0x3c,0x00,
|
||||||
|
0x10,0x10,0x38,0x10,0x10,0x12,0x0c,0x00,
|
||||||
|
0x00,0x00,0x22,0x22,0x22,0x26,0x1a,0x00,
|
||||||
|
0x00,0x00,0x22,0x22,0x22,0x14,0x08,0x00,
|
||||||
|
0x00,0x00,0x22,0x2a,0x2a,0x2a,0x14,0x00,
|
||||||
|
0x00,0x00,0x22,0x14,0x08,0x14,0x22,0x00,
|
||||||
|
0x00,0x00,0x22,0x22,0x26,0x1a,0x02,0x1c,
|
||||||
|
0x00,0x00,0x3e,0x04,0x08,0x10,0x3e,0x00,
|
||||||
|
0x06,0x08,0x08,0x30,0x08,0x08,0x06,0x00,
|
||||||
|
0x08,0x08,0x08,0x00,0x08,0x08,0x08,0x00,
|
||||||
|
0x30,0x08,0x08,0x06,0x08,0x08,0x30,0x00,
|
||||||
|
0x00,0x00,0x10,0x2a,0x04,0x00,0x00,0x00,
|
||||||
|
0x2a,0x14,0x2a,0x14,0x2a,0x14,0x2a,0x00
|
||||||
|
];
|
||||||
|
|
||||||
|
export default apple2lc_charset;
|
|
@ -1,5 +1,4 @@
|
||||||
/*exported Apple2ROM */
|
export default function Apple2ROM()
|
||||||
function Apple2ROM()
|
|
||||||
{
|
{
|
||||||
var rom = [
|
var rom = [
|
||||||
0x6f,0xd8,0x65,0xd7,0xf8,0xdc,0x94,0xd9,
|
0x6f,0xd8,0x65,0xd7,0xf8,0xdc,0x94,0xd9,
|
||||||
|
|
|
@ -1,6 +1,4 @@
|
||||||
/*exported IntBASIC */
|
export default function IntBASIC()
|
||||||
|
|
||||||
function IntBASIC()
|
|
||||||
{
|
{
|
||||||
var rom = [
|
var rom = [
|
||||||
0xa9,0x20,0x8d,0x26,0x03,0xad,0x57,0xc0,
|
0xa9,0x20,0x8d,0x26,0x03,0xad,0x57,0xc0,
|
||||||
|
|
|
@ -1,6 +1,4 @@
|
||||||
/*exported OriginalROM */
|
export default function OriginalROM()
|
||||||
|
|
||||||
function OriginalROM()
|
|
||||||
{
|
{
|
||||||
var rom = [
|
var rom = [
|
||||||
0xa9,0x20,0x8d,0x26,0x03,0xad,0x57,0xc0,
|
0xa9,0x20,0x8d,0x26,0x03,0xad,0x57,0xc0,
|
||||||
|
|
262
js/roms/pigfont_char.js
Normal file
262
js/roms/pigfont_char.js
Normal file
|
@ -0,0 +1,262 @@
|
||||||
|
/*exported pigfont_charset */
|
||||||
|
|
||||||
|
var pigfont_charset = [
|
||||||
|
0x00,0x1c,0x22,0x2a,0x2e,0x20,0x1e,0x00,
|
||||||
|
0x0c,0x12,0x21,0x3f,0x21,0x21,0x00,0x00,
|
||||||
|
0x3e,0x11,0x1e,0x11,0x11,0x3e,0x00,0x00,
|
||||||
|
0x1e,0x21,0x20,0x20,0x21,0x1e,0x00,0x00,
|
||||||
|
0x3e,0x01,0x11,0x11,0x11,0x3e,0x00,0x00,
|
||||||
|
0x3f,0x00,0x3c,0x20,0x20,0x3f,0x00,0x00,
|
||||||
|
0x3f,0x00,0x3c,0x20,0x20,0x20,0x00,0x00,
|
||||||
|
0x1e,0x20,0x27,0x21,0x21,0x1e,0x00,0x00,
|
||||||
|
0x21,0x21,0x7f,0x21,0x21,0x21,0x00,0x00,
|
||||||
|
0x0e,0x04,0x04,0x04,0x04,0x0e,0x00,0x00,
|
||||||
|
0x07,0x02,0x02,0x02,0x22,0x1c,0x00,0x00,
|
||||||
|
0x22,0x24,0x38,0x24,0x22,0x21,0x00,0x00,
|
||||||
|
0x20,0x20,0x20,0x20,0x20,0x3f,0x00,0x00,
|
||||||
|
0x21,0x33,0x2d,0x2d,0x21,0x21,0x00,0x00,
|
||||||
|
0x21,0x31,0x29,0x25,0x23,0x21,0x00,0x00,
|
||||||
|
0x1e,0x01,0x21,0x21,0x21,0x1e,0x00,0x00,
|
||||||
|
0x3e,0x01,0x3e,0x20,0x20,0x20,0x00,0x00,
|
||||||
|
0x1e,0x01,0x21,0x25,0x22,0x1d,0x00,0x00,
|
||||||
|
0x3e,0x01,0x3e,0x24,0x22,0x21,0x00,0x00,
|
||||||
|
0x1e,0x20,0x1e,0x01,0x21,0x1e,0x00,0x00,
|
||||||
|
0x7f,0x08,0x08,0x08,0x08,0x08,0x00,0x00,
|
||||||
|
0x21,0x21,0x21,0x21,0x21,0x1e,0x00,0x00,
|
||||||
|
0x21,0x21,0x12,0x12,0x0c,0x0c,0x00,0x00,
|
||||||
|
0x21,0x21,0x2d,0x2d,0x33,0x21,0x00,0x00,
|
||||||
|
0x21,0x12,0x0c,0x12,0x21,0x21,0x00,0x00,
|
||||||
|
0x41,0x22,0x1c,0x08,0x08,0x08,0x00,0x00,
|
||||||
|
0x3f,0x01,0x06,0x18,0x20,0x3f,0x00,0x00,
|
||||||
|
0x3e,0x30,0x30,0x30,0x30,0x3e,0x00,0x00,
|
||||||
|
0x00,0x20,0x10,0x08,0x04,0x02,0x00,0x00,
|
||||||
|
0x3e,0x06,0x06,0x06,0x06,0x3e,0x00,0x00,
|
||||||
|
0x0c,0x12,0x21,0x00,0x00,0x00,0x00,0x00,
|
||||||
|
0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x00,
|
||||||
|
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||||
|
0x0c,0x0c,0x0c,0x0c,0x00,0x0c,0x00,0x00,
|
||||||
|
0x33,0x33,0x33,0x00,0x00,0x00,0x00,0x00,
|
||||||
|
0x12,0x3f,0x12,0x3f,0x12,0x00,0x00,0x00,
|
||||||
|
0x0a,0x1f,0x20,0x1e,0x01,0x3e,0x14,0x00,
|
||||||
|
0x31,0x32,0x04,0x08,0x13,0x23,0x00,0x00,
|
||||||
|
0x18,0x24,0x18,0x25,0x22,0x1d,0x00,0x00,
|
||||||
|
0x06,0x06,0x0c,0x00,0x00,0x00,0x00,0x00,
|
||||||
|
0x02,0x04,0x08,0x08,0x04,0x02,0x00,0x00,
|
||||||
|
0x10,0x08,0x04,0x04,0x08,0x10,0x00,0x00,
|
||||||
|
0x00,0x04,0x15,0x0e,0x15,0x04,0x00,0x00,
|
||||||
|
0x00,0x0c,0x0c,0x3f,0x0c,0x0c,0x00,0x00,
|
||||||
|
0x00,0x00,0x00,0x00,0x00,0x0c,0x0c,0x18,
|
||||||
|
0x00,0x00,0x00,0x3f,0x00,0x00,0x00,0x00,
|
||||||
|
0x00,0x00,0x00,0x00,0x0c,0x0c,0x00,0x00,
|
||||||
|
0x00,0x02,0x04,0x08,0x10,0x20,0x00,0x00,
|
||||||
|
0x1e,0x03,0x25,0x29,0x31,0x1e,0x00,0x00,
|
||||||
|
0x04,0x0c,0x14,0x04,0x04,0x1f,0x00,0x00,
|
||||||
|
0x1e,0x21,0x06,0x18,0x20,0x3f,0x00,0x00,
|
||||||
|
0x1e,0x21,0x0e,0x01,0x21,0x1e,0x00,0x00,
|
||||||
|
0x02,0x06,0x0a,0x12,0x3f,0x02,0x00,0x00,
|
||||||
|
0x3f,0x00,0x3e,0x01,0x21,0x1e,0x00,0x00,
|
||||||
|
0x1e,0x20,0x3e,0x21,0x21,0x1e,0x00,0x00,
|
||||||
|
0x3f,0x21,0x02,0x04,0x08,0x08,0x00,0x00,
|
||||||
|
0x1e,0x21,0x1e,0x21,0x21,0x1e,0x00,0x00,
|
||||||
|
0x1e,0x21,0x1f,0x01,0x02,0x1c,0x00,0x00,
|
||||||
|
0x00,0x0c,0x0c,0x00,0x0c,0x0c,0x00,0x00,
|
||||||
|
0x00,0x00,0x0c,0x0c,0x00,0x0c,0x0c,0x18,
|
||||||
|
0x00,0x03,0x0c,0x30,0x0c,0x03,0x00,0x00,
|
||||||
|
0x00,0x00,0x3e,0x00,0x3e,0x00,0x00,0x00,
|
||||||
|
0x00,0x30,0x0c,0x03,0x0c,0x30,0x00,0x00,
|
||||||
|
0x1e,0x21,0x06,0x08,0x00,0x08,0x00,0x00,
|
||||||
|
0x9e,0xa1,0xad,0xae,0xa0,0x9f,0x80,0x80,
|
||||||
|
0x8c,0x92,0xa1,0xbf,0xa1,0xa1,0x80,0x80,
|
||||||
|
0xbe,0x81,0x9e,0x91,0x91,0xbe,0x80,0x80,
|
||||||
|
0x9e,0xa1,0xa0,0xa0,0xa1,0x9e,0x80,0x80,
|
||||||
|
0xbe,0x81,0x91,0x91,0x91,0xbe,0x80,0x80,
|
||||||
|
0xbf,0x80,0xbc,0xa0,0xa0,0xbf,0x80,0x80,
|
||||||
|
0xbf,0x80,0xbc,0xa0,0xa0,0xa0,0x80,0x80,
|
||||||
|
0x9e,0xa0,0xa7,0xa1,0xa1,0x9e,0x80,0x80,
|
||||||
|
0xa1,0xa1,0xbf,0xa1,0xa1,0xa1,0x80,0x80,
|
||||||
|
0x8e,0x84,0x84,0x84,0x84,0x8e,0x80,0x80,
|
||||||
|
0x87,0x82,0x82,0x82,0xa2,0x9c,0x80,0x80,
|
||||||
|
0xa2,0xa4,0xb8,0xa4,0xa2,0xa1,0x80,0x80,
|
||||||
|
0xa0,0xa0,0xa0,0xa0,0xa0,0xbf,0x80,0x80,
|
||||||
|
0xa1,0xb3,0xad,0xad,0xa1,0xa1,0x80,0x80,
|
||||||
|
0xa1,0xb1,0xa9,0xa5,0xa3,0xa1,0x80,0x80,
|
||||||
|
0x9e,0x81,0xa1,0xa1,0xa1,0x9e,0x80,0x80,
|
||||||
|
0xbe,0x81,0xbe,0xa0,0xa0,0xa0,0x80,0x80,
|
||||||
|
0x9e,0x81,0xa1,0xa5,0xa2,0x9d,0x80,0x80,
|
||||||
|
0xbe,0x81,0xbe,0xa4,0xa2,0xa1,0x80,0x80,
|
||||||
|
0x9e,0xa0,0x9e,0x81,0xa1,0x9e,0x80,0x80,
|
||||||
|
0xff,0x88,0x88,0x88,0x88,0x88,0x80,0x80,
|
||||||
|
0xa1,0xa1,0xa1,0xa1,0xa1,0x9e,0x80,0x80,
|
||||||
|
0xa1,0xa1,0x92,0x92,0x8c,0x8c,0x80,0x80,
|
||||||
|
0xa1,0xa1,0xad,0xad,0xb3,0xa1,0x80,0x80,
|
||||||
|
0xa1,0x92,0x8c,0x92,0xa1,0xa1,0x80,0x80,
|
||||||
|
0xc1,0xa2,0x9c,0x88,0x88,0x88,0x80,0x80,
|
||||||
|
0xbf,0x81,0x86,0x98,0xa0,0xbf,0x80,0x80,
|
||||||
|
0xbe,0xb0,0xb0,0xb0,0xb0,0xbe,0x80,0x80,
|
||||||
|
0x80,0xa0,0x90,0x88,0x84,0x82,0x80,0x80,
|
||||||
|
0xbe,0x86,0x86,0x86,0x86,0xbe,0x80,0x80,
|
||||||
|
0x8c,0x92,0xa1,0x80,0x80,0x80,0x80,0x80,
|
||||||
|
0x80,0x80,0x80,0x80,0x80,0x80,0xff,0x80,
|
||||||
|
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
|
||||||
|
0x8c,0x8c,0x8c,0x8c,0x80,0x8c,0x80,0x80,
|
||||||
|
0xb3,0xb3,0xb3,0x80,0x80,0x80,0x80,0x80,
|
||||||
|
0x92,0xbf,0x92,0xbf,0x92,0x80,0x80,0x80,
|
||||||
|
0x8a,0x9f,0xa0,0x9e,0x81,0xbe,0x94,0x80,
|
||||||
|
0xb1,0xb2,0x84,0x88,0x93,0xa3,0x80,0x80,
|
||||||
|
0x98,0xa4,0x98,0xa5,0xa2,0x9d,0x80,0x80,
|
||||||
|
0x86,0x86,0x8c,0x80,0x80,0x80,0x80,0x80,
|
||||||
|
0x82,0x84,0x88,0x88,0x84,0x82,0x80,0x80,
|
||||||
|
0x90,0x88,0x84,0x84,0x88,0x90,0x80,0x80,
|
||||||
|
0x80,0x84,0x95,0x8e,0x95,0x84,0x80,0x80,
|
||||||
|
0x80,0x8c,0x8c,0xbf,0x8c,0x8c,0x80,0x80,
|
||||||
|
0x80,0x80,0x80,0x80,0x80,0x8c,0x8c,0x98,
|
||||||
|
0x80,0x80,0x80,0xbf,0x80,0x80,0x80,0x80,
|
||||||
|
0x80,0x80,0x80,0x80,0x8c,0x8c,0x80,0x80,
|
||||||
|
0x80,0x82,0x84,0x88,0x90,0xa0,0x80,0x80,
|
||||||
|
0x9e,0x83,0xa5,0xa9,0xb1,0x9e,0x80,0x80,
|
||||||
|
0x84,0x8c,0x94,0x84,0x84,0x9f,0x80,0x80,
|
||||||
|
0x9e,0xa1,0x86,0x98,0xa0,0xbf,0x80,0x80,
|
||||||
|
0x9e,0xa1,0x8e,0x81,0xa1,0x9e,0x80,0x80,
|
||||||
|
0x82,0x86,0x8a,0x92,0xbf,0x82,0x80,0x80,
|
||||||
|
0xbf,0x80,0xbe,0x81,0xa1,0x9e,0x80,0x80,
|
||||||
|
0x9e,0xa0,0xbe,0xa1,0xa1,0x9e,0x80,0x80,
|
||||||
|
0xbf,0xa1,0x82,0x84,0x88,0x88,0x80,0x80,
|
||||||
|
0x9e,0xa1,0x9e,0xa1,0xa1,0x9e,0x80,0x80,
|
||||||
|
0x9e,0xa1,0x9f,0x81,0x82,0x9c,0x80,0x80,
|
||||||
|
0x80,0x8c,0x8c,0x80,0x8c,0x8c,0x80,0x80,
|
||||||
|
0x80,0x80,0x8c,0x8c,0x80,0x8c,0x8c,0x98,
|
||||||
|
0x80,0x83,0x8c,0xb0,0x8c,0x83,0x80,0x80,
|
||||||
|
0x80,0x80,0xbe,0x80,0xbe,0x80,0x80,0x80,
|
||||||
|
0x80,0xb0,0x8c,0x83,0x8c,0xb0,0x80,0x80,
|
||||||
|
0x9e,0xa1,0x86,0x88,0x80,0x88,0x80,0x80,
|
||||||
|
0x1e,0x21,0x2d,0x2e,0x20,0x1f,0x00,0x00,
|
||||||
|
0x0c,0x12,0x21,0x3f,0x21,0x21,0x00,0x00,
|
||||||
|
0x3e,0x01,0x1e,0x11,0x11,0x3e,0x00,0x00,
|
||||||
|
0x1e,0x21,0x20,0x20,0x21,0x1e,0x00,0x00,
|
||||||
|
0x3e,0x01,0x11,0x11,0x11,0x3e,0x00,0x00,
|
||||||
|
0x3f,0x00,0x3c,0x20,0x20,0x3f,0x00,0x00,
|
||||||
|
0x3f,0x00,0x3c,0x20,0x20,0x20,0x00,0x00,
|
||||||
|
0x1e,0x20,0x27,0x21,0x21,0x1e,0x00,0x00,
|
||||||
|
0x21,0x21,0x3f,0x21,0x21,0x21,0x00,0x00,
|
||||||
|
0x0e,0x04,0x04,0x04,0x04,0x0e,0x00,0x00,
|
||||||
|
0x07,0x02,0x02,0x02,0x22,0x1c,0x00,0x00,
|
||||||
|
0x22,0x24,0x38,0x24,0x22,0x21,0x00,0x00,
|
||||||
|
0x20,0x20,0x20,0x20,0x20,0x3f,0x00,0x00,
|
||||||
|
0x21,0x33,0x2d,0x2d,0x21,0x21,0x00,0x00,
|
||||||
|
0x21,0x31,0x29,0x25,0x23,0x21,0x00,0x00,
|
||||||
|
0x1e,0x01,0x21,0x21,0x21,0x1e,0x00,0x00,
|
||||||
|
0x3e,0x01,0x3e,0x20,0x20,0x20,0x00,0x00,
|
||||||
|
0x1e,0x01,0x21,0x25,0x22,0x1d,0x00,0x00,
|
||||||
|
0x3e,0x01,0x3e,0x24,0x22,0x21,0x00,0x00,
|
||||||
|
0x1e,0x20,0x1e,0x01,0x21,0x1e,0x00,0x00,
|
||||||
|
0x7f,0x08,0x08,0x08,0x08,0x08,0x00,0x00,
|
||||||
|
0x21,0x21,0x21,0x21,0x21,0x1e,0x00,0x00,
|
||||||
|
0x21,0x21,0x12,0x12,0x0c,0x0c,0x00,0x00,
|
||||||
|
0x21,0x21,0x2d,0x2d,0x33,0x21,0x00,0x00,
|
||||||
|
0x21,0x12,0x0c,0x12,0x21,0x21,0x00,0x00,
|
||||||
|
0x41,0x22,0x1c,0x08,0x08,0x08,0x00,0x00,
|
||||||
|
0x3f,0x01,0x06,0x18,0x20,0x3f,0x00,0x00,
|
||||||
|
0x3e,0x30,0x30,0x30,0x30,0x3e,0x00,0x00,
|
||||||
|
0x00,0x20,0x10,0x08,0x04,0x02,0x00,0x00,
|
||||||
|
0x3e,0x06,0x06,0x06,0x06,0x3e,0x00,0x00,
|
||||||
|
0x0c,0x12,0x21,0x00,0x00,0x00,0x00,0x00,
|
||||||
|
0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x00,
|
||||||
|
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||||
|
0x0c,0x0c,0x0c,0x0c,0x00,0x0c,0x00,0x00,
|
||||||
|
0x33,0x33,0x33,0x00,0x00,0x00,0x00,0x00,
|
||||||
|
0x12,0x3f,0x12,0x3f,0x12,0x00,0x00,0x00,
|
||||||
|
0x0a,0x1f,0x20,0x1e,0x01,0x3e,0x14,0x00,
|
||||||
|
0x31,0x32,0x04,0x08,0x13,0x23,0x00,0x00,
|
||||||
|
0x18,0x24,0x18,0x25,0x22,0x1d,0x00,0x00,
|
||||||
|
0x06,0x06,0x0c,0x00,0x00,0x00,0x00,0x00,
|
||||||
|
0x02,0x04,0x08,0x08,0x04,0x02,0x00,0x00,
|
||||||
|
0x10,0x08,0x04,0x04,0x08,0x10,0x00,0x00,
|
||||||
|
0x00,0x04,0x15,0x0e,0x15,0x04,0x00,0x00,
|
||||||
|
0x00,0x0c,0x0c,0x3f,0x0c,0x0c,0x00,0x00,
|
||||||
|
0x00,0x00,0x00,0x00,0x00,0x0c,0x0c,0x18,
|
||||||
|
0x00,0x00,0x00,0x3f,0x00,0x00,0x00,0x00,
|
||||||
|
0x00,0x00,0x00,0x00,0x0c,0x0c,0x00,0x00,
|
||||||
|
0x00,0x02,0x04,0x08,0x10,0x20,0x00,0x00,
|
||||||
|
0x1e,0x03,0x25,0x29,0x31,0x1e,0x00,0x00,
|
||||||
|
0x04,0x0c,0x14,0x04,0x04,0x1f,0x00,0x00,
|
||||||
|
0x1e,0x21,0x06,0x18,0x20,0x3f,0x00,0x00,
|
||||||
|
0x1e,0x21,0x0e,0x01,0x21,0x1e,0x00,0x00,
|
||||||
|
0x02,0x06,0x0a,0x12,0x3f,0x02,0x00,0x00,
|
||||||
|
0x3f,0x00,0x3e,0x01,0x21,0x1e,0x00,0x00,
|
||||||
|
0x1e,0x20,0x3e,0x21,0x21,0x1e,0x00,0x00,
|
||||||
|
0x3f,0x21,0x02,0x04,0x08,0x08,0x00,0x00,
|
||||||
|
0x1e,0x21,0x1e,0x21,0x21,0x1e,0x00,0x00,
|
||||||
|
0x1e,0x21,0x1f,0x01,0x02,0x1c,0x00,0x00,
|
||||||
|
0x00,0x0c,0x0c,0x00,0x0c,0x0c,0x00,0x00,
|
||||||
|
0x00,0x00,0x0c,0x0c,0x00,0x0c,0x0c,0x18,
|
||||||
|
0x00,0x03,0x0c,0x30,0x0c,0x03,0x00,0x00,
|
||||||
|
0x00,0x00,0x3e,0x00,0x3e,0x00,0x00,0x00,
|
||||||
|
0x00,0x30,0x0c,0x03,0x0c,0x30,0x00,0x00,
|
||||||
|
0x1e,0x21,0x06,0x08,0x00,0x08,0x00,0x00,
|
||||||
|
0x9e,0xa1,0xad,0xae,0xa0,0x9f,0x80,0x80,
|
||||||
|
0x8c,0x92,0xa1,0xbf,0xa1,0xa1,0x80,0x80,
|
||||||
|
0xbe,0x81,0x9e,0x91,0x91,0xbe,0x80,0x80,
|
||||||
|
0x9e,0xa1,0xa0,0xa0,0xa1,0x9e,0x80,0x80,
|
||||||
|
0xbe,0x81,0x91,0x91,0x91,0xbe,0x80,0x80,
|
||||||
|
0xbf,0x80,0xbc,0xa0,0xa0,0xbf,0x80,0x80,
|
||||||
|
0xbf,0x80,0xbc,0xa0,0xa0,0xa0,0x80,0x80,
|
||||||
|
0x9e,0xa0,0xa7,0xa1,0xa1,0x9e,0x80,0x80,
|
||||||
|
0xa1,0xa1,0xbf,0xa1,0xa1,0xa1,0x80,0x80,
|
||||||
|
0x8e,0x84,0x84,0x84,0x84,0x8e,0x80,0x80,
|
||||||
|
0x87,0x82,0x82,0x82,0xa2,0x9c,0x80,0x80,
|
||||||
|
0xa2,0xa4,0xb8,0xa4,0xa2,0xa1,0x80,0x80,
|
||||||
|
0xa0,0xa0,0xa0,0xa0,0xa0,0xbf,0x80,0x80,
|
||||||
|
0xa1,0xb3,0xad,0xad,0xa1,0xa1,0x80,0x80,
|
||||||
|
0xa1,0xb1,0xa9,0xa5,0xa3,0xa1,0x80,0x80,
|
||||||
|
0x9e,0x81,0xa1,0xa1,0xa1,0x9e,0x80,0x80,
|
||||||
|
0xbe,0x81,0xbe,0xa0,0xa0,0xa0,0x80,0x80,
|
||||||
|
0x9e,0x81,0xa1,0xa5,0xa2,0x9d,0x80,0x80,
|
||||||
|
0xbe,0x81,0xbe,0xa4,0xa2,0xa1,0x80,0x80,
|
||||||
|
0x9e,0xa0,0x9e,0x81,0xa1,0x9e,0x80,0x80,
|
||||||
|
0xff,0x88,0x88,0x88,0x88,0x88,0x80,0x80,
|
||||||
|
0xa1,0xa1,0xa1,0xa1,0xa1,0x9e,0x80,0x80,
|
||||||
|
0xa1,0xa1,0x92,0x92,0x8c,0x8c,0x80,0x80,
|
||||||
|
0xa1,0xa1,0xad,0xad,0xb3,0xa1,0x80,0x80,
|
||||||
|
0xa1,0x92,0x8c,0x92,0xa1,0xa1,0x80,0x80,
|
||||||
|
0xc1,0xa2,0x9c,0x88,0x88,0x88,0x80,0x80,
|
||||||
|
0xbf,0x81,0x86,0x98,0xa0,0xbf,0x80,0x80,
|
||||||
|
0xbe,0xb0,0xb0,0xb0,0xb0,0xbe,0x80,0x80,
|
||||||
|
0x80,0xa0,0x90,0x88,0x84,0x82,0x80,0x80,
|
||||||
|
0xbe,0x86,0x86,0x86,0x86,0xbe,0x80,0x80,
|
||||||
|
0x8c,0x92,0xa1,0x80,0x80,0x80,0x80,0x80,
|
||||||
|
0x80,0x80,0x80,0x80,0x80,0x80,0xff,0x80,
|
||||||
|
0x88,0x84,0x82,0x80,0x80,0x80,0x80,0x80,
|
||||||
|
0x80,0x9c,0x82,0x9e,0xa2,0x9d,0x80,0x80,
|
||||||
|
0xa0,0xae,0xb1,0xa1,0xb1,0xae,0x80,0x80,
|
||||||
|
0x80,0x9e,0xa0,0xa0,0xa0,0x9e,0x80,0x80,
|
||||||
|
0x81,0x9d,0xa3,0xa1,0xa3,0x9d,0x80,0x80,
|
||||||
|
0x80,0x9e,0xa1,0xbf,0xa0,0x9f,0x80,0x80,
|
||||||
|
0x8e,0x90,0xbc,0x90,0x90,0x90,0x80,0x80,
|
||||||
|
0x80,0x9d,0xa3,0xa3,0x9d,0x81,0xa1,0x9e,
|
||||||
|
0xa0,0xae,0xb1,0xa1,0xa1,0xa1,0x80,0x80,
|
||||||
|
0x84,0x80,0x8c,0x84,0x84,0x8e,0x80,0x80,
|
||||||
|
0x82,0x80,0x86,0x82,0x82,0x82,0xa2,0x9c,
|
||||||
|
0xa0,0xa2,0xa4,0xa8,0xb4,0xa2,0x80,0x80,
|
||||||
|
0x8c,0x84,0x84,0x84,0x84,0x8e,0x80,0x80,
|
||||||
|
0x80,0xaa,0x95,0x95,0x95,0x95,0x80,0x80,
|
||||||
|
0x80,0xae,0x91,0x91,0x91,0x91,0x80,0x80,
|
||||||
|
0x80,0x9e,0xa1,0xa1,0xa1,0x9e,0x80,0x80,
|
||||||
|
0x80,0xae,0xb1,0xb1,0xae,0xa0,0xa0,0xa0,
|
||||||
|
0x80,0x9d,0xa3,0xa3,0x9d,0x81,0x81,0x81,
|
||||||
|
0x80,0xaf,0xb0,0xa0,0xa0,0xa0,0x80,0x80,
|
||||||
|
0x80,0x9e,0xa0,0x9e,0x81,0xbe,0x80,0x80,
|
||||||
|
0x90,0xbe,0x90,0x90,0x91,0x8e,0x80,0x80,
|
||||||
|
0x80,0xa2,0xa2,0xa2,0xa2,0x9c,0x80,0x80,
|
||||||
|
0x80,0xa1,0xa1,0xa1,0x92,0x8c,0x80,0x80,
|
||||||
|
0x80,0xa2,0xa2,0xaa,0xaa,0x94,0x80,0x80,
|
||||||
|
0x80,0xa1,0x92,0x8c,0x92,0xa1,0x80,0x80,
|
||||||
|
0x80,0xa1,0xa1,0xa3,0x9d,0x81,0xa1,0x9e,
|
||||||
|
0x80,0x9f,0x82,0x8c,0x90,0xbf,0x80,0x80,
|
||||||
|
0x8c,0x98,0xbc,0xf4,0xff,0xff,0xfb,0xbc,
|
||||||
|
0xe3,0xbe,0xaa,0xbe,0xeb,0xdd,0xc1,0xbe,
|
||||||
|
0x98,0x8c,0x9e,0x97,0xff,0xff,0xef,0x9e,
|
||||||
|
0xbe,0xc9,0xc9,0xbe,0x9c,0xc1,0xbe,0xc1,
|
||||||
|
0x84,0x88,0xb6,0xff,0xfc,0xfc,0xbe,0xb6,
|
||||||
|
];
|
||||||
|
|
||||||
|
export default pigfont_charset;
|
518
js/roms/rmfont_char.js
Normal file
518
js/roms/rmfont_char.js
Normal file
|
@ -0,0 +1,518 @@
|
||||||
|
/*exported rmfont_charset */
|
||||||
|
|
||||||
|
var rmfont_charset = [
|
||||||
|
0x3c,0x42,0x59,0x55,0x55,0x39,0x02,0x3c,
|
||||||
|
0x08,0x14,0x22,0x22,0x3e,0x22,0x22,0x00,
|
||||||
|
0x1e,0x24,0x24,0x1c,0x24,0x24,0x1e,0x00,
|
||||||
|
0x1c,0x22,0x02,0x02,0x02,0x22,0x1c,0x00,
|
||||||
|
0x1e,0x24,0x24,0x24,0x24,0x24,0x1e,0x00,
|
||||||
|
0x3e,0x02,0x02,0x1e,0x02,0x02,0x3e,0x00,
|
||||||
|
0x3e,0x02,0x02,0x1e,0x02,0x02,0x02,0x00,
|
||||||
|
0x1c,0x22,0x02,0x02,0x32,0x22,0x3c,0x00,
|
||||||
|
0x22,0x22,0x22,0x3e,0x22,0x22,0x22,0x00,
|
||||||
|
0x1c,0x08,0x08,0x08,0x08,0x08,0x1c,0x00,
|
||||||
|
0x38,0x10,0x10,0x10,0x10,0x12,0x0c,0x00,
|
||||||
|
0x22,0x12,0x0a,0x16,0x12,0x22,0x22,0x00,
|
||||||
|
0x02,0x02,0x02,0x02,0x02,0x02,0x3e,0x00,
|
||||||
|
0x22,0x36,0x2a,0x2a,0x22,0x22,0x22,0x00,
|
||||||
|
0x22,0x22,0x26,0x2a,0x32,0x22,0x22,0x00,
|
||||||
|
0x1c,0x22,0x22,0x22,0x22,0x22,0x1c,0x00,
|
||||||
|
0x1e,0x22,0x22,0x1e,0x02,0x02,0x02,0x00,
|
||||||
|
0x1c,0x22,0x22,0x22,0x2a,0x12,0x2c,0x00,
|
||||||
|
0x1e,0x22,0x22,0x1e,0x0a,0x12,0x22,0x00,
|
||||||
|
0x1c,0x22,0x02,0x1c,0x20,0x22,0x1c,0x00,
|
||||||
|
0x3e,0x08,0x08,0x08,0x08,0x08,0x08,0x00,
|
||||||
|
0x22,0x22,0x22,0x22,0x22,0x22,0x1c,0x00,
|
||||||
|
0x22,0x22,0x22,0x22,0x14,0x14,0x08,0x00,
|
||||||
|
0x22,0x22,0x22,0x2a,0x2a,0x36,0x22,0x00,
|
||||||
|
0x22,0x22,0x14,0x08,0x14,0x22,0x22,0x00,
|
||||||
|
0x22,0x22,0x14,0x08,0x08,0x08,0x08,0x00,
|
||||||
|
0x3e,0x20,0x10,0x08,0x04,0x02,0x3e,0x00,
|
||||||
|
0x3e,0x06,0x06,0x06,0x06,0x06,0x3e,0x00,
|
||||||
|
0x00,0x02,0x04,0x08,0x10,0x20,0x00,0x00,
|
||||||
|
0x3e,0x30,0x30,0x30,0x30,0x30,0x3e,0x00,
|
||||||
|
0x00,0x00,0x08,0x14,0x22,0x00,0x00,0x00,
|
||||||
|
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,
|
||||||
|
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||||
|
0x08,0x1c,0x1c,0x08,0x08,0x00,0x08,0x00,
|
||||||
|
0x36,0x36,0x14,0x00,0x00,0x00,0x00,0x00,
|
||||||
|
0x14,0x14,0x3e,0x14,0x3e,0x14,0x14,0x00,
|
||||||
|
0x08,0x3c,0x0a,0x1c,0x28,0x1e,0x08,0x00,
|
||||||
|
0x06,0x26,0x10,0x08,0x04,0x32,0x30,0x00,
|
||||||
|
0x04,0x0a,0x0a,0x04,0x2a,0x12,0x2c,0x00,
|
||||||
|
0x18,0x10,0x08,0x00,0x00,0x00,0x00,0x00,
|
||||||
|
0x08,0x04,0x02,0x02,0x02,0x04,0x08,0x00,
|
||||||
|
0x08,0x10,0x20,0x20,0x20,0x10,0x08,0x00,
|
||||||
|
0x08,0x2a,0x1c,0x3e,0x1c,0x2a,0x08,0x00,
|
||||||
|
0x00,0x08,0x08,0x3e,0x08,0x08,0x00,0x00,
|
||||||
|
0x00,0x00,0x00,0x00,0x00,0x08,0x08,0x04,
|
||||||
|
0x00,0x00,0x00,0x3e,0x00,0x00,0x00,0x00,
|
||||||
|
0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,
|
||||||
|
0x00,0x20,0x10,0x08,0x04,0x02,0x00,0x00,
|
||||||
|
0x1c,0x22,0x22,0x2a,0x22,0x22,0x1c,0x00,
|
||||||
|
0x08,0x0c,0x08,0x08,0x08,0x08,0x1c,0x00,
|
||||||
|
0x1c,0x22,0x20,0x18,0x04,0x02,0x3e,0x00,
|
||||||
|
0x3e,0x20,0x10,0x18,0x20,0x22,0x1c,0x00,
|
||||||
|
0x10,0x18,0x14,0x12,0x3e,0x10,0x10,0x00,
|
||||||
|
0x3e,0x02,0x1e,0x22,0x20,0x22,0x1c,0x00,
|
||||||
|
0x38,0x04,0x02,0x1e,0x22,0x22,0x1c,0x00,
|
||||||
|
0x3e,0x20,0x10,0x08,0x04,0x04,0x04,0x00,
|
||||||
|
0x1c,0x22,0x22,0x1c,0x22,0x22,0x1c,0x00,
|
||||||
|
0x1c,0x22,0x22,0x3c,0x20,0x10,0x08,0x00,
|
||||||
|
0x00,0x00,0x08,0x00,0x08,0x00,0x00,0x00,
|
||||||
|
0x00,0x00,0x08,0x00,0x00,0x08,0x08,0x04,
|
||||||
|
0x10,0x08,0x04,0x02,0x04,0x08,0x10,0x00,
|
||||||
|
0x00,0x00,0x3e,0x00,0x3e,0x00,0x00,0x00,
|
||||||
|
0x04,0x08,0x10,0x20,0x10,0x08,0x04,0x00,
|
||||||
|
0x1c,0x22,0x20,0x10,0x08,0x00,0x08,0x00,
|
||||||
|
0xef,0xf7,0xc9,0x80,0xc0,0xc0,0x81,0xc9,
|
||||||
|
0xef,0xf7,0xc9,0xbe,0xde,0xde,0xb5,0xc9,
|
||||||
|
0xff,0xff,0xfd,0xf9,0xf1,0xe1,0xc9,0xbd,
|
||||||
|
0x80,0xdd,0xeb,0xf7,0xf7,0xeb,0xd5,0x80,
|
||||||
|
0xff,0xbf,0xdf,0xee,0xf5,0xfb,0xfb,0xff,
|
||||||
|
0x80,0xc0,0xa0,0x93,0x8a,0x84,0x84,0x80,
|
||||||
|
0x40,0x40,0x40,0x44,0x46,0x7f,0x06,0x04,
|
||||||
|
0x00,0x7f,0x00,0x7f,0x00,0x7f,0x7f,0x00,
|
||||||
|
0xf7,0xfb,0xfd,0x80,0xfd,0xfb,0xf7,0xff,
|
||||||
|
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd5,
|
||||||
|
0xf7,0xf7,0xf7,0xf7,0xb6,0xd5,0xe3,0xf7,
|
||||||
|
0xf7,0xe3,0xd5,0xb6,0xf7,0xf7,0xf7,0xf7,
|
||||||
|
0x80,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||||
|
0xbf,0xbf,0xbf,0xbb,0xb9,0x80,0xf9,0xfb,
|
||||||
|
0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
|
||||||
|
0xec,0xe7,0xe3,0x81,0xe3,0xe7,0xef,0x90,
|
||||||
|
0x9b,0xf3,0xe3,0xc0,0xe3,0xf3,0xfb,0x84,
|
||||||
|
0xbf,0xb7,0xf7,0x80,0xc1,0xe3,0xb7,0xbf,
|
||||||
|
0xbf,0xb7,0xe3,0xc1,0x80,0xf7,0xb7,0xbf,
|
||||||
|
0xff,0xff,0xff,0x80,0xff,0xff,0xff,0xff,
|
||||||
|
0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0x80,
|
||||||
|
0xf7,0xef,0xdf,0x80,0xdf,0xef,0xf7,0xff,
|
||||||
|
0xd5,0xaa,0xd5,0xaa,0xd5,0xaa,0xd5,0xaa,
|
||||||
|
0xaa,0xd5,0xaa,0xd5,0xaa,0xd5,0xaa,0xd5,
|
||||||
|
0xff,0xc1,0xbe,0xfe,0xfe,0xfe,0x80,0xff,
|
||||||
|
0xff,0xff,0xc0,0xbf,0xbf,0xbf,0x80,0xff,
|
||||||
|
0xbf,0xbf,0xbf,0xbf,0xbf,0xbf,0xbf,0xbf,
|
||||||
|
0xf7,0xe3,0xc1,0x80,0xc1,0xe3,0xf7,0xff,
|
||||||
|
0x80,0xff,0xff,0xff,0xff,0xff,0xff,0x80,
|
||||||
|
0xeb,0xeb,0x88,0xff,0x88,0xeb,0xeb,0xff,
|
||||||
|
0x80,0xbf,0xbf,0xb3,0xb3,0xbf,0xbf,0x80,
|
||||||
|
0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,
|
||||||
|
0x04,0x08,0x10,0x00,0x00,0x00,0x00,0x00,
|
||||||
|
0x00,0x00,0x1c,0x20,0x3c,0x22,0x3c,0x00,
|
||||||
|
0x02,0x02,0x1e,0x22,0x22,0x22,0x1e,0x00,
|
||||||
|
0x00,0x00,0x3c,0x02,0x02,0x02,0x3c,0x00,
|
||||||
|
0x20,0x20,0x3c,0x22,0x22,0x22,0x3c,0x00,
|
||||||
|
0x00,0x00,0x1c,0x22,0x3e,0x02,0x3c,0x00,
|
||||||
|
0x18,0x24,0x04,0x1e,0x04,0x04,0x04,0x00,
|
||||||
|
0x00,0x00,0x1c,0x22,0x22,0x3c,0x20,0x1c,
|
||||||
|
0x02,0x02,0x1e,0x22,0x22,0x22,0x22,0x00,
|
||||||
|
0x08,0x00,0x0c,0x08,0x08,0x08,0x1c,0x00,
|
||||||
|
0x10,0x00,0x18,0x10,0x10,0x10,0x12,0x0c,
|
||||||
|
0x02,0x02,0x22,0x12,0x0e,0x12,0x22,0x00,
|
||||||
|
0x0c,0x08,0x08,0x08,0x08,0x08,0x1c,0x00,
|
||||||
|
0x00,0x00,0x36,0x2a,0x2a,0x2a,0x22,0x00,
|
||||||
|
0x00,0x00,0x1e,0x22,0x22,0x22,0x22,0x00,
|
||||||
|
0x00,0x00,0x1c,0x22,0x22,0x22,0x1c,0x00,
|
||||||
|
0x00,0x00,0x1e,0x22,0x22,0x1e,0x02,0x02,
|
||||||
|
0x00,0x00,0x3c,0x22,0x22,0x3c,0x20,0x60,
|
||||||
|
0x00,0x00,0x1a,0x26,0x02,0x02,0x02,0x00,
|
||||||
|
0x00,0x00,0x3c,0x02,0x1c,0x20,0x1e,0x00,
|
||||||
|
0x04,0x04,0x1e,0x04,0x04,0x24,0x18,0x00,
|
||||||
|
0x00,0x00,0x22,0x22,0x22,0x32,0x2c,0x00,
|
||||||
|
0x00,0x00,0x22,0x22,0x22,0x14,0x08,0x00,
|
||||||
|
0x00,0x00,0x22,0x22,0x2a,0x2a,0x14,0x00,
|
||||||
|
0x00,0x00,0x22,0x14,0x08,0x14,0x22,0x00,
|
||||||
|
0x00,0x00,0x22,0x22,0x22,0x3c,0x20,0x1c,
|
||||||
|
0x00,0x00,0x3e,0x10,0x08,0x04,0x3e,0x00,
|
||||||
|
0x38,0x0c,0x0c,0x06,0x0c,0x0c,0x38,0x00,
|
||||||
|
0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,
|
||||||
|
0x0e,0x18,0x18,0x30,0x18,0x18,0x0e,0x00,
|
||||||
|
0x2c,0x1a,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||||
|
0x6f,0x77,0x41,0x00,0x40,0x40,0x00,0x49,
|
||||||
|
0x43,0x3c,0x26,0x2a,0x2a,0x46,0x7d,0x43,
|
||||||
|
0xf7,0xeb,0xdd,0xdd,0xc1,0xdd,0xdd,0xff,
|
||||||
|
0xe1,0xdb,0xdb,0xe3,0xdb,0xdb,0xe1,0x7f,
|
||||||
|
0xe3,0xdd,0xfd,0xfd,0xfd,0xdd,0xe3,0xff,
|
||||||
|
0xe1,0xdb,0xdb,0xdb,0xdb,0xdb,0xe1,0x7f,
|
||||||
|
0xc1,0xfd,0xfd,0xe1,0xfd,0xfd,0xc1,0xff,
|
||||||
|
0xc1,0xfd,0xfd,0xe1,0xfd,0xfd,0xfd,0xff,
|
||||||
|
0xe3,0xdd,0xfd,0xfd,0xcd,0xdd,0xc3,0x7f,
|
||||||
|
0xdd,0xdd,0xdd,0xc1,0xdd,0xdd,0xdd,0xff,
|
||||||
|
0xe3,0xf7,0xf7,0xf7,0xf7,0xf7,0xe3,0xff,
|
||||||
|
0xc7,0xef,0xef,0xef,0xef,0xed,0xf3,0x7f,
|
||||||
|
0xdd,0xed,0xf5,0xe9,0xed,0xdd,0xdd,0x7f,
|
||||||
|
0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xc1,0xff,
|
||||||
|
0xdd,0xc9,0xd5,0xd5,0xdd,0xdd,0xdd,0xff,
|
||||||
|
0xdd,0xdd,0xd9,0xd5,0xcd,0xdd,0xdd,0xff,
|
||||||
|
0xe3,0xdd,0xdd,0xdd,0xdd,0xdd,0xe3,0xff,
|
||||||
|
0xe1,0xdd,0xdd,0xe1,0xfd,0xfd,0xfd,0xff,
|
||||||
|
0xe3,0xdd,0xdd,0xdd,0xd5,0xed,0xd3,0xff,
|
||||||
|
0xe1,0xdd,0xdd,0xe1,0xf5,0xed,0xdd,0xff,
|
||||||
|
0xe3,0xdd,0xfd,0xe3,0xdf,0xdd,0xe3,0xff,
|
||||||
|
0xc1,0xf7,0xf7,0xf7,0xf7,0xf7,0xf7,0xff,
|
||||||
|
0xdd,0xdd,0xdd,0xdd,0xdd,0xdd,0xe3,0xff,
|
||||||
|
0xdd,0xdd,0xdd,0xdd,0xeb,0xeb,0xf7,0x7f,
|
||||||
|
0xdd,0xdd,0xdd,0xd5,0xd5,0xc9,0xdd,0xff,
|
||||||
|
0xdd,0xdd,0xeb,0xf7,0xeb,0xdd,0xdd,0xff,
|
||||||
|
0xdd,0xdd,0xeb,0xf7,0xf7,0xf7,0xf7,0xff,
|
||||||
|
0xc1,0xdf,0xef,0xf7,0xfb,0xfd,0xc1,0xff,
|
||||||
|
0xc1,0xf9,0xf9,0xf9,0xf9,0xf9,0xc1,0xff,
|
||||||
|
0xff,0xfd,0xfb,0xf7,0xef,0xdf,0xff,0xff,
|
||||||
|
0xc1,0xcf,0xcf,0xcf,0xcf,0xcf,0xc1,0xff,
|
||||||
|
0xff,0xff,0xf7,0xeb,0xdd,0xff,0xff,0xff,
|
||||||
|
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,
|
||||||
|
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||||
|
0x77,0x63,0x63,0x77,0x77,0x7f,0x77,0x7f,
|
||||||
|
0x49,0x49,0x6b,0x7f,0x7f,0x7f,0x7f,0x7f,
|
||||||
|
0xeb,0xeb,0xc1,0xeb,0xc1,0xeb,0xeb,0xff,
|
||||||
|
0xf7,0xc3,0xf5,0xe3,0xd7,0xe1,0xf7,0xff,
|
||||||
|
0xf9,0xd9,0xef,0xf7,0xfb,0xcd,0xcf,0xff,
|
||||||
|
0xfb,0xf5,0xf5,0xfb,0xd5,0xed,0xd3,0xff,
|
||||||
|
0x67,0x6f,0x77,0x7f,0x7f,0x7f,0x7f,0x7f,
|
||||||
|
0xf7,0xfb,0xfd,0xfd,0xfd,0xfb,0xf7,0xff,
|
||||||
|
0xf7,0xef,0xdf,0xdf,0xdf,0xef,0xf7,0xff,
|
||||||
|
0xf7,0xd5,0xe3,0xc1,0xe3,0xd5,0xf7,0xff,
|
||||||
|
0xff,0xf7,0xf7,0xc1,0xf7,0xf7,0xff,0xff,
|
||||||
|
0xff,0xff,0xff,0xff,0xff,0xf7,0xf7,0xfb,
|
||||||
|
0xff,0xff,0xff,0xc1,0xff,0xff,0xff,0xff,
|
||||||
|
0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xff,
|
||||||
|
0xff,0xdf,0xef,0xf7,0xfb,0xfd,0xff,0xff,
|
||||||
|
0x63,0x5d,0x5d,0x55,0x5d,0x5d,0x63,0x7f,
|
||||||
|
0xf7,0xf3,0xf7,0xf7,0xf7,0xf7,0xe3,0xff,
|
||||||
|
0xe3,0xdd,0xdf,0xe7,0xfb,0xfd,0xc1,0xff,
|
||||||
|
0xc1,0xdf,0xef,0xe7,0xdf,0xdd,0xe3,0xff,
|
||||||
|
0xef,0xe7,0xeb,0xed,0xc1,0xef,0xef,0xff,
|
||||||
|
0x41,0x7d,0x61,0x5d,0x5f,0x5d,0x63,0x7f,
|
||||||
|
0xc7,0xfb,0xfd,0xe1,0xdd,0xdd,0xe3,0xff,
|
||||||
|
0xc1,0xdf,0xef,0xf7,0xfb,0xfb,0xfb,0xff,
|
||||||
|
0xe3,0xdd,0xdd,0xe3,0xdd,0xdd,0xe3,0xff,
|
||||||
|
0xe3,0xdd,0xdd,0xc3,0xdf,0xef,0xf7,0xff,
|
||||||
|
0xff,0xff,0xf7,0xff,0xf7,0xff,0xff,0xff,
|
||||||
|
0xff,0xff,0xf7,0xff,0xff,0xf7,0xf7,0xfb,
|
||||||
|
0xef,0xf7,0xfb,0xfd,0xfb,0xf7,0xef,0xff,
|
||||||
|
0xff,0xff,0xc1,0xff,0xc1,0xff,0xff,0xff,
|
||||||
|
0xfb,0xf7,0xef,0xdf,0xef,0xf7,0xfb,0xff,
|
||||||
|
0x63,0x5d,0x5f,0x6f,0x77,0x7f,0x77,0x7f,
|
||||||
|
0x43,0x3c,0x26,0x2a,0x2a,0x46,0x7d,0x43,
|
||||||
|
0xf7,0xeb,0xdd,0xdd,0xc1,0xdd,0xdd,0xff,
|
||||||
|
0xe1,0xdb,0xdb,0xe3,0xdb,0xdb,0xe1,0xff,
|
||||||
|
0xe3,0xdd,0xfd,0xfd,0xfd,0xdd,0xe3,0xff,
|
||||||
|
0xe1,0xdb,0xdb,0xdb,0xdb,0xdb,0xe1,0xff,
|
||||||
|
0xc1,0xfd,0xfd,0xe1,0xfd,0xfd,0xc1,0xff,
|
||||||
|
0xc1,0xfd,0xfd,0xe1,0xfd,0xfd,0xfd,0xff,
|
||||||
|
0xe3,0xdd,0xfd,0xfd,0xcd,0xdd,0xc3,0xff,
|
||||||
|
0xdd,0xdd,0xdd,0xc1,0xdd,0xdd,0xdd,0xff,
|
||||||
|
0xe3,0xf7,0xf7,0xf7,0xf7,0xf7,0xe3,0xff,
|
||||||
|
0xc7,0xef,0xef,0xef,0xef,0xed,0xf3,0xff,
|
||||||
|
0xdd,0xed,0xf5,0xe9,0xed,0xdd,0xdd,0xff,
|
||||||
|
0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xc1,0xff,
|
||||||
|
0xdd,0xc9,0xd5,0xd5,0xdd,0xdd,0xdd,0xff,
|
||||||
|
0xdd,0xdd,0xd9,0xd5,0xcd,0xdd,0xdd,0xff,
|
||||||
|
0xe3,0xdd,0xdd,0xdd,0xdd,0xdd,0xe3,0xff,
|
||||||
|
0xe1,0xdd,0xdd,0xe1,0xfd,0xfd,0xfd,0xff,
|
||||||
|
0xe3,0xdd,0xdd,0xdd,0xd5,0xed,0xd3,0xff,
|
||||||
|
0xe1,0xdd,0xdd,0xe1,0xf5,0xed,0xdd,0xff,
|
||||||
|
0xe3,0xdd,0xfd,0xe3,0xdf,0xdd,0xe3,0xff,
|
||||||
|
0xc1,0xf7,0xf7,0xf7,0xf7,0xf7,0xf7,0xff,
|
||||||
|
0xdd,0xdd,0xdd,0xdd,0xdd,0xdd,0xe3,0xff,
|
||||||
|
0xdd,0xdd,0xdd,0xdd,0xeb,0xeb,0xf7,0xff,
|
||||||
|
0xdd,0xdd,0xdd,0xd5,0xd5,0xc9,0xdd,0xff,
|
||||||
|
0xdd,0xdd,0xeb,0xf7,0xeb,0xdd,0xdd,0xff,
|
||||||
|
0xdd,0xdd,0xeb,0xf7,0xf7,0xf7,0xf7,0xff,
|
||||||
|
0xc1,0xdf,0xef,0xf7,0xfb,0xfd,0xc1,0xff,
|
||||||
|
0xc1,0xf9,0xf9,0xf9,0xf9,0xf9,0xc1,0xff,
|
||||||
|
0xff,0xfd,0xfb,0xf7,0xef,0xdf,0xff,0xff,
|
||||||
|
0xc1,0xcf,0xcf,0xcf,0xcf,0xcf,0xc1,0xff,
|
||||||
|
0xff,0xff,0xf7,0xeb,0xdd,0xff,0xff,0xff,
|
||||||
|
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,
|
||||||
|
0xfb,0xf7,0xef,0xff,0xff,0xff,0xff,0xff,
|
||||||
|
0xff,0xff,0xe3,0xdf,0xc3,0xdd,0xc3,0xff,
|
||||||
|
0xfd,0xfd,0xe1,0xdd,0xdd,0xdd,0xe1,0xff,
|
||||||
|
0xff,0xff,0xc3,0xfd,0xfd,0xfd,0xc3,0xff,
|
||||||
|
0xdf,0xdf,0xc3,0xdd,0xdd,0xdd,0xc3,0xff,
|
||||||
|
0xff,0xff,0xe3,0xdd,0xc1,0xfd,0xc3,0xff,
|
||||||
|
0xe7,0xdb,0xfb,0xe1,0xfb,0xfb,0xfb,0xff,
|
||||||
|
0xff,0xff,0xe3,0xdd,0xdd,0xc3,0xdf,0xe3,
|
||||||
|
0xfd,0xfd,0xe1,0xdd,0xdd,0xdd,0xdd,0xff,
|
||||||
|
0xf7,0xff,0xf3,0xf7,0xf7,0xf7,0xe3,0xff,
|
||||||
|
0xef,0xff,0xe7,0xef,0xef,0xef,0xed,0xf3,
|
||||||
|
0xfd,0xfd,0xdd,0xed,0xf1,0xed,0xdd,0xff,
|
||||||
|
0xf3,0xf7,0xf7,0xf7,0xf7,0xf7,0xe3,0xff,
|
||||||
|
0xff,0xff,0xc9,0xd5,0xd5,0xd5,0xdd,0xff,
|
||||||
|
0xff,0xff,0xe1,0xdd,0xdd,0xdd,0xdd,0xff,
|
||||||
|
0xff,0xff,0xe3,0xdd,0xdd,0xdd,0xe3,0xff,
|
||||||
|
0xff,0xff,0xe1,0xdd,0xdd,0xe1,0xfd,0xfd,
|
||||||
|
0x7f,0x7f,0x43,0x5d,0x5d,0x43,0x5f,0x1f,
|
||||||
|
0x7f,0x7f,0x65,0x59,0x7d,0x7d,0x7d,0x7f,
|
||||||
|
0xff,0xff,0xc3,0xfd,0xe3,0xdf,0xe1,0xff,
|
||||||
|
0xfb,0xfb,0xe1,0xfb,0xfb,0xdb,0xe7,0xff,
|
||||||
|
0xff,0xff,0xdd,0xdd,0xdd,0xcd,0xd3,0xff,
|
||||||
|
0xff,0xff,0xdd,0xdd,0xdd,0xeb,0xf7,0xff,
|
||||||
|
0xff,0xff,0x5d,0x5d,0x55,0x55,0x6b,0x7f,
|
||||||
|
0xff,0xff,0xdd,0xeb,0xf7,0xeb,0xdd,0xff,
|
||||||
|
0xff,0xff,0xdd,0xdd,0xdd,0xc3,0xdf,0xe3,
|
||||||
|
0xff,0xff,0xc1,0xef,0xf7,0xfb,0xc1,0xff,
|
||||||
|
0xc7,0xf3,0xf3,0xf9,0xf3,0xf3,0xc7,0xff,
|
||||||
|
0xf7,0xf7,0xf7,0xf7,0xf7,0xf7,0xf7,0xf7,
|
||||||
|
0xf1,0xe7,0xe7,0xcf,0xe7,0xe7,0xf1,0xff,
|
||||||
|
0xd3,0xe5,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||||
|
0x6f,0x77,0x49,0x3e,0x5e,0x5e,0x36,0x49,
|
||||||
|
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||||
|
0xfe,0xfe,0xee,0xbb,0xfe,0xfe,0xff,0xff,
|
||||||
|
0xfd,0xfd,0xdd,0x77,0xfd,0xfd,0xff,0xff,
|
||||||
|
0xfc,0xfc,0xcc,0x33,0xfc,0xfc,0xff,0xff,
|
||||||
|
0xfb,0xfb,0xbb,0xee,0xfb,0xfb,0xff,0xff,
|
||||||
|
0xfa,0xfa,0xaa,0xaa,0xfa,0xfa,0xff,0xff,
|
||||||
|
0xf9,0xf9,0x99,0x66,0xf9,0xf9,0xff,0xff,
|
||||||
|
0xf8,0xf8,0x88,0x22,0xf8,0xf8,0xff,0xff,
|
||||||
|
0xf7,0xf7,0x77,0xdd,0xf7,0xf7,0xff,0xff,
|
||||||
|
0xf6,0xf6,0x66,0x99,0xf6,0xf6,0xff,0xff,
|
||||||
|
0xf5,0xf5,0x55,0x55,0xf5,0xf5,0xff,0xff,
|
||||||
|
0xf4,0xf4,0x44,0x11,0xf4,0xf4,0xff,0xff,
|
||||||
|
0xf3,0xf3,0x33,0xcc,0xf3,0xf3,0xff,0xff,
|
||||||
|
0xf2,0xf2,0x22,0x88,0xf2,0xf2,0xff,0xff,
|
||||||
|
0xf1,0xf1,0x11,0x44,0xf1,0xf1,0xff,0xff,
|
||||||
|
0xf0,0xf0,0x00,0x00,0xf0,0xf0,0xff,0xff,
|
||||||
|
0xef,0xef,0xff,0xff,0xef,0xef,0xee,0xbb,
|
||||||
|
0xee,0xee,0xee,0xbb,0xee,0xee,0xee,0xbb,
|
||||||
|
0xed,0xed,0xdd,0x77,0xed,0xed,0xee,0xbb,
|
||||||
|
0xec,0xec,0xcc,0x33,0xec,0xec,0xee,0xbb,
|
||||||
|
0xeb,0xeb,0xbb,0xee,0xeb,0xeb,0xee,0xbb,
|
||||||
|
0xea,0xea,0xaa,0xaa,0xea,0xea,0xee,0xbb,
|
||||||
|
0xe9,0xe9,0x99,0x66,0xe9,0xe9,0xee,0xbb,
|
||||||
|
0xe8,0xe8,0x88,0x22,0xe8,0xe8,0xee,0xbb,
|
||||||
|
0xe7,0xe7,0x77,0xdd,0xe7,0xe7,0xee,0xbb,
|
||||||
|
0xe6,0xe6,0x66,0x99,0xe6,0xe6,0xee,0xbb,
|
||||||
|
0xe5,0xe5,0x55,0x55,0xe5,0xe5,0xee,0xbb,
|
||||||
|
0xe4,0xe4,0x44,0x11,0xe4,0xe4,0xee,0xbb,
|
||||||
|
0xe3,0xe3,0x33,0xcc,0xe3,0xe3,0xee,0xbb,
|
||||||
|
0xe2,0xe2,0x22,0x88,0xe2,0xe2,0xee,0xbb,
|
||||||
|
0xe1,0xe1,0x11,0x44,0xe1,0xe1,0xee,0xbb,
|
||||||
|
0xe0,0xe0,0x00,0x00,0xe0,0xe0,0xee,0xbb,
|
||||||
|
0xdf,0xdf,0xff,0xff,0xdf,0xdf,0xdd,0x77,
|
||||||
|
0xde,0xde,0xee,0xbb,0xde,0xde,0xdd,0x77,
|
||||||
|
0xdd,0xdd,0xdd,0x77,0xdd,0xdd,0xdd,0x77,
|
||||||
|
0xdc,0xdc,0xcc,0x33,0xdc,0xdc,0xdd,0x77,
|
||||||
|
0xdb,0xdb,0xbb,0xee,0xdb,0xdb,0xdd,0x77,
|
||||||
|
0xda,0xda,0xaa,0xaa,0xda,0xda,0xdd,0x77,
|
||||||
|
0xd9,0xd9,0x99,0x66,0xd9,0xd9,0xdd,0x77,
|
||||||
|
0xd8,0xd8,0x88,0x22,0xd8,0xd8,0xdd,0x77,
|
||||||
|
0xd7,0xd7,0x77,0xdd,0xd7,0xd7,0xdd,0x77,
|
||||||
|
0xd6,0xd6,0x66,0x99,0xd6,0xd6,0xdd,0x77,
|
||||||
|
0xd5,0xd5,0x55,0x55,0xd5,0xd5,0xdd,0x77,
|
||||||
|
0xd4,0xd4,0x44,0x11,0xd4,0xd4,0xdd,0x77,
|
||||||
|
0xd3,0xd3,0x33,0xcc,0xd3,0xd3,0xdd,0x77,
|
||||||
|
0xd2,0xd2,0x22,0x88,0xd2,0xd2,0xdd,0x77,
|
||||||
|
0xd1,0xd1,0x11,0x44,0xd1,0xd1,0xdd,0x77,
|
||||||
|
0xd0,0xd0,0x00,0x00,0xd0,0xd0,0xdd,0x77,
|
||||||
|
0xcf,0xcf,0xff,0xff,0xcf,0xcf,0xcc,0x33,
|
||||||
|
0xce,0xce,0xee,0xbb,0xce,0xce,0xcc,0x33,
|
||||||
|
0xcd,0xcd,0xdd,0x77,0xcd,0xcd,0xcc,0x33,
|
||||||
|
0xcc,0xcc,0xcc,0x33,0xcc,0xcc,0xcc,0x33,
|
||||||
|
0xcb,0xcb,0xbb,0xee,0xcb,0xcb,0xcc,0x33,
|
||||||
|
0xca,0xca,0xaa,0xaa,0xca,0xca,0xcc,0x33,
|
||||||
|
0xc9,0xc9,0x99,0x66,0xc9,0xc9,0xcc,0x33,
|
||||||
|
0xc8,0xc8,0x88,0x22,0xc8,0xc8,0xcc,0x33,
|
||||||
|
0xc7,0xc7,0x77,0xdd,0xc7,0xc7,0xcc,0x33,
|
||||||
|
0xc6,0xc6,0x66,0x99,0xc6,0xc6,0xcc,0x33,
|
||||||
|
0xc5,0xc5,0x55,0x55,0xc5,0xc5,0xcc,0x33,
|
||||||
|
0xc4,0xc4,0x44,0x11,0xc4,0xc4,0xcc,0x33,
|
||||||
|
0xc3,0xc3,0x33,0xcc,0xc3,0xc3,0xcc,0x33,
|
||||||
|
0xc2,0xc2,0x22,0x88,0xc2,0xc2,0xcc,0x33,
|
||||||
|
0xc1,0xc1,0x11,0x44,0xc1,0xc1,0xcc,0x33,
|
||||||
|
0xc0,0xc0,0x00,0x00,0xc0,0xc0,0xcc,0x33,
|
||||||
|
0xbf,0xbf,0xff,0xff,0xbf,0xbf,0xbb,0xee,
|
||||||
|
0xbe,0xbe,0xee,0xbb,0xbe,0xbe,0xbb,0xee,
|
||||||
|
0xbd,0xbd,0xdd,0x77,0xbd,0xbd,0xbb,0xee,
|
||||||
|
0xbc,0xbc,0xcc,0x33,0xbc,0xbc,0xbb,0xee,
|
||||||
|
0xbb,0xbb,0xbb,0xee,0xbb,0xbb,0xbb,0xee,
|
||||||
|
0xba,0xba,0xaa,0xaa,0xba,0xba,0xbb,0xee,
|
||||||
|
0xb9,0xb9,0x99,0x66,0xb9,0xb9,0xbb,0xee,
|
||||||
|
0xb8,0xb8,0x88,0x22,0xb8,0xb8,0xbb,0xee,
|
||||||
|
0xb7,0xb7,0x77,0xdd,0xb7,0xb7,0xbb,0xee,
|
||||||
|
0xb6,0xb6,0x66,0x99,0xb6,0xb6,0xbb,0xee,
|
||||||
|
0xb5,0xb5,0x55,0x55,0xb5,0xb5,0xbb,0xee,
|
||||||
|
0xb4,0xb4,0x44,0x11,0xb4,0xb4,0xbb,0xee,
|
||||||
|
0xb3,0xb3,0x33,0xcc,0xb3,0xb3,0xbb,0xee,
|
||||||
|
0xb2,0xb2,0x22,0x88,0xb2,0xb2,0xbb,0xee,
|
||||||
|
0xb1,0xb1,0x11,0x44,0xb1,0xb1,0xbb,0xee,
|
||||||
|
0xb0,0xb0,0x00,0x00,0xb0,0xb0,0xbb,0xee,
|
||||||
|
0xaf,0xaf,0xff,0xff,0xaf,0xaf,0xaa,0xaa,
|
||||||
|
0xae,0xae,0xee,0xbb,0xae,0xae,0xaa,0xaa,
|
||||||
|
0xad,0xad,0xdd,0x77,0xad,0xad,0xaa,0xaa,
|
||||||
|
0xac,0xac,0xcc,0x33,0xac,0xac,0xaa,0xaa,
|
||||||
|
0xab,0xab,0xbb,0xee,0xab,0xab,0xaa,0xaa,
|
||||||
|
0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
|
||||||
|
0xa9,0xa9,0x99,0x66,0xa9,0xa9,0xaa,0xaa,
|
||||||
|
0xa8,0xa8,0x88,0x22,0xa8,0xa8,0xaa,0xaa,
|
||||||
|
0xa7,0xa7,0x77,0xdd,0xa7,0xa7,0xaa,0xaa,
|
||||||
|
0xa6,0xa6,0x66,0x99,0xa6,0xa6,0xaa,0xaa,
|
||||||
|
0xa5,0xa5,0x55,0x55,0xa5,0xa5,0xaa,0xaa,
|
||||||
|
0xa4,0xa4,0x44,0x11,0xa4,0xa4,0xaa,0xaa,
|
||||||
|
0xa3,0xa3,0x33,0xcc,0xa3,0xa3,0xaa,0xaa,
|
||||||
|
0xa2,0xa2,0x22,0x88,0xa2,0xa2,0xaa,0xaa,
|
||||||
|
0xa1,0xa1,0x11,0x44,0xa1,0xa1,0xaa,0xaa,
|
||||||
|
0xa0,0xa0,0x00,0x00,0xa0,0xa0,0xaa,0xaa,
|
||||||
|
0x9f,0x9f,0xff,0xff,0x9f,0x9f,0x99,0x66,
|
||||||
|
0x9e,0x9e,0xee,0xbb,0x9e,0x9e,0x99,0x66,
|
||||||
|
0x9d,0x9d,0xdd,0x77,0x9d,0x9d,0x99,0x66,
|
||||||
|
0x9c,0x9c,0xcc,0x33,0x9c,0x9c,0x99,0x66,
|
||||||
|
0x9b,0x9b,0xbb,0xee,0x9b,0x9b,0x99,0x66,
|
||||||
|
0x9a,0x9a,0xaa,0xaa,0x9a,0x9a,0x99,0x66,
|
||||||
|
0x99,0x99,0x99,0x66,0x99,0x99,0x99,0x66,
|
||||||
|
0x98,0x98,0x88,0x22,0x98,0x98,0x99,0x66,
|
||||||
|
0x97,0x97,0x77,0xdd,0x97,0x97,0x99,0x66,
|
||||||
|
0x96,0x96,0x66,0x99,0x96,0x96,0x99,0x66,
|
||||||
|
0x95,0x95,0x55,0x55,0x95,0x95,0x99,0x66,
|
||||||
|
0x94,0x94,0x44,0x11,0x94,0x94,0x99,0x66,
|
||||||
|
0x93,0x93,0x33,0xcc,0x93,0x93,0x99,0x66,
|
||||||
|
0x92,0x92,0x22,0x88,0x92,0x92,0x99,0x66,
|
||||||
|
0x91,0x91,0x11,0x44,0x91,0x91,0x99,0x66,
|
||||||
|
0x90,0x90,0x00,0x00,0x90,0x90,0x99,0x66,
|
||||||
|
0x8f,0x8f,0xff,0xff,0x8f,0x8f,0x88,0x22,
|
||||||
|
0x8e,0x8e,0xee,0xbb,0x8e,0x8e,0x88,0x22,
|
||||||
|
0x8d,0x8d,0xdd,0x77,0x8d,0x8d,0x88,0x22,
|
||||||
|
0x8c,0x8c,0xcc,0x33,0x8c,0x8c,0x88,0x22,
|
||||||
|
0x8b,0x8b,0xbb,0xee,0x8b,0x8b,0x88,0x22,
|
||||||
|
0x8a,0x8a,0xaa,0xaa,0x8a,0x8a,0x88,0x22,
|
||||||
|
0x89,0x89,0x99,0x66,0x89,0x89,0x88,0x22,
|
||||||
|
0x88,0x88,0x88,0x22,0x88,0x88,0x88,0x22,
|
||||||
|
0x87,0x87,0x77,0xdd,0x87,0x87,0x88,0x22,
|
||||||
|
0x86,0x86,0x66,0x99,0x86,0x86,0x88,0x22,
|
||||||
|
0x85,0x85,0x55,0x55,0x85,0x85,0x88,0x22,
|
||||||
|
0x84,0x84,0x44,0x11,0x84,0x84,0x88,0x22,
|
||||||
|
0x83,0x83,0x33,0xcc,0x83,0x83,0x88,0x22,
|
||||||
|
0x82,0x82,0x22,0x88,0x82,0x82,0x88,0x22,
|
||||||
|
0x81,0x81,0x11,0x44,0x81,0x81,0x88,0x22,
|
||||||
|
0x80,0x80,0x00,0x00,0x80,0x80,0x88,0x22,
|
||||||
|
0xff,0xff,0xff,0xff,0xff,0xff,0x77,0xdd,
|
||||||
|
0xfe,0xfe,0xee,0xbb,0xfe,0xfe,0x77,0xdd,
|
||||||
|
0xfd,0xfd,0xdd,0x77,0xfd,0xfd,0x77,0xdd,
|
||||||
|
0xfc,0xfc,0xcc,0x33,0xfc,0xfc,0x77,0xdd,
|
||||||
|
0xfb,0xfb,0xbb,0xee,0xfb,0xfb,0x77,0xdd,
|
||||||
|
0xfa,0xfa,0xaa,0xaa,0xfa,0xfa,0x77,0xdd,
|
||||||
|
0xf9,0xf9,0x99,0x66,0xf9,0xf9,0x77,0xdd,
|
||||||
|
0xf8,0xf8,0x88,0x22,0xf8,0xf8,0x77,0xdd,
|
||||||
|
0xf7,0xf7,0x77,0xdd,0xf7,0xf7,0x77,0xdd,
|
||||||
|
0xf6,0xf6,0x66,0x99,0xf6,0xf6,0x77,0xdd,
|
||||||
|
0xf5,0xf5,0x55,0x55,0xf5,0xf5,0x77,0xdd,
|
||||||
|
0xf4,0xf4,0x44,0x11,0xf4,0xf4,0x77,0xdd,
|
||||||
|
0xf3,0xf3,0x33,0xcc,0xf3,0xf3,0x77,0xdd,
|
||||||
|
0xf2,0xf2,0x22,0x88,0xf2,0xf2,0x77,0xdd,
|
||||||
|
0xf1,0xf1,0x11,0x44,0xf1,0xf1,0x77,0xdd,
|
||||||
|
0xf0,0xf0,0x00,0x00,0xf0,0xf0,0x77,0xdd,
|
||||||
|
0xef,0xef,0xff,0xff,0xef,0xef,0x66,0x99,
|
||||||
|
0xee,0xee,0xee,0xbb,0xee,0xee,0x66,0x99,
|
||||||
|
0xed,0xed,0xdd,0x77,0xed,0xed,0x66,0x99,
|
||||||
|
0xec,0xec,0xcc,0x33,0xec,0xec,0x66,0x99,
|
||||||
|
0xeb,0xeb,0xbb,0xee,0xeb,0xeb,0x66,0x99,
|
||||||
|
0xea,0xea,0xaa,0xaa,0xea,0xea,0x66,0x99,
|
||||||
|
0xe9,0xe9,0x99,0x66,0xe9,0xe9,0x66,0x99,
|
||||||
|
0xe8,0xe8,0x88,0x22,0xe8,0xe8,0x66,0x99,
|
||||||
|
0xe7,0xe7,0x77,0xdd,0xe7,0xe7,0x66,0x99,
|
||||||
|
0xe6,0xe6,0x66,0x99,0xe6,0xe6,0x66,0x99,
|
||||||
|
0xe5,0xe5,0x55,0x55,0xe5,0xe5,0x66,0x99,
|
||||||
|
0xe4,0xe4,0x44,0x11,0xe4,0xe4,0x66,0x99,
|
||||||
|
0xe3,0xe3,0x33,0xcc,0xe3,0xe3,0x66,0x99,
|
||||||
|
0xe2,0xe2,0x22,0x88,0xe2,0xe2,0x66,0x99,
|
||||||
|
0xe1,0xe1,0x11,0x44,0xe1,0xe1,0x66,0x99,
|
||||||
|
0xe0,0xe0,0x00,0x00,0xe0,0xe0,0x66,0x99,
|
||||||
|
0xdf,0xdf,0xff,0xff,0xdf,0xdf,0x55,0x55,
|
||||||
|
0xde,0xde,0xee,0xbb,0xde,0xde,0x55,0x55,
|
||||||
|
0xdd,0xdd,0xdd,0x77,0xdd,0xdd,0x55,0x55,
|
||||||
|
0xdc,0xdc,0xcc,0x33,0xdc,0xdc,0x55,0x55,
|
||||||
|
0xdb,0xdb,0xbb,0xee,0xdb,0xdb,0x55,0x55,
|
||||||
|
0xda,0xda,0xaa,0xaa,0xda,0xda,0x55,0x55,
|
||||||
|
0xd9,0xd9,0x99,0x66,0xd9,0xd9,0x55,0x55,
|
||||||
|
0xd8,0xd8,0x88,0x22,0xd8,0xd8,0x55,0x55,
|
||||||
|
0xd7,0xd7,0x77,0xdd,0xd7,0xd7,0x55,0x55,
|
||||||
|
0xd6,0xd6,0x66,0x99,0xd6,0xd6,0x55,0x55,
|
||||||
|
0xd5,0xd5,0x55,0x55,0xd5,0xd5,0x55,0x55,
|
||||||
|
0xd4,0xd4,0x44,0x11,0xd4,0xd4,0x55,0x55,
|
||||||
|
0xd3,0xd3,0x33,0xcc,0xd3,0xd3,0x55,0x55,
|
||||||
|
0xd2,0xd2,0x22,0x88,0xd2,0xd2,0x55,0x55,
|
||||||
|
0xd1,0xd1,0x11,0x44,0xd1,0xd1,0x55,0x55,
|
||||||
|
0xd0,0xd0,0x00,0x00,0xd0,0xd0,0x55,0x55,
|
||||||
|
0xcf,0xcf,0xff,0xff,0xcf,0xcf,0x44,0x11,
|
||||||
|
0xce,0xce,0xee,0xbb,0xce,0xce,0x44,0x11,
|
||||||
|
0xcd,0xcd,0xdd,0x77,0xcd,0xcd,0x44,0x11,
|
||||||
|
0xcc,0xcc,0xcc,0x33,0xcc,0xcc,0x44,0x11,
|
||||||
|
0xcb,0xcb,0xbb,0xee,0xcb,0xcb,0x44,0x11,
|
||||||
|
0xca,0xca,0xaa,0xaa,0xca,0xca,0x44,0x11,
|
||||||
|
0xc9,0xc9,0x99,0x66,0xc9,0xc9,0x44,0x11,
|
||||||
|
0xc8,0xc8,0x88,0x22,0xc8,0xc8,0x44,0x11,
|
||||||
|
0xc7,0xc7,0x77,0xdd,0xc7,0xc7,0x44,0x11,
|
||||||
|
0xc6,0xc6,0x66,0x99,0xc6,0xc6,0x44,0x11,
|
||||||
|
0xc5,0xc5,0x55,0x55,0xc5,0xc5,0x44,0x11,
|
||||||
|
0xc4,0xc4,0x44,0x11,0xc4,0xc4,0x44,0x11,
|
||||||
|
0xc3,0xc3,0x33,0xcc,0xc3,0xc3,0x44,0x11,
|
||||||
|
0xc2,0xc2,0x22,0x88,0xc2,0xc2,0x44,0x11,
|
||||||
|
0xc1,0xc1,0x11,0x44,0xc1,0xc1,0x44,0x11,
|
||||||
|
0xc0,0xc0,0x00,0x00,0xc0,0xc0,0x44,0x11,
|
||||||
|
0xbf,0xbf,0xff,0xff,0xbf,0xbf,0x33,0xcc,
|
||||||
|
0xbe,0xbe,0xee,0xbb,0xbe,0xbe,0x33,0xcc,
|
||||||
|
0xbd,0xbd,0xdd,0x77,0xbd,0xbd,0x33,0xcc,
|
||||||
|
0xbc,0xbc,0xcc,0x33,0xbc,0xbc,0x33,0xcc,
|
||||||
|
0xbb,0xbb,0xbb,0xee,0xbb,0xbb,0x33,0xcc,
|
||||||
|
0xba,0xba,0xaa,0xaa,0xba,0xba,0x33,0xcc,
|
||||||
|
0xb9,0xb9,0x99,0x66,0xb9,0xb9,0x33,0xcc,
|
||||||
|
0xb8,0xb8,0x88,0x22,0xb8,0xb8,0x33,0xcc,
|
||||||
|
0xb7,0xb7,0x77,0xdd,0xb7,0xb7,0x33,0xcc,
|
||||||
|
0xb6,0xb6,0x66,0x99,0xb6,0xb6,0x33,0xcc,
|
||||||
|
0xb5,0xb5,0x55,0x55,0xb5,0xb5,0x33,0xcc,
|
||||||
|
0xb4,0xb4,0x44,0x11,0xb4,0xb4,0x33,0xcc,
|
||||||
|
0xb3,0xb3,0x33,0xcc,0xb3,0xb3,0x33,0xcc,
|
||||||
|
0xb2,0xb2,0x22,0x88,0xb2,0xb2,0x33,0xcc,
|
||||||
|
0xb1,0xb1,0x11,0x44,0xb1,0xb1,0x33,0xcc,
|
||||||
|
0xb0,0xb0,0x00,0x00,0xb0,0xb0,0x33,0xcc,
|
||||||
|
0xaf,0xaf,0xff,0xff,0xaf,0xaf,0x22,0x88,
|
||||||
|
0xae,0xae,0xee,0xbb,0xae,0xae,0x22,0x88,
|
||||||
|
0xad,0xad,0xdd,0x77,0xad,0xad,0x22,0x88,
|
||||||
|
0xac,0xac,0xcc,0x33,0xac,0xac,0x22,0x88,
|
||||||
|
0xab,0xab,0xbb,0xee,0xab,0xab,0x22,0x88,
|
||||||
|
0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0x22,0x88,
|
||||||
|
0xa9,0xa9,0x99,0x66,0xa9,0xa9,0x22,0x88,
|
||||||
|
0xa8,0xa8,0x88,0x22,0xa8,0xa8,0x22,0x88,
|
||||||
|
0xa7,0xa7,0x77,0xdd,0xa7,0xa7,0x22,0x88,
|
||||||
|
0xa6,0xa6,0x66,0x99,0xa6,0xa6,0x22,0x88,
|
||||||
|
0xa5,0xa5,0x55,0x55,0xa5,0xa5,0x22,0x88,
|
||||||
|
0xa4,0xa4,0x44,0x11,0xa4,0xa4,0x22,0x88,
|
||||||
|
0xa3,0xa3,0x33,0xcc,0xa3,0xa3,0x22,0x88,
|
||||||
|
0xa2,0xa2,0x22,0x88,0xa2,0xa2,0x22,0x88,
|
||||||
|
0xa1,0xa1,0x11,0x44,0xa1,0xa1,0x22,0x88,
|
||||||
|
0xa0,0xa0,0x00,0x00,0xa0,0xa0,0x22,0x88,
|
||||||
|
0x9f,0x9f,0xff,0xff,0x9f,0x9f,0x11,0x44,
|
||||||
|
0x9e,0x9e,0xee,0xbb,0x9e,0x9e,0x11,0x44,
|
||||||
|
0x9d,0x9d,0xdd,0x77,0x9d,0x9d,0x11,0x44,
|
||||||
|
0x9c,0x9c,0xcc,0x33,0x9c,0x9c,0x11,0x44,
|
||||||
|
0x9b,0x9b,0xbb,0xee,0x9b,0x9b,0x11,0x44,
|
||||||
|
0x9a,0x9a,0xaa,0xaa,0x9a,0x9a,0x11,0x44,
|
||||||
|
0x99,0x99,0x99,0x66,0x99,0x99,0x11,0x44,
|
||||||
|
0x98,0x98,0x88,0x22,0x98,0x98,0x11,0x44,
|
||||||
|
0x97,0x97,0x77,0xdd,0x97,0x97,0x11,0x44,
|
||||||
|
0x96,0x96,0x66,0x99,0x96,0x96,0x11,0x44,
|
||||||
|
0x95,0x95,0x55,0x55,0x95,0x95,0x11,0x44,
|
||||||
|
0x94,0x94,0x44,0x11,0x94,0x94,0x11,0x44,
|
||||||
|
0x93,0x93,0x33,0xcc,0x93,0x93,0x11,0x44,
|
||||||
|
0x92,0x92,0x22,0x88,0x92,0x92,0x11,0x44,
|
||||||
|
0x91,0x91,0x11,0x44,0x91,0x91,0x11,0x44,
|
||||||
|
0x90,0x90,0x00,0x00,0x90,0x90,0x11,0x44,
|
||||||
|
0x8f,0x8f,0xff,0xff,0x8f,0x8f,0x00,0x00,
|
||||||
|
0x8e,0x8e,0xee,0xbb,0x8e,0x8e,0x00,0x00,
|
||||||
|
0x8d,0x8d,0xdd,0x77,0x8d,0x8d,0x00,0x00,
|
||||||
|
0x8c,0x8c,0xcc,0x33,0x8c,0x8c,0x00,0x00,
|
||||||
|
0x8b,0x8b,0xbb,0xee,0x8b,0x8b,0x00,0x00,
|
||||||
|
0x8a,0x8a,0xaa,0xaa,0x8a,0x8a,0x00,0x00,
|
||||||
|
0x89,0x89,0x99,0x66,0x89,0x89,0x00,0x00,
|
||||||
|
0x88,0x88,0x88,0x22,0x88,0x88,0x00,0x00,
|
||||||
|
0x87,0x87,0x77,0xdd,0x87,0x87,0x00,0x00,
|
||||||
|
0x86,0x86,0x66,0x99,0x86,0x86,0x00,0x00,
|
||||||
|
0x85,0x85,0x55,0x55,0x85,0x85,0x00,0x00,
|
||||||
|
0x84,0x84,0x44,0x11,0x84,0x84,0x00,0x00,
|
||||||
|
0x83,0x83,0x33,0xcc,0x83,0x83,0x00,0x00,
|
||||||
|
0x82,0x82,0x22,0x88,0x82,0x82,0x00,0x00,
|
||||||
|
0x81,0x81,0x11,0x44,0x81,0x81,0x00,0x00,
|
||||||
|
0x80,0x80,0x00,0x00,0x80,0x80,0x00,0x00
|
||||||
|
];
|
||||||
|
|
||||||
|
export default rmfont_charset;
|
|
@ -740,3 +740,5 @@ var SYMBOLS = {
|
||||||
0xFEFD: 'MON.READ',
|
0xFEFD: 'MON.READ',
|
||||||
0xFF02: 'MON.READ2'
|
0xFF02: 'MON.READ2'
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export default SYMBOLS;
|
||||||
|
|
51
js/test.js
Normal file
51
js/test.js
Normal file
|
@ -0,0 +1,51 @@
|
||||||
|
import CPU6502 from './cpu6502';
|
||||||
|
import Test6502 from './6502test';
|
||||||
|
import Test65C02 from './65C02test';
|
||||||
|
import { toHex } from './util';
|
||||||
|
|
||||||
|
var SYMBOLS = {};
|
||||||
|
var cpu;
|
||||||
|
var trace = [];
|
||||||
|
var lastPC = 0;
|
||||||
|
var done = false;
|
||||||
|
function traceCB() {
|
||||||
|
var pc = cpu.getPC();
|
||||||
|
done = lastPC == pc;
|
||||||
|
lastPC = pc;
|
||||||
|
var line = cpu.dumpRegisters() + ' ' + cpu.dumpPC(undefined, SYMBOLS);
|
||||||
|
trace.push(line);
|
||||||
|
if (trace.length > 1000) {
|
||||||
|
trace.shift();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
window.test6502 = function test6502() {
|
||||||
|
cpu = new CPU6502();
|
||||||
|
var test = new Test6502();
|
||||||
|
cpu.addPageHandler(test);
|
||||||
|
cpu.setPC(0x400);
|
||||||
|
do {
|
||||||
|
cpu.stepCyclesDebug(1000, traceCB);
|
||||||
|
} while (!done);
|
||||||
|
|
||||||
|
if (lastPC == 0x3469) {
|
||||||
|
window.alert('6502 Success!');
|
||||||
|
} else {
|
||||||
|
window.alert('Failed! ' + toHex(lastPC));
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
window.test65C02 = function test65C02() {
|
||||||
|
cpu = new CPU6502({'65C02': true});
|
||||||
|
var test = new Test65C02();
|
||||||
|
cpu.addPageHandler(test);
|
||||||
|
cpu.setPC(0x400);
|
||||||
|
do {
|
||||||
|
cpu.stepCyclesDebug(1000, traceCB);
|
||||||
|
} while (!done);
|
||||||
|
if (lastPC == 0x24f1) {
|
||||||
|
window.alert('65C02 Success!');
|
||||||
|
} else {
|
||||||
|
window.alert('Failed! ' + toHex(lastPC));
|
||||||
|
}
|
||||||
|
};
|
|
@ -1,4 +1,4 @@
|
||||||
/* Copyright 2010-2017 Will Scullin <scullin@scullinsteel.com>
|
/* Copyright 2010-2019 Will Scullin <scullin@scullinsteel.com>
|
||||||
*
|
*
|
||||||
* Permission to use, copy, modify, distribute, and sell this software and its
|
* Permission to use, copy, modify, distribute, and sell this software and its
|
||||||
* documentation for any purpose is hereby granted without fee, provided that
|
* documentation for any purpose is hereby granted without fee, provided that
|
||||||
|
@ -9,14 +9,13 @@
|
||||||
* implied warranty.
|
* implied warranty.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*globals debug: false */
|
import { debug } from '../util';
|
||||||
/*exported Audio */
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Audio Handling
|
* Audio Handling
|
||||||
*/
|
*/
|
||||||
|
|
||||||
function Audio(io) {
|
export default function Audio(io) {
|
||||||
var sound = true;
|
var sound = true;
|
||||||
var _samples = [];
|
var _samples = [];
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* Copyright 2010-2017 Will Scullin <scullin@scullinsteel.com>
|
/* Copyright 2010-2019 Will Scullin <scullin@scullinsteel.com>
|
||||||
*
|
*
|
||||||
* Permission to use, copy, modify, distribute, and sell this software and its
|
* Permission to use, copy, modify, distribute, and sell this software and its
|
||||||
* documentation for any purpose is hereby granted without fee, provided that
|
* documentation for any purpose is hereby granted without fee, provided that
|
||||||
|
@ -9,14 +9,12 @@
|
||||||
* implied warranty.
|
* implied warranty.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*jshint jquery: true, browser: true */
|
|
||||||
/*globals flipX: false, flipY: false */
|
|
||||||
/*exported processGamepad, initGamepad, gamepad */
|
|
||||||
|
|
||||||
var getGamepads = navigator.getGamepads || navigator.webkitGetGamepads;
|
var getGamepads = navigator.getGamepads || navigator.webkitGetGamepads;
|
||||||
var gamepad;
|
export var gamepad;
|
||||||
var gamepadMap = [];
|
var gamepadMap = [];
|
||||||
var gamepadState = [];
|
var gamepadState = [];
|
||||||
|
var flipX = false;
|
||||||
|
var flipY = false;
|
||||||
|
|
||||||
var BUTTON = {
|
var BUTTON = {
|
||||||
// Buttons
|
// Buttons
|
||||||
|
@ -50,14 +48,14 @@ var DEFAULT_GAMEPAD = {
|
||||||
'B': 1,
|
'B': 1,
|
||||||
'L1': 0,
|
'L1': 0,
|
||||||
'R1': 1,
|
'R1': 1,
|
||||||
'START': '\033'
|
'START': 0x1B
|
||||||
};
|
};
|
||||||
|
|
||||||
window.addEventListener('gamepadconnected', function(e) {
|
window.addEventListener('gamepadconnected', function(e) {
|
||||||
gamepad = e.gamepad;
|
gamepad = e.gamepad;
|
||||||
});
|
});
|
||||||
|
|
||||||
function processGamepad(io) {
|
export function processGamepad(io) {
|
||||||
if (getGamepads) {
|
if (getGamepads) {
|
||||||
gamepad = getGamepads.call(navigator)[0];
|
gamepad = getGamepads.call(navigator)[0];
|
||||||
}
|
}
|
||||||
|
@ -98,7 +96,12 @@ function processGamepad(io) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function initGamepad(data) {
|
export function configGamepad(configFlipX, configFlipY) {
|
||||||
|
flipX = configFlipX;
|
||||||
|
flipY = configFlipY;
|
||||||
|
}
|
||||||
|
|
||||||
|
export function initGamepad(data) {
|
||||||
for (var idx = 0; idx < 16; idx++) {
|
for (var idx = 0; idx < 16; idx++) {
|
||||||
gamepadMap[idx] = undefined;
|
gamepadMap[idx] = undefined;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* Copyright 2010-2017 Will Scullin <scullin@scullinsteel.com>
|
/* Copyright 2010-2019 Will Scullin <scullin@scullinsteel.com>
|
||||||
*
|
*
|
||||||
* Permission to use, copy, modify, distribute, and sell this software and its
|
* Permission to use, copy, modify, distribute, and sell this software and its
|
||||||
* documentation for any purpose is hereby granted without fee, provided that
|
* documentation for any purpose is hereby granted without fee, provided that
|
||||||
|
@ -9,11 +9,9 @@
|
||||||
* implied warranty.
|
* implied warranty.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*jshint jquery: true, browser: true */
|
import { debug, toHex } from '../util';
|
||||||
/*globals debug: false, toHex: false, reset: false */
|
|
||||||
/*exported KeyBoard */
|
|
||||||
|
|
||||||
function KeyBoard(io, e) {
|
export default function KeyBoard(cpu, io, e) {
|
||||||
// keycode: [plain, cntl, shift]
|
// keycode: [plain, cntl, shift]
|
||||||
var keymap = {
|
var keymap = {
|
||||||
// Most of these won't happen
|
// Most of these won't happen
|
||||||
|
@ -219,7 +217,7 @@ function KeyBoard(io, e) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (key == 0x7F && evt.shiftKey && evt.ctrlKey) {
|
if (key == 0x7F && evt.shiftKey && evt.ctrlKey) {
|
||||||
reset();
|
cpu.reset();
|
||||||
key = 0xff;
|
key = 0xff;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -281,7 +279,7 @@ function KeyBoard(io, e) {
|
||||||
reset: function keyboard_reset(event) {
|
reset: function keyboard_reset(event) {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
event.stopPropagation();
|
event.stopPropagation();
|
||||||
reset();
|
cpu.reset();
|
||||||
},
|
},
|
||||||
|
|
||||||
create: function keyboard_create(el) {
|
create: function keyboard_create(el) {
|
||||||
|
@ -316,25 +314,25 @@ function KeyBoard(io, e) {
|
||||||
key = '\t';
|
key = '\t';
|
||||||
break;
|
break;
|
||||||
case 'DELETE':
|
case 'DELETE':
|
||||||
key = '\177';
|
key = 0x7F;
|
||||||
break;
|
break;
|
||||||
case '←':
|
case '←':
|
||||||
key = '\010';
|
key = 0x04;
|
||||||
break;
|
break;
|
||||||
case '→':
|
case '→':
|
||||||
key = '\025';
|
key = 0x15;
|
||||||
break;
|
break;
|
||||||
case '↓':
|
case '↓':
|
||||||
key = '\012';
|
key = 0x0A;
|
||||||
break;
|
break;
|
||||||
case '↑':
|
case '↑':
|
||||||
key = '\013';
|
key = 0x0B;
|
||||||
break;
|
break;
|
||||||
case ' ':
|
case ' ':
|
||||||
key = ' ';
|
key = ' ';
|
||||||
break;
|
break;
|
||||||
case 'ESC':
|
case 'ESC':
|
||||||
key = '\033';
|
key = 0x1B;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
@ -358,7 +356,7 @@ function KeyBoard(io, e) {
|
||||||
window.location.reload();
|
window.location.reload();
|
||||||
break;
|
break;
|
||||||
case 'RESET':
|
case 'RESET':
|
||||||
reset();
|
cpu.reset();
|
||||||
break;
|
break;
|
||||||
case 'OPEN_APPLE':
|
case 'OPEN_APPLE':
|
||||||
self.commandKey(!commanded);
|
self.commandKey(!commanded);
|
||||||
|
|
|
@ -1,6 +1,15 @@
|
||||||
/*exported Printer */
|
/* Copyright 2010-2019 Will Scullin <scullin@scullinsteel.com>
|
||||||
|
*
|
||||||
|
* Permission to use, copy, modify, distribute, and sell this software and its
|
||||||
|
* documentation for any purpose is hereby granted without fee, provided that
|
||||||
|
* the above copyright notice appear in all copies and that both that
|
||||||
|
* copyright notice and this permission notice appear in supporting
|
||||||
|
* documentation. No representations are made about the suitability of this
|
||||||
|
* software for any purpose. It is provided "as is" without express or
|
||||||
|
* implied warranty.
|
||||||
|
*/
|
||||||
|
|
||||||
function Printer(paper) {
|
export default function Printer(paper) {
|
||||||
var _lineBuffer;
|
var _lineBuffer;
|
||||||
var _line;
|
var _line;
|
||||||
|
|
||||||
|
@ -23,7 +32,7 @@ function Printer(paper) {
|
||||||
_lineBuffer = '';
|
_lineBuffer = '';
|
||||||
} else if (c == '\t') {
|
} else if (c == '\t') {
|
||||||
_lineBuffer += ' ';
|
_lineBuffer += ' ';
|
||||||
} else if (c == '\010') {
|
} else if (c == 0x04) {
|
||||||
_lineBuffer = _lineBuffer.slice(0, -1);
|
_lineBuffer = _lineBuffer.slice(0, -1);
|
||||||
} else {
|
} else {
|
||||||
if (visible) {
|
if (visible) {
|
||||||
|
|
|
@ -1,7 +1,18 @@
|
||||||
/*globals debug */
|
|
||||||
/*exported Tape */
|
|
||||||
|
|
||||||
function Tape(io) {
|
/* Copyright 2010-2019 Will Scullin <scullin@scullinsteel.com>
|
||||||
|
*
|
||||||
|
* Permission to use, copy, modify, distribute, and sell this software and its
|
||||||
|
* documentation for any purpose is hereby granted without fee, provided that
|
||||||
|
* the above copyright notice appear in all copies and that both that
|
||||||
|
* copyright notice and this permission notice appear in supporting
|
||||||
|
* documentation. No representations are made about the suitability of this
|
||||||
|
* software for any purpose. It is provided "as is" without express or
|
||||||
|
* implied warranty.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import { debug } from '../util';
|
||||||
|
|
||||||
|
export default function Tape(io) {
|
||||||
var AudioContext = window.AudioContext || window.webkitAudioContext;
|
var AudioContext = window.AudioContext || window.webkitAudioContext;
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
|
31
js/util.js
31
js/util.js
|
@ -1,4 +1,4 @@
|
||||||
/* Copyright 2010-2017 Will Scullin <scullin@scullinsteel.com>
|
/* Copyright 2010-2019 Will Scullin <scullin@scullinsteel.com>
|
||||||
*
|
*
|
||||||
* Permission to use, copy, modify, distribute, and sell this software and its
|
* Permission to use, copy, modify, distribute, and sell this software and its
|
||||||
* documentation for any purpose is hereby granted without fee, provided that
|
* documentation for any purpose is hereby granted without fee, provided that
|
||||||
|
@ -10,20 +10,11 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*eslint no-console: 0*/
|
/*eslint no-console: 0*/
|
||||||
/*exported allocMemPages, bytify, debug, each, gup, hup, toBinary, toHex
|
|
||||||
*/
|
|
||||||
/*global Uint8Array: false */
|
|
||||||
|
|
||||||
if (!Date.now) {
|
|
||||||
Date.now = function now() {
|
|
||||||
return new Date().getTime();
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
var hex_digits = '0123456789ABCDEF';
|
var hex_digits = '0123456789ABCDEF';
|
||||||
var bin_digits = '01';
|
var bin_digits = '01';
|
||||||
|
|
||||||
function allocMem(size) {
|
export function allocMem(size) {
|
||||||
function garbage() {
|
function garbage() {
|
||||||
return (Math.random() * 0x100) & 0xff;
|
return (Math.random() * 0x100) & 0xff;
|
||||||
}
|
}
|
||||||
|
@ -47,11 +38,11 @@ function allocMem(size) {
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
function allocMemPages(pages) {
|
export function allocMemPages(pages) {
|
||||||
return allocMem(pages * 0x100);
|
return allocMem(pages * 0x100);
|
||||||
}
|
}
|
||||||
|
|
||||||
function bytify(ary) {
|
export function bytify(ary) {
|
||||||
var result = ary;
|
var result = ary;
|
||||||
if (window.Uint8Array) {
|
if (window.Uint8Array) {
|
||||||
result = new Uint8Array(ary);
|
result = new Uint8Array(ary);
|
||||||
|
@ -59,13 +50,13 @@ function bytify(ary) {
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
function debug() {
|
export function debug() {
|
||||||
if (typeof console != 'undefined' && 'log' in console) {
|
if (typeof console != 'undefined' && 'log' in console) {
|
||||||
console.log.apply(console, arguments);
|
console.log.apply(console, arguments);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function toHex(v, n) {
|
export function toHex(v, n) {
|
||||||
if (!n) {
|
if (!n) {
|
||||||
n = v < 256 ? 2 : 4;
|
n = v < 256 ? 2 : 4;
|
||||||
}
|
}
|
||||||
|
@ -77,7 +68,7 @@ function toHex(v, n) {
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
function toBinary(v) {
|
export function toBinary(v) {
|
||||||
var result = '';
|
var result = '';
|
||||||
for (var idx = 0; idx < 8; idx++) {
|
for (var idx = 0; idx < 8; idx++) {
|
||||||
result = bin_digits[v & 0x01] + result;
|
result = bin_digits[v & 0x01] + result;
|
||||||
|
@ -87,7 +78,7 @@ function toBinary(v) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// From http://www.netlobo.com/url_query_string_javascript.html
|
// From http://www.netlobo.com/url_query_string_javascript.html
|
||||||
function gup( name )
|
export function gup( name )
|
||||||
{
|
{
|
||||||
name = name.replace(/[[]/,'\\[').replace(/[\]]/,'\\]');
|
name = name.replace(/[[]/,'\\[').replace(/[\]]/,'\\]');
|
||||||
var regexS = '[\\?&]'+name+'=([^&#]*)';
|
var regexS = '[\\?&]'+name+'=([^&#]*)';
|
||||||
|
@ -99,7 +90,7 @@ function gup( name )
|
||||||
return results[1];
|
return results[1];
|
||||||
}
|
}
|
||||||
|
|
||||||
function hup() {
|
export function hup() {
|
||||||
var regex = new RegExp('#(.*)');
|
var regex = new RegExp('#(.*)');
|
||||||
var results = regex.exec(window.location.hash);
|
var results = regex.exec(window.location.hash);
|
||||||
if ( !results )
|
if ( !results )
|
||||||
|
@ -108,7 +99,7 @@ function hup() {
|
||||||
return results[1];
|
return results[1];
|
||||||
}
|
}
|
||||||
|
|
||||||
function keys(obj) {
|
export function keys(obj) {
|
||||||
var result = [];
|
var result = [];
|
||||||
for (var key in obj) {
|
for (var key in obj) {
|
||||||
if (obj.hasOwnProperty(key)) {
|
if (obj.hasOwnProperty(key)) {
|
||||||
|
@ -118,6 +109,6 @@ function keys(obj) {
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
function each(obj, fn) {
|
export function each(obj, fn) {
|
||||||
keys(obj).forEach(fn);
|
keys(obj).forEach(fn);
|
||||||
}
|
}
|
||||||
|
|
5228
package-lock.json
generated
5228
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
13
package.json
13
package.json
|
@ -2,10 +2,11 @@
|
||||||
"name": "apple2js",
|
"name": "apple2js",
|
||||||
"version": "0.0.1",
|
"version": "0.0.1",
|
||||||
"description": "Apple II Emulator in JavaScript",
|
"description": "Apple II Emulator in JavaScript",
|
||||||
"main": "index.js",
|
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
"build": "webpack --mode=production",
|
||||||
"index": "scripts/index.pl > json/disks/index.js",
|
"index": "scripts/index.pl > json/disks/index.js",
|
||||||
"lint": "eslint js"
|
"lint": "eslint js",
|
||||||
|
"start": "webpack-dev-server"
|
||||||
},
|
},
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
|
@ -17,7 +18,11 @@
|
||||||
"url": "https://github.com/whscullin/apple2js/issues"
|
"url": "https://github.com/whscullin/apple2js/issues"
|
||||||
},
|
},
|
||||||
"homepage": "https://github.com/whscullin/apple2js#readme",
|
"homepage": "https://github.com/whscullin/apple2js#readme",
|
||||||
"dependencies": {
|
"devDependencies": {
|
||||||
"eslint": "^5.12.0"
|
"ajv": "^6.9.2",
|
||||||
|
"eslint": "^5.12.0",
|
||||||
|
"webpack": "^4.29.6",
|
||||||
|
"webpack-cli": "^3.2.3",
|
||||||
|
"webpack-dev-server": "^3.2.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
53
test.html
53
test.html
|
@ -4,58 +4,7 @@
|
||||||
<title>Test</title>
|
<title>Test</title>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<script src="js/util.js"></script>
|
<script src="dist/test.js"></script>
|
||||||
<script src="js/cpu6502.js"></script>
|
|
||||||
<script src="js/6502test.js"></script>
|
|
||||||
<script src="js/65C02test.js"></script>
|
|
||||||
<script>
|
|
||||||
var SYMBOLS = {};
|
|
||||||
var cpu;
|
|
||||||
var trace = [];
|
|
||||||
var lastPC = 0;
|
|
||||||
var done = false;
|
|
||||||
function traceCB() {
|
|
||||||
var pc = cpu.getPC()
|
|
||||||
done = lastPC == pc
|
|
||||||
lastPC = pc
|
|
||||||
var line = cpu.dumpRegisters() + ' ' + cpu.dumpPC(undefined, SYMBOLS);
|
|
||||||
trace.push(line);
|
|
||||||
if (trace.length > 1000) {
|
|
||||||
trace.shift();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function test6502() {
|
|
||||||
cpu = new CPU6502();
|
|
||||||
var test = new Test6502();
|
|
||||||
cpu.addPageHandler(test);
|
|
||||||
cpu.setPC(0x400);
|
|
||||||
do {
|
|
||||||
cpu.stepCyclesDebug(1000, traceCB);
|
|
||||||
} while (!done)
|
|
||||||
|
|
||||||
if (lastPC == 0x3469) {
|
|
||||||
window.alert("6502 Success!")
|
|
||||||
} else {
|
|
||||||
window.alert("Failed! " + toHex(lastPC))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function test65C02() {
|
|
||||||
cpu = new CPU6502({'65C02': true});
|
|
||||||
var test = new Test65C02();
|
|
||||||
cpu.addPageHandler(test);
|
|
||||||
cpu.setPC(0x400);
|
|
||||||
do {
|
|
||||||
cpu.stepCyclesDebug(1000, traceCB);
|
|
||||||
} while (!done)
|
|
||||||
if (lastPC == 0x24f1) {
|
|
||||||
window.alert("65C02 Success!")
|
|
||||||
} else {
|
|
||||||
window.alert("Failed! " + toHex(lastPC))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
<button onclick="test6502()">Test 6502</button>
|
<button onclick="test6502()">Test 6502</button>
|
||||||
<button onclick="test65C02()">Test 65C02</button>
|
<button onclick="test65C02()">Test 65C02</button>
|
||||||
</body>
|
</body>
|
||||||
|
|
20
webpack.config.js
Normal file
20
webpack.config.js
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
/*globals require module */
|
||||||
|
const path = require('path');
|
||||||
|
|
||||||
|
module.exports =
|
||||||
|
{
|
||||||
|
devtool: 'source-map',
|
||||||
|
entry: {
|
||||||
|
main2: path.resolve('js/main2.js'),
|
||||||
|
main2e: path.resolve('js/main2e.js'),
|
||||||
|
test: path.resolve('js/test.js')
|
||||||
|
},
|
||||||
|
output: {
|
||||||
|
path: path.resolve('dist/')
|
||||||
|
},
|
||||||
|
devServer: {
|
||||||
|
compress: true,
|
||||||
|
watchContentBase: true,
|
||||||
|
writeToDisk: true
|
||||||
|
}
|
||||||
|
};
|
Loading…
Reference in New Issue
Block a user