1
0
mirror of https://github.com/sehugg/8bitworkshop.git synced 2024-05-28 23:41:32 +00:00
8bitworkshop/gen/galaxian-KKUCSTLZ.js.map

8 lines
25 KiB
Plaintext
Raw Normal View History

{
"version": 3,
"sources": ["../src/machine/galaxian.ts", "../src/platform/galaxian.ts"],
"sourcesContent": ["\nimport { Z80, Z80State } from \"../common/cpu/ZilogZ80\";\nimport { BasicScanlineMachine } from \"../common/devices\";\nimport { KeyFlags, newAddressDecoder, padBytes, noise, Keys, makeKeycodeMap, newKeyboardHandler, EmuHalt } from \"../common/emu\";\nimport { TssChannelAdapter, MasterAudio, AY38910_Audio } from \"../common/audio\";\nimport { hex } from \"../common/util\";\n\nconst GALAXIAN_KEYCODE_MAP = makeKeycodeMap([\n [Keys.A, 0, 0x10], // P1\n [Keys.LEFT, 0, 0x4],\n [Keys.RIGHT, 0, 0x8],\n [Keys.P2_A, 1, 0x10], // P2\n [Keys.P2_LEFT, 1, 0x4],\n [Keys.P2_RIGHT, 1, 0x8],\n [Keys.SELECT, 0, 0x1],\n [Keys.START, 1, 0x1],\n [Keys.VK_2, 1, 0x2],\n]);\n\nconst SCRAMBLE_KEYCODE_MAP = makeKeycodeMap([\n [Keys.UP, 0, -0x1], // P1\n [Keys.B, 0, -0x2], // fire\n [Keys.VK_7, 0, -0x4], // credit\n [Keys.A, 0, -0x8], // bomb\n [Keys.RIGHT, 0, -0x10],\n [Keys.LEFT, 0, -0x20],\n [Keys.VK_6, 0, -0x40],\n [Keys.SELECT, 0, -0x80],\n [Keys.START, 1, -0x80],\n [Keys.VK_2, 1, -0x40],\n [Keys.DOWN, 2, -0x40],\n //[Keys.VK_UP, 2, -0x10],\n]);\n\nconst bitcolors = [\n 0x000021, 0x000047, 0x000097, // red\n 0x002100, 0x004700, 0x009700, // green\n 0x510000, 0xae0000 // blue\n];\n\nconst GalaxianVideo = function (rom: Uint8Array, vram: Uint8Array, oram: Uint8Array, palette: Uint32Array, options) {\n\n var gfxBase = options.gfxBase || 0x2800;\n this.missileWidth = options.missileWidth || 4;\n this.missileOffset = options.missileOffset || 0;\n this.showOffscreenObjects = false;\n this.frameCounter = 0;\n this.starsEnabled = 0;\n var stars = [];\n for (var i = 0; i < 256; i++)\n stars[i] = noise();\n\n this.advanceFrame = function () {\n this.frameCounter = (this.frameCounter + 1) & 0xff;\n }\n\n this.drawScanline = function (pixels, sl) {\n var pixofs = sl * 264;\n // hide offscreen on left + right (b/c rotated)\n if (!this.showOffscreenObjects && (sl < 16 || sl >= 240)) {\n for (var i = 0; i < 264; i++)\n pixels[pixofs + i] = 0xff000000;\n return; // offscreen\n }\n // draw tiles\n var outi = pixofs; // starting output pixel in frame buffer\n for (var xx = 0; xx < 32; xx++) {\n var xofs = xx;\n var scroll = oram[xofs * 2]; // even entries control scroll position\n var attrib = oram[xofs * 2 + 1]; // odd entries control the color base\n var sl2 = (sl + scroll) & 0xff;\n var vramofs = (sl2 >> 3) << 5; // offset in VRAM\n var yy = sl2 & 7; // y offset within tile\n var tile = vram[vramofs + xofs]; // TODO: why undefined?\n var color0 = (attrib & 7) << 2;\n var addr = gfxBase + (tile << 3) + yy;\n var data1 = rom[addr];\n var data2 = rom[addr + 0x800];\n for (var i = 0; i < 8; i++) {\n var bm = 128 >> i;\n var color = color0 + ((data1 & bm) ? 1 : 0) + ((data2 & bm) ? 2 : 0);\n pixels[outi] = palette[color];\n outi++;\n }\n }\n // draw sprites\n for (var sprnum = 7; sprnum >= 0; sprnum--) {\n var base = (sprnum << 2) + 0x40;\n var base0 = oram[base];\n var sy = 240 - (base0 - ((sprnum < 3) ? 1 : 0)); // the first three sprites match against y-1\n var yy = (sl - sy);\n if (yy >= 0 && yy < 16) {\n var sx = oram[base + 3] + 1; // +1 pixel offset from tiles\n if (sx == 0 && !this.showOffscreenObjects) {\n continue; // drawn off-buffer\n }\n var code = oram[base + 1];\n var flipx = code & 0x40; // TODO: flipx\n if (code & 0x80) // flipy\n yy = 15 - yy;\n code &= 0x3f;\n var color0 = (oram[base + 2] & 7) << 2;\n var addr = gfxBase + (code << 5) + (yy < 8 ? yy : yy + 8);\n
"mappings": "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
"names": []
}