2018-08-16 23:19:20 +00:00
|
|
|
|
2019-08-24 02:32:10 +00:00
|
|
|
import { VicDual } from "../machine/vicdual";
|
2019-10-26 01:55:50 +00:00
|
|
|
import { BaseZ80MachinePlatform } from "../common/baseplatform";
|
|
|
|
import { Platform } from "../common/baseplatform";
|
|
|
|
import { PLATFORMS } from "../common/emu";
|
2018-08-16 23:19:20 +00:00
|
|
|
|
2018-08-23 12:49:14 +00:00
|
|
|
const VICDUAL_PRESETS = [
|
2019-05-22 22:02:00 +00:00
|
|
|
{ id: 'minimal.c', name: 'Minimal Example' },
|
|
|
|
{ id: 'hello.c', name: 'Hello World' },
|
|
|
|
{ id: 'gfxtest.c', name: 'Graphics Test' },
|
|
|
|
{ id: 'soundtest.c', name: 'Sound Test' },
|
|
|
|
{ id: 'snake1.c', name: 'Siege Game (Prototype)' },
|
|
|
|
{ id: 'snake2.c', name: 'Siege Game (Full)' },
|
|
|
|
{ id: 'music.c', name: 'Music Player' },
|
2017-01-18 01:15:46 +00:00
|
|
|
];
|
|
|
|
|
2019-08-24 02:32:10 +00:00
|
|
|
class VicDualPlatform extends BaseZ80MachinePlatform<VicDual> implements Platform {
|
2019-05-22 22:02:00 +00:00
|
|
|
|
2019-08-24 02:32:10 +00:00
|
|
|
newMachine() { return new VicDual(); }
|
|
|
|
getPresets() { return VICDUAL_PRESETS; }
|
|
|
|
getDefaultExtension() { return ".c"; };
|
|
|
|
readAddress(a) { return this.machine.read(a); }
|
2020-01-27 05:59:09 +00:00
|
|
|
// TODO loadBIOS(bios) { this.machine.loadBIOS(a); }
|
2019-08-27 16:12:56 +00:00
|
|
|
getMemoryMap = function() { return { main:[
|
|
|
|
{name:'Cell RAM',start:0xe000,size:32*32,type:'ram'},
|
|
|
|
{name:'Tile RAM',start:0xe800,size:256*8,type:'ram'},
|
|
|
|
] } };
|
2017-01-18 01:15:46 +00:00
|
|
|
}
|
|
|
|
|
2019-05-22 22:02:00 +00:00
|
|
|
PLATFORMS['vicdual'] = VicDualPlatform;
|