25 lines
949 B
JavaScript
25 lines
949 B
JavaScript
Module.ccall('NESInitialize', null, ['string'], ['NstDatabase.xml'])
|
|
|
|
var videoCallback = addFunction(function(buffer, size) {
|
|
var typedArray = Module.HEAPU16.subarray(buffer/2, buffer/2 + size/2);
|
|
var string = String.fromCharCode.apply(null, typedArray);
|
|
window.webkit.messageHandlers.NESEmulatorBridge.postMessage({'type': 'video', 'data': string});
|
|
});
|
|
|
|
_NESSetVideoCallback(videoCallback);
|
|
|
|
var audioCallback = addFunction(function(buffer, size) {
|
|
var typedArray = Module.HEAPU8.subarray(buffer, buffer + size);
|
|
var array = Array.from(typedArray);
|
|
window.webkit.messageHandlers.NESEmulatorBridge.postMessage({'type': 'audio', 'data': array});
|
|
});
|
|
|
|
_NESSetAudioCallback(audioCallback);
|
|
|
|
var saveCallback = addFunction(function() {
|
|
window.webkit.messageHandlers.NESEmulatorBridge.postMessage({'type': 'save'});
|
|
});
|
|
|
|
_NESSetSaveCallback(saveCallback);
|
|
|
|
window.webkit.messageHandlers.NESEmulatorBridge.postMessage({'type': 'ready'}); |