1
0
mirror of https://github.com/sehugg/8bitworkshop.git synced 2024-06-13 09:29:35 +00:00
8bitworkshop/gen/vector-JSMPRN7T.js.map

8 lines
32 KiB
Plaintext
Raw Normal View History

{
"version": 3,
"sources": ["../src/platform/vector.ts"],
"sourcesContent": ["\nimport { Platform, BaseZ80Platform, Base6502Platform } from \"../common/baseplatform\";\nimport { PLATFORMS, RAM, newAddressDecoder, padBytes, noise, setKeyboardFromMap, AnimationTimer, VectorVideo, Keys, makeKeycodeMap } from \"../common/emu\";\nimport { hex } from \"../common/util\";\nimport { MasterAudio, POKEYDeviceChannel, newPOKEYAudio } from \"../common/audio\";\n\n// http://www.computerarcheology.com/Arcade/Asteroids/DVG.html\n// http://arcarc.xmission.com/Tech/neilw_xy.txt\n\nvar VECTOR_PRESETS = [\n {id:'font.c', name:'Vector Fonts'},\n {id:'threed.c', name:'3D Transformations'},\n {id:'game.c', name:'Space Game'},\n {id:'music.c', name:'POKEY Music'},\n]\n\nvar ASTEROIDS_KEYCODE_MAP = makeKeycodeMap([\n [Keys.B, 3, 0xff],\n [Keys.A, 4, 0xff],\n [Keys.SELECT, 8, 0xff],\n [Keys.VK_6, 9, 0xff],\n [Keys.VK_7, 10, 0xff],\n [Keys.START, 11, 0xff],\n [Keys.P2_START, 12, 0xff],\n [Keys.UP, 13, 0xff],\n [Keys.RIGHT, 14, 0xff],\n [Keys.LEFT, 15, 0xff],\n]);\n\nvar GRAVITAR_KEYCODE_MAP = makeKeycodeMap([\n [Keys.B, 1, -0x1],\n [Keys.A, 1, -0x2],\n [Keys.VK_5, 0, 0x2],\n [Keys.VK_6, 0, 0x1],\n [Keys.START, 2, 0x20],\n [Keys.P2_START, 2, 0x40],\n [Keys.UP, 1, -0x10],\n [Keys.DOWN, 1, -0x20],\n [Keys.RIGHT, 1, -0x4],\n [Keys.LEFT, 1, -0x8],\n]);\n\nvar AtariVectorPlatform = function(mainElement) {\n var XTAL = 12096000;\n var cpuFrequency = XTAL/8;\n var cpuCyclesPer3khz = Math.round(cpuFrequency/(XTAL/4096)); // ~3 Khz\n var cpuCyclesPerNMI = Math.round(cpuFrequency*12/(XTAL/4096)); // ~250 Hz\n var cpuCyclesPerFrame = Math.round(cpuFrequency/60);\n var cpu, cpuram, dvgram, rom, vecrom, bus, dvg;\n var video, audio, timer;\n var clock;\n var watchdog = 0;\n var switches = new RAM(16).mem;\n var nmicount = cpuCyclesPerNMI;\n\n this.__proto__ = new (Base6502Platform as any)();\n\n this.showHelp = function() {\n return \"https://8bitworkshop.com/docs/platforms/arcade/index.html#vector-games\"\n }\n\n this.getPresets = function() {\n return VECTOR_PRESETS;\n }\n\n this.start = function() {\n cpuram = new RAM(0x400);\n dvgram = new RAM(0x2000);\n //switches[5] = 0xff;\n //switches[7] = 0xff;\n // bus\n bus = {\n\n read: newAddressDecoder([\n [0x0, 0x3ff, 0x3ff, function(a) { return cpuram.mem[a]; }],\n [0x2001, 0x2001, 0, function(a) { return ((clock / cpuCyclesPer3khz) & 1) ? 0xff : 0x00; }],\n [0x2000, 0x2007, 0x7, function(a) { return switches[a]; }],\n [0x2400, 0x2407, 0x7, function(a) { return switches[a+8]; }],\n [0x4000, 0x4fff, 0xfff, function(a) { return dvgram.mem[a]; }],\n [0x5000, 0x5fff, 0xfff, function(a) { return vecrom[a]; }],\n [0x6800, 0x7fff, 0, function(a) { return rom ? rom[a - 0x6800] : 0; }],\n ], {gmask:0x7fff}),\n\n write: newAddressDecoder([\n [0x0, 0x3ff, 0x3ff, function(a,v) { cpuram.mem[a] = v; }],\n [0x3000, 0x3000, 0, function(a,v) { dvg.runUntilHalt(0); }],\n [0x3400, 0x3400, 0, function(a,v) { watchdog = 0; }],\n // TODO: draw asynchronous or allow poll of HALT ($2002)\n [0x4000, 0x5fff, 0x1fff, function(a,v) { dvgram.mem[a] = v; }],\n ], {gmask:0x7fff})\n\n };\n this.readAddress = bus.read;\n cpu = this.newCPU(bus);\n // create video/audio\n video = new VectorVideo(mainElement,1024,1024);\n dvg = new DVGBWStateMachine(bus, video, 0x4000);\n audio = newPOKEYAudio(2);\n video.create();\n timer = new AnimationTimer(60, this.nextFrame.bind(this));\n setKeyboardFromMap(video, switches, ASTEROIDS_KEYCODE_MAP);\n }\n\n this.advance = (novideo) => {\n if (!novideo) video.clear();\n var debugCond = this.getDebugCallback();\n clock = 0;\n for (var i=0; i<cpuCyclesPerFrame; i++) {\n if (debugCond && debugCond()) {\n debugCond = null;\n break;\n }\n clock++;\n if (--nmicount == 0) {\n //console.log(\"NMI\", cpu.saveState());\n
"mappings": "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
"names": []
}