mirror of
https://github.com/sehugg/8bitworkshop.git
synced 2025-02-16 17:30:27 +00:00
fixed loadBIOS
This commit is contained in:
parent
bafee9d55d
commit
8e19a65968
10
src/audio.ts
10
src/audio.ts
@ -63,6 +63,16 @@ export class SN76489_Audio {
|
|||||||
// https://user.xmission.com/~trevin/atari/pokey_regs.html
|
// https://user.xmission.com/~trevin/atari/pokey_regs.html
|
||||||
// http://krap.pl/mirrorz/atari/homepage.ntlworld.com/kryten_droid/Atari/800XL/atari_hw/pokey.htm
|
// http://krap.pl/mirrorz/atari/homepage.ntlworld.com/kryten_droid/Atari/800XL/atari_hw/pokey.htm
|
||||||
|
|
||||||
|
export function newPOKEYAudio(count:number) {
|
||||||
|
var audio = new MasterAudio();
|
||||||
|
for (var i=1; i<=count; i++) {
|
||||||
|
var pokey = new POKEYDeviceChannel();
|
||||||
|
audio['pokey'+i] = pokey; // TODO: cheezy
|
||||||
|
audio.master.addChannel(pokey);
|
||||||
|
}
|
||||||
|
return audio;
|
||||||
|
}
|
||||||
|
|
||||||
export var POKEYDeviceChannel = function() {
|
export var POKEYDeviceChannel = function() {
|
||||||
|
|
||||||
/* definitions for AUDCx (D201, D203, D205, D207) */
|
/* definitions for AUDCx (D201, D203, D205, D207) */
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
import { Platform, Base6502Platform, BaseMAMEPlatform, getOpcodeMetadata_6502, getToolForFilename_6502 } from "../baseplatform";
|
import { Platform, Base6502Platform, BaseMAMEPlatform, getOpcodeMetadata_6502, getToolForFilename_6502 } from "../baseplatform";
|
||||||
import { PLATFORMS, RAM, newAddressDecoder, padBytes, noise, setKeyboardFromMap, AnimationTimer, RasterVideo, Keys, makeKeycodeMap, dumpRAM, getMousePos } from "../emu";
|
import { PLATFORMS, RAM, newAddressDecoder, padBytes, noise, setKeyboardFromMap, AnimationTimer, RasterVideo, Keys, makeKeycodeMap, dumpRAM, getMousePos } from "../emu";
|
||||||
import { hex, lzgmini, stringToByteArray, lpad, rpad, rgb2bgr } from "../util";
|
import { hex, lzgmini, stringToByteArray, lpad, rpad, rgb2bgr } from "../util";
|
||||||
import { MasterAudio, POKEYDeviceChannel } from "../audio";
|
import { MasterAudio, POKEYDeviceChannel, newPOKEYAudio } from "../audio";
|
||||||
|
|
||||||
declare var jt; // for 6502
|
declare var jt; // for 6502
|
||||||
|
|
||||||
@ -17,14 +17,6 @@ const ATARI8_KEYCODE_MAP = makeKeycodeMap([
|
|||||||
[Keys.VK_ENTER, 0, 0],
|
[Keys.VK_ENTER, 0, 0],
|
||||||
]);
|
]);
|
||||||
|
|
||||||
function newPOKEYAudio() {
|
|
||||||
var pokey1 = new POKEYDeviceChannel();
|
|
||||||
var audio = new MasterAudio();
|
|
||||||
audio['pokey1'] = pokey1; // TODO: cheezy
|
|
||||||
audio.master.addChannel(pokey1);
|
|
||||||
return audio;
|
|
||||||
}
|
|
||||||
|
|
||||||
// ANTIC
|
// ANTIC
|
||||||
|
|
||||||
// https://www.atarimax.com/jindroush.atari.org/atanttim.html
|
// https://www.atarimax.com/jindroush.atari.org/atanttim.html
|
||||||
@ -477,7 +469,7 @@ const _Atari8Platform = function(mainElement) {
|
|||||||
gtia = new GTIA(antic);
|
gtia = new GTIA(antic);
|
||||||
// create video/audio
|
// create video/audio
|
||||||
video = new RasterVideo(mainElement, 352, 192);
|
video = new RasterVideo(mainElement, 352, 192);
|
||||||
audio = newPOKEYAudio();
|
audio = newPOKEYAudio(1);
|
||||||
video.create();
|
video.create();
|
||||||
setKeyboardFromMap(video, inputs, ATARI8_KEYCODE_MAP, (o,key,code,flags) => {
|
setKeyboardFromMap(video, inputs, ATARI8_KEYCODE_MAP, (o,key,code,flags) => {
|
||||||
// TODO
|
// TODO
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
import { Platform, BaseZ80Platform, Base6502Platform } from "../baseplatform";
|
import { Platform, BaseZ80Platform, Base6502Platform } from "../baseplatform";
|
||||||
import { PLATFORMS, RAM, newAddressDecoder, padBytes, noise, setKeyboardFromMap, AnimationTimer, VectorVideo, Keys, makeKeycodeMap } from "../emu";
|
import { PLATFORMS, RAM, newAddressDecoder, padBytes, noise, setKeyboardFromMap, AnimationTimer, VectorVideo, Keys, makeKeycodeMap } from "../emu";
|
||||||
import { hex } from "../util";
|
import { hex } from "../util";
|
||||||
import { MasterAudio, POKEYDeviceChannel } from "../audio";
|
import { MasterAudio, POKEYDeviceChannel, newPOKEYAudio } from "../audio";
|
||||||
|
|
||||||
// http://www.computerarcheology.com/Arcade/Asteroids/DVG.html
|
// http://www.computerarcheology.com/Arcade/Asteroids/DVG.html
|
||||||
// http://arcarc.xmission.com/Tech/neilw_xy.txt
|
// http://arcarc.xmission.com/Tech/neilw_xy.txt
|
||||||
@ -41,17 +41,6 @@ var GRAVITAR_KEYCODE_MAP = makeKeycodeMap([
|
|||||||
[Keys.VK_LEFT, 1, -0x8],
|
[Keys.VK_LEFT, 1, -0x8],
|
||||||
]);
|
]);
|
||||||
|
|
||||||
function newPOKEYAudio() {
|
|
||||||
var pokey1 = new POKEYDeviceChannel();
|
|
||||||
var pokey2 = new POKEYDeviceChannel();
|
|
||||||
var audio = new MasterAudio();
|
|
||||||
audio['pokey1'] = pokey1; // TODO: cheezy
|
|
||||||
audio['pokey2'] = pokey2;
|
|
||||||
audio.master.addChannel(pokey1);
|
|
||||||
audio.master.addChannel(pokey2);
|
|
||||||
return audio;
|
|
||||||
}
|
|
||||||
|
|
||||||
var AtariVectorPlatform = function(mainElement) {
|
var AtariVectorPlatform = function(mainElement) {
|
||||||
var XTAL = 12096000;
|
var XTAL = 12096000;
|
||||||
var cpuFrequency = XTAL/8;
|
var cpuFrequency = XTAL/8;
|
||||||
@ -103,7 +92,7 @@ var AtariVectorPlatform = function(mainElement) {
|
|||||||
// create video/audio
|
// create video/audio
|
||||||
video = new VectorVideo(mainElement,1024,1024);
|
video = new VectorVideo(mainElement,1024,1024);
|
||||||
dvg = new DVGBWStateMachine(bus, video, 0x4000);
|
dvg = new DVGBWStateMachine(bus, video, 0x4000);
|
||||||
audio = newPOKEYAudio();
|
audio = newPOKEYAudio(2);
|
||||||
video.create();
|
video.create();
|
||||||
timer = new AnimationTimer(60, this.nextFrame.bind(this));
|
timer = new AnimationTimer(60, this.nextFrame.bind(this));
|
||||||
setKeyboardFromMap(video, switches, ASTEROIDS_KEYCODE_MAP);
|
setKeyboardFromMap(video, switches, ASTEROIDS_KEYCODE_MAP);
|
||||||
@ -259,7 +248,7 @@ var AtariColorVectorPlatform = function(mainElement) {
|
|||||||
// create video/audio
|
// create video/audio
|
||||||
video = new VectorVideo(mainElement,1024,1024);
|
video = new VectorVideo(mainElement,1024,1024);
|
||||||
dvg = new DVGColorStateMachine(bus, video, 0x2000);
|
dvg = new DVGColorStateMachine(bus, video, 0x2000);
|
||||||
audio = newPOKEYAudio();
|
audio = newPOKEYAudio(2);
|
||||||
video.create();
|
video.create();
|
||||||
timer = new AnimationTimer(60, this.nextFrame.bind(this));
|
timer = new AnimationTimer(60, this.nextFrame.bind(this));
|
||||||
setKeyboardFromMap(video, switches, GRAVITAR_KEYCODE_MAP);
|
setKeyboardFromMap(video, switches, GRAVITAR_KEYCODE_MAP);
|
||||||
@ -404,7 +393,7 @@ var Z80ColorVectorPlatform = function(mainElement, proto) {
|
|||||||
// create video/audio
|
// create video/audio
|
||||||
video = new VectorVideo(mainElement,1024,1024);
|
video = new VectorVideo(mainElement,1024,1024);
|
||||||
dvg = new DVGColorStateMachine(bus, video, 0xa000);
|
dvg = new DVGColorStateMachine(bus, video, 0xa000);
|
||||||
audio = newPOKEYAudio();
|
audio = newPOKEYAudio(2);
|
||||||
video.create();
|
video.create();
|
||||||
timer = new AnimationTimer(60, this.nextFrame.bind(this));
|
timer = new AnimationTimer(60, this.nextFrame.bind(this));
|
||||||
setKeyboardFromMap(video, switches, GRAVITAR_KEYCODE_MAP);
|
setKeyboardFromMap(video, switches, GRAVITAR_KEYCODE_MAP);
|
||||||
|
@ -976,8 +976,10 @@ function loadBIOSFromProject() {
|
|||||||
if (platform.loadBIOS) {
|
if (platform.loadBIOS) {
|
||||||
var biospath = platform_id + '.rom';
|
var biospath = platform_id + '.rom';
|
||||||
store.getItem(biospath).then( (biosdata) => {
|
store.getItem(biospath).then( (biosdata) => {
|
||||||
console.log('loading BIOS')
|
if (biosdata instanceof Uint8Array) {
|
||||||
platform.loadBIOS('BIOS', biosdata);
|
console.log('loading BIOS')
|
||||||
|
platform.loadBIOS('BIOS', biosdata);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user