-
Notifications
You must be signed in to change notification settings - Fork 7
Scripting
Nikita Zimin edited this page Apr 9, 2015
·
1 revision
Начиная с UKNCBTL.Qt версии beta-32 в оболочку эмулятора добавлена поддержка скриптинга. Командой File > Run Script выбирается .JS-файл и запускается на выполнение. Язык файла -- ECMAScript, по сути это JavaScript.
Справочник по ECMAScript: http://qt-project.org/doc/qt-4.8/ecmascript.html
В тексте программы может использоваться объект emulator
, методы которого используются для управления эмулятором UKNCBTL.
emulator.reset();
// since beta 32emulator.run(100);
// since beta 32emulator.saveScreenshot("test.png");
// since beta 32emulator.attachCartridge(1, 'romctr_basic.bin');
// since beta 33emulator.detachCartridge(1);
// since beta 33emulator.attachFloppy(0, 'sys1002.dsk');
// since beta 33emulator.detachFloppy(0);
// since beta 33emulator.attachHard(1, 'WDC170inv.img');
// since beta 33emulator.detachHard(1);
// since beta 33emulator.getUptime()
либо свойство emulator.uptime
// since beta 33emulator.keyScan(0153);
// since beta 33emulator.keyScan(0153, 6);
// since beta 33emulator.keyScanShift(0013);
// since beta 33emulator.keyString('1\n');
// since beta 33emulator.getCPU()
либо emulator.cpu
// since beta 33emulator.getPPU()
либо emulator.ppu
// since beta 33emulator.consolePrint('message')
// since beta ??emulator.ppu
, для emulator.cpu
работает точно также.)emulator.ppu.getName()
либо emulator.ppu.name
// since beta 33emulator.ppu.getReg(0)
либо emulator.ppu.r(0)
// since beta 33emulator.ppu.getPC()
либо emulator.ppu.pc
// since beta 33emulator.ppu.getSP()
либо emulator.ppu.sp
// since beta 33emulator.ppu.getPSW()
либо emulator.ppu.psw
// since beta 33emulator.ppu.setReg(0, 0123456)
// since beta ??emulator.ppu.setPC(0123456)
либо emulator.ppu.pc = 0123456
// since beta ??emulator.ppu.setSP(0123456)
либо emulator.ppu.sp = 0123456
// since beta ??emulator.ppu.setPSW(0123456)
либо emulator.ppu.psw = 0123456
// since beta ??emulator.ppu.isHalt()
либо emulator.ppu.halt
// since beta 33emulator.ppu.readWord(0160304)
// since beta 33emulator.ppu.readByte(0160304)
// since beta ??emulator.ppu.disassemble(0160304)
// since beta 33emulator.reset();
for (i = 0; i < 10; i++)
{
emulator.run(10);
emulator.saveScreenshot('test' + i + '.png');
}
Для перевода числа в строку в восьмеричной системе используем toString(8)
.