protected function start(e:MouseEvent):void { CModule.vfs.addDirectory("/local") CModule.vfs.addBackingStore( new LSOBackingStore("samplevfsLSO"), "/local") enableConsole = false; _tf.visible = false; for each (var btn:Sprite in buttons) { removeChild(btn); } buttons.length = 0; inputContainer = new Sprite() addChild(inputContainer) addEventListener(Event.ENTER_FRAME, enterFrame) stage.addEventListener(KeyboardEvent.KEY_DOWN, bufferKeyDown) stage.addEventListener(KeyboardEvent.KEY_UP, bufferKeyUp) stage.addEventListener(MouseEvent.MOUSE_MOVE, unhideToolbar) stage.addEventListener(MouseEvent.CLICK, activate) stage.addEventListener(Event.DEACTIVATE,deactivate); stage.frameRate = 60 stage.color = 0 stage.scaleMode = StageScaleMode.SHOW_ALL graphics.lineStyle(1, 0xe0e0e0) graphics.drawRect(0, 0, 480, 320) //Pix defined on 2280 //bmd = new BitmapData(240,160, false) //bm = new Bitmap(bmd) //bm.scrollRect = new Rectangle(272,224,480,320); //bm.scaleX = bm.scaleY = 2; bmd = new BitmapData(480,320, false) bm = new Bitmap(bmd) //bm.scrollRect = new Rectangle(272,224,480,320); bmr = new Rectangle(0,0,bmd.width, bmd.height) bmd.fillRect(bmd.rect, 0) inputContainer.addChild(bm) addChild(toolbar); //soundSystem.addEventListener(SampleDataEvent.SAMPLE_DATA, soundCallbackFunc); //soundSystem.play(); soundbuff = CModule.getPublicSymbol("____sound_buffer"); soundrefresh = CModule.getPublicSymbol("sound_buffer_refresh"); mySound = new Sound(); function sineWaveGenerator(event:SampleDataEvent):void { var soundbuff:int = CModule.getPublicSymbol("____sound_buffer"); var soundrefresh:int = CModule.getPublicSymbol("sound_buffer_refresh"); //var samplesptr:int = CModule.getPublicSymbol("____samples"); CModule.callI(soundrefresh, new Vector.()) var ram:ByteArray = CModule.ram; ram.position = CModule.read32(soundbuff) //var samples:int = CModule.read32(samplesptr) //if( CModule.read32(soundbuff) == 0 || samples < 1470*2*4 ){ // for ( var c:int=0; c<1470*2; c++ ) { // event.data.writeFloat(0); // event.data.writeFloat(0); /// } //} //else{ var d:Number; for ( var c:int=0; c<1470*2; c++ ) { //if( c < samples ){ d = ram.readShort(); d /= 32768; if( (!muted && !paused) ){ event.data.writeFloat(d); //d = ram.readShort(); //d /= 32768; event.data.writeFloat(d); } else { event.data.writeFloat(0); event.data.writeFloat(0); } //} //else //{ // event.data.writeFloat(0); // event.data.writeFloat(0); // //} //event.data.writeFloat(Math.sin((Number(c+event.position)/Math.PI/2))*0.25); //event.data.writeFloat(Math.sin((Number(c+event.position)/Math.PI/2))*0.25); } /*for ( var c:int=0; c<8192; c++ ) { event.data.writeFloat(Math.sin((Number(c+event.position)/Math.PI/2))*0.25); event.data.writeFloat(Math.sin((Number(c+event.position)/Math.PI/2))*0.25); }*/ // } } mySound.addEventListener(SampleDataEvent.SAMPLE_DATA,sineWaveGenerator); //CModule.vfs.addFile("/"+romFile.name, romFile.data); startEmulation(); vbuffer = CModule.getPublicSymbol("____buffer_obj"); //vbuffer = CModule.getPublicSymbol("__avm2_vgl_argb_buffer"); enginetickptr = CModule.getPublicSymbol("main_loop"); soundbuff = CModule.getPublicSymbol("____sound_buffer"); soundrefresh = CModule.getPublicSymbol("sound_buffer_refresh"); mySound.play(); startTime = getTimer(); buttonToggleFilter(); }