From f7b60c26884852681f6f8800dcb7eaa99bb29a53 Mon Sep 17 00:00:00 2001 From: Nilton Constantino Date: Thu, 22 Jan 2026 13:28:39 +0000 Subject: [PATCH] new music on color-square --- .../prometeu-compiler/src/codegen/codegen.rs | 70 +- crates/prometeu-core/src/debugger_protocol.rs | 8 + crates/prometeu-core/src/hardware/asset.rs | 100 ++- crates/prometeu-core/src/hardware/audio.rs | 18 +- crates/prometeu-core/src/model/asset.rs | 3 + .../src/prometeu_os/prometeu_os.rs | 47 +- .../prometeu-core/src/prometeu_os/syscalls.rs | 3 + crates/prometeu-core/src/telemetry.rs | 10 + crates/prometeu-runtime-desktop/src/audio.rs | 5 +- .../prometeu-runtime-desktop/src/debugger.rs | 39 +- crates/prometeu-runtime-desktop/src/runner.rs | 16 +- devtools/debugger-protocol/protocol.json | 6 +- devtools/typescript-sdk/types/index.d.ts | 1 + .../color-square/build/program.disasm.txt | 337 +++---- .../color-square/build/program.pbc | Bin 0 -> 917 bytes .../color-square/build/symbols.json | 842 ++++++++++-------- .../color-square/cartridge/assets.pa | Bin 0 -> 88200 bytes .../color-square/cartridge/manifest.json | 16 +- .../color-square/cartridge/program.pbc | Bin 817 -> 917 bytes test-cartridges/color-square/src/main.ts | 8 + 20 files changed, 978 insertions(+), 551 deletions(-) create mode 100644 test-cartridges/color-square/build/program.pbc create mode 100644 test-cartridges/color-square/cartridge/assets.pa diff --git a/crates/prometeu-compiler/src/codegen/codegen.rs b/crates/prometeu-compiler/src/codegen/codegen.rs index eec132eb..73d80bde 100644 --- a/crates/prometeu-compiler/src/codegen/codegen.rs +++ b/crates/prometeu-compiler/src/codegen/codegen.rs @@ -18,8 +18,10 @@ pub struct Codegen { pub symbols: Vec, instructions: Vec<(Asm, bool)>, // (Asm, has_symbol) locals: HashMap, + globals: HashMap, constant_pool: Vec, next_local: u32, + next_global: u32, label_count: u32, } @@ -31,8 +33,10 @@ impl Codegen { symbols: Vec::new(), instructions: Vec::new(), locals: HashMap::new(), + globals: HashMap::new(), constant_pool: vec![ConstantPoolEntry::Null], // Index 0 is always Null next_local: 0, + next_global: 0, label_count: 0, } } @@ -52,7 +56,7 @@ impl Codegen { } pub fn compile_programs(&mut self, programs: Vec<(String, String, &Program)>) -> Result> { - // First pass: collect all functions and their indices + // First pass: collect all functions and global variables let mut all_functions = Vec::new(); for (file, source, program) in &programs { for item in &program.body { @@ -63,6 +67,29 @@ impl Codegen { Statement::ExportNamedDeclaration(decl) => { if let Some(Declaration::FunctionDeclaration(f)) = &decl.declaration { all_functions.push((file.clone(), source.clone(), f.as_ref())); + } else if let Some(Declaration::VariableDeclaration(var)) = &decl.declaration { + for decl in &var.declarations { + if let BindingPattern::BindingIdentifier(ident) = &decl.id { + let name = ident.name.to_string(); + if !self.globals.contains_key(&name) { + let id = self.next_global; + self.globals.insert(name, id); + self.next_global += 1; + } + } + } + } + } + Statement::VariableDeclaration(var) => { + for decl in &var.declarations { + if let BindingPattern::BindingIdentifier(ident) = &decl.id { + let name = ident.name.to_string(); + if !self.globals.contains_key(&name) { + let id = self.next_global; + self.globals.insert(name, id); + self.next_global += 1; + } + } } } _ => {} @@ -99,6 +126,40 @@ impl Codegen { let frame_fn_name = frame_fn_name.ok_or_else(|| anyhow!("export function frame() not found in entry file"))?; + // Initialize globals + for (file, source, program) in &programs { + self.file_name = file.clone(); + self.source_text = source.clone(); + for item in &program.body { + let var_opt = match item { + Statement::VariableDeclaration(var) => Some(var.as_ref()), + Statement::ExportNamedDeclaration(decl) => { + if let Some(Declaration::VariableDeclaration(var)) = &decl.declaration { + Some(var.as_ref()) + } else { + None + } + } + _ => None, + }; + + if let Some(var) = var_opt { + for decl in &var.declarations { + if let BindingPattern::BindingIdentifier(ident) = &decl.id { + let name = ident.name.to_string(); + let id = *self.globals.get(&name).unwrap(); + if let Some(init) = &decl.init { + self.compile_expr(init)?; + } else { + self.emit_op(OpCode::PushI32, vec![Operand::I32(0)], decl.span); + } + self.emit_op(OpCode::SetGlobal, vec![Operand::U32(id)], decl.span); + } + } + } + } + } + // Entry point: loop calling frame self.emit_label("entry".to_string()); self.emit_op(OpCode::Call, vec![Operand::Label(frame_fn_name), Operand::U32(0)], Span::default()); @@ -221,7 +282,7 @@ impl Codegen { if val.fract() == 0.0 && val >= i32::MIN as f64 && val <= i32::MAX as f64 { self.emit_op(OpCode::PushI32, vec![Operand::I32(val as i32)], n.span); } else { - self.emit_op(OpCode::PushI64, vec![Operand::I64(val as i64)], n.span); + self.emit_op(OpCode::PushF64, vec![Operand::F64(val)], n.span); } } Expression::BooleanLiteral(b) => { @@ -238,6 +299,8 @@ impl Codegen { let name = ident.name.to_string(); if let Some(&id) = self.locals.get(&name) { self.emit_op(OpCode::GetLocal, vec![Operand::U32(id)], ident.span); + } else if let Some(&id) = self.globals.get(&name) { + self.emit_op(OpCode::GetGlobal, vec![Operand::U32(id)], ident.span); } else { return Err(anyhow!("Undefined variable: {} at {:?}", name, ident.span)); } @@ -249,6 +312,9 @@ impl Codegen { if let Some(&id) = self.locals.get(&name) { self.emit_op(OpCode::SetLocal, vec![Operand::U32(id)], assign.span); self.emit_op(OpCode::GetLocal, vec![Operand::U32(id)], assign.span); + } else if let Some(&id) = self.globals.get(&name) { + self.emit_op(OpCode::SetGlobal, vec![Operand::U32(id)], assign.span); + self.emit_op(OpCode::GetGlobal, vec![Operand::U32(id)], assign.span); } else { return Err(anyhow!("Undefined variable: {} at {:?}", name, ident.span)); } diff --git a/crates/prometeu-core/src/debugger_protocol.rs b/crates/prometeu-core/src/debugger_protocol.rs index 0e9b8c89..e154bcbe 100644 --- a/crates/prometeu-core/src/debugger_protocol.rs +++ b/crates/prometeu-core/src/debugger_protocol.rs @@ -80,6 +80,14 @@ pub enum DebugEvent { vm_steps: u32, syscalls: u32, cycles: u64, + host_cpu_time_us: u64, + violations: u32, + gfx_used_bytes: usize, + gfx_inflight_bytes: usize, + gfx_slots_occupied: u32, + audio_used_bytes: usize, + audio_inflight_bytes: usize, + audio_slots_occupied: u32, }, #[serde(rename = "cert")] Cert { diff --git a/crates/prometeu-core/src/hardware/asset.rs b/crates/prometeu-core/src/hardware/asset.rs index 508575d9..2dd51c3c 100644 --- a/crates/prometeu-core/src/hardware/asset.rs +++ b/crates/prometeu-core/src/hardware/asset.rs @@ -151,12 +151,50 @@ impl AssetManager { pub fn initialize_for_cartridge(&self, assets: Vec, assets_data: Vec) { self.shutdown(); - let mut asset_map = self.assets.write().unwrap(); - asset_map.clear(); - for entry in assets { - asset_map.insert(entry.asset_id.clone(), entry); + { + let mut asset_map = self.assets.write().unwrap(); + asset_map.clear(); + for entry in assets.iter() { + asset_map.insert(entry.asset_id.clone(), entry.clone()); + } } *self.assets_data.write().unwrap() = assets_data; + + // Perform Preload for assets marked with preload_slot + for entry in assets { + if let Some(slot_index) = entry.preload_slot { + match entry.bank_type { + BankType::TILES => { + if let Ok(bank) = Self::perform_load_tile_bank(&entry, self.assets_data.clone()) { + let bank_arc = Arc::new(bank); + self.gfx_policy.put_resident(entry.asset_id.clone(), Arc::clone(&bank_arc), entry.decoded_size as usize); + self.gfx_installer.install_tile_bank(slot_index, bank_arc); + let mut slots = self.gfx_slots.write().unwrap(); + if slot_index < slots.len() { + slots[slot_index] = Some(entry.asset_id.clone()); + } + println!("[AssetManager] Preloaded tile asset '{}' into slot {}", entry.asset_id, slot_index); + } else { + eprintln!("[AssetManager] Failed to preload tile asset '{}'", entry.asset_id); + } + } + BankType::SOUNDS => { + if let Ok(bank) = Self::perform_load_sound_bank(&entry, self.assets_data.clone()) { + let bank_arc = Arc::new(bank); + self.sound_policy.put_resident(entry.asset_id.clone(), Arc::clone(&bank_arc), entry.decoded_size as usize); + self.sound_installer.install_sound_bank(slot_index, bank_arc); + let mut slots = self.sound_slots.write().unwrap(); + if slot_index < slots.len() { + slots[slot_index] = Some(entry.asset_id.clone()); + } + println!("[AssetManager] Preloaded sound asset '{}' into slot {}", entry.asset_id, slot_index); + } else { + eprintln!("[AssetManager] Failed to preload sound asset '{}'", entry.asset_id); + } + } + } + } + } } pub fn load(&self, asset_id: &str, slot: SlotRef) -> Result { @@ -460,12 +498,21 @@ impl AssetManager { } } + let mut slots_occupied = 0; + { + let slots = self.gfx_slots.read().unwrap(); + for s in slots.iter() { + if s.is_some() { slots_occupied += 1; } + } + } + BankStats { total_bytes: 16 * 1024 * 1024, used_bytes, free_bytes: (16usize * 1024 * 1024).saturating_sub(used_bytes), inflight_bytes, slot_count: 16, + slots_occupied, } } BankType::SOUNDS => { @@ -492,12 +539,21 @@ impl AssetManager { } } + let mut slots_occupied = 0; + { + let slots = self.sound_slots.read().unwrap(); + for s in slots.iter() { + if s.is_some() { slots_occupied += 1; } + } + } + BankStats { total_bytes: 32 * 1024 * 1024, used_bytes, free_bytes: (32usize * 1024 * 1024).saturating_sub(used_bytes), inflight_bytes, slot_count: 16, + slots_occupied, } } } @@ -582,6 +638,7 @@ mod tests { "width": 16, "height": 16 }), + preload_slot: None, }; let am = AssetManager::new(vec![asset_entry], data, gfx_installer, sound_installer); @@ -631,6 +688,7 @@ mod tests { "width": 16, "height": 16 }), + preload_slot: None, }; let am = AssetManager::new(vec![asset_entry], data, gfx_installer, sound_installer); @@ -669,6 +727,7 @@ mod tests { metadata: serde_json::json!({ "sample_rate": 44100 }), + preload_slot: None, }; let am = AssetManager::new(vec![asset_entry], data, gfx_installer, sound_installer); @@ -689,4 +748,37 @@ mod tests { assert_eq!(am.status(handle), LoadStatus::COMMITTED); assert!(banks.sound_bank_slot(0).is_some()); } + + #[test] + fn test_preload_on_init() { + let banks = Arc::new(MemoryBanks::new()); + let gfx_installer = Arc::clone(&banks) as Arc; + let sound_installer = Arc::clone(&banks) as Arc; + + let data = vec![0u8; 200]; + + let asset_entry = AssetEntry { + asset_id: "preload_sound".to_string(), + bank_type: BankType::SOUNDS, + offset: 0, + size: data.len() as u64, + decoded_size: data.len() as u64, + codec: "RAW".to_string(), + metadata: serde_json::json!({ + "sample_rate": 44100 + }), + preload_slot: Some(5), + }; + + let am = AssetManager::new(vec![], vec![], gfx_installer, sound_installer); + + // Before init, slot 5 is empty + assert!(banks.sound_bank_slot(5).is_none()); + + am.initialize_for_cartridge(vec![asset_entry], data); + + // After init, slot 5 should be occupied because of preload + assert!(banks.sound_bank_slot(5).is_some()); + assert_eq!(am.slot_info(SlotRef::audio(5)).asset_id, Some("preload_sound".to_string())); + } } diff --git a/crates/prometeu-core/src/hardware/audio.rs b/crates/prometeu-core/src/hardware/audio.rs index 9bc32ca6..6dd06645 100644 --- a/crates/prometeu-core/src/hardware/audio.rs +++ b/crates/prometeu-core/src/hardware/audio.rs @@ -126,7 +126,10 @@ impl Audio { if let Some(s) = sample { + println!("[Audio] Resolved sample from bank {} sample {}. Playing on voice {}.", bank_id, sample_id, voice_id); self.play_sample(s, voice_id, volume, pan, pitch, priority, loop_mode); + } else { + eprintln!("[Audio] Failed to resolve sample from bank {} sample {}.", bank_id, sample_id); } } @@ -134,7 +137,20 @@ impl Audio { if voice_id >= MAX_CHANNELS { return; } - // Push command to the host + + // Update local state + self.voices[voice_id] = Channel { + sample: Some(Arc::clone(&sample)), + active: true, + pos: 0.0, + pitch, + volume, + pan, + loop_mode, + priority, + }; + + // Push command to the host self.commands.push(AudioCommand::Play { sample, voice_id, diff --git a/crates/prometeu-core/src/model/asset.rs b/crates/prometeu-core/src/model/asset.rs index 83bd0745..9b2e0727 100644 --- a/crates/prometeu-core/src/model/asset.rs +++ b/crates/prometeu-core/src/model/asset.rs @@ -20,6 +20,8 @@ pub struct AssetEntry { pub decoded_size: u64, pub codec: String, // e.g., "RAW" pub metadata: serde_json::Value, + #[serde(default)] + pub preload_slot: Option, } #[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)] @@ -39,6 +41,7 @@ pub struct BankStats { pub free_bytes: usize, pub inflight_bytes: usize, pub slot_count: usize, + pub slots_occupied: usize, } #[derive(Debug, Clone, Serialize, Deserialize)] diff --git a/crates/prometeu-core/src/prometeu_os/prometeu_os.rs b/crates/prometeu-core/src/prometeu_os/prometeu_os.rs index 924428de..468e406d 100644 --- a/crates/prometeu-core/src/prometeu_os/prometeu_os.rs +++ b/crates/prometeu-core/src/prometeu_os/prometeu_os.rs @@ -1,7 +1,7 @@ use crate::fs::{FsBackend, FsState, VirtualFS}; use crate::hardware::{HardwareBridge, InputSignals}; use crate::log::{LogLevel, LogService, LogSource}; -use crate::model::{Cartridge, Color}; +use crate::model::{BankType, Cartridge, Color}; use crate::prometeu_os::{NativeInterface, Syscall}; use crate::telemetry::{CertificationConfig, Certifier, TelemetryFrame}; use crate::virtual_machine::{Value, VirtualMachine}; @@ -263,9 +263,26 @@ impl PrometeuOS { self.last_frame_cpu_time_us = start.elapsed().as_micros() as u64; + // Update bank telemetry in current frame (snapshot) + let gfx_stats = hw.assets().bank_info(BankType::TILES); + self.telemetry_current.gfx_used_bytes = gfx_stats.used_bytes; + self.telemetry_current.gfx_inflight_bytes = gfx_stats.inflight_bytes; + self.telemetry_current.gfx_slots_occupied = gfx_stats.slots_occupied as u32; + + let audio_stats = hw.assets().bank_info(BankType::SOUNDS); + self.telemetry_current.audio_used_bytes = audio_stats.used_bytes; + self.telemetry_current.audio_inflight_bytes = audio_stats.inflight_bytes; + self.telemetry_current.audio_slots_occupied = audio_stats.slots_occupied as u32; + // If the frame ended exactly in this tick, we update the final real time in the latch. if !self.logical_frame_active && self.telemetry_last.frame_index == self.logical_frame_index.wrapping_sub(1) { self.telemetry_last.host_cpu_time_us = self.last_frame_cpu_time_us; + self.telemetry_last.gfx_used_bytes = self.telemetry_current.gfx_used_bytes; + self.telemetry_last.gfx_inflight_bytes = self.telemetry_current.gfx_inflight_bytes; + self.telemetry_last.gfx_slots_occupied = self.telemetry_current.gfx_slots_occupied; + self.telemetry_last.audio_used_bytes = self.telemetry_current.audio_used_bytes; + self.telemetry_last.audio_inflight_bytes = self.telemetry_current.audio_inflight_bytes; + self.telemetry_last.audio_slots_occupied = self.telemetry_current.audio_slots_occupied; } None @@ -695,21 +712,29 @@ impl NativeInterface for PrometeuOS { let voice_id = vm.pop_integer()? as usize; let sample_id = vm.pop_integer()? as u32; - // let sample = match sample_id { - // 0 => self.sample_square.clone(), - // 1 => self.sample_kick.clone(), - // 2 => self.sample_snare.clone(), - // _ => None, - // }; - - // if let Some(s) = sample { - // hw.audio_mut().play(s, voice_id, volume, pan, pitch, 0, crate::hardware::LoopMode::Off); - // } hw.audio_mut().play(0, sample_id as u16, voice_id, volume, pan, pitch, 0, crate::hardware::LoopMode::Off); vm.push(Value::Null); Ok(300) } + // audio.play(bank_id, sample_id, voice_id, volume, pan, pitch, loop_mode) + Syscall::AudioPlay => { + let loop_mode = match vm.pop_integer()? { + 0 => crate::hardware::LoopMode::Off, + _ => crate::hardware::LoopMode::On, + }; + let pitch = vm.pop_number()?; + let pan = vm.pop_integer()? as u8; + let volume = vm.pop_integer()? as u8; + let voice_id = vm.pop_integer()? as usize; + let sample_id = vm.pop_integer()? as u16; + let bank_id = vm.pop_integer()? as u8; + + hw.audio_mut().play(bank_id, sample_id, voice_id, volume, pan, pitch, 0, loop_mode); + vm.push(Value::Null); + Ok(300) + } + // --- Filesystem Syscalls (0x4000) --- // FS_OPEN(path) -> handle diff --git a/crates/prometeu-core/src/prometeu_os/syscalls.rs b/crates/prometeu-core/src/prometeu_os/syscalls.rs index 67187455..db191d23 100644 --- a/crates/prometeu-core/src/prometeu_os/syscalls.rs +++ b/crates/prometeu-core/src/prometeu_os/syscalls.rs @@ -28,6 +28,7 @@ pub enum Syscall { // Audio AudioPlaySample = 0x3001, + AudioPlay = 0x3002, // FS FsOpen = 0x4001, @@ -75,6 +76,7 @@ impl Syscall { 0x2105 => Some(Self::TouchIsReleased), 0x2106 => Some(Self::TouchGetHold), 0x3001 => Some(Self::AudioPlaySample), + 0x3002 => Some(Self::AudioPlay), 0x4001 => Some(Self::FsOpen), 0x4002 => Some(Self::FsRead), 0x4003 => Some(Self::FsWrite), @@ -147,6 +149,7 @@ impl Syscall { "touch.isReleased" | "touch.is_released" => Some(Self::TouchIsReleased), "touch.getHold" | "touch.get_hold" => Some(Self::TouchGetHold), "audio.playSample" | "audio.play_sample" => Some(Self::AudioPlaySample), + "audio.play" => Some(Self::AudioPlay), "fs.open" => Some(Self::FsOpen), "fs.read" => Some(Self::FsRead), "fs.write" => Some(Self::FsWrite), diff --git a/crates/prometeu-core/src/telemetry.rs b/crates/prometeu-core/src/telemetry.rs index 7c18996b..1ede92e0 100644 --- a/crates/prometeu-core/src/telemetry.rs +++ b/crates/prometeu-core/src/telemetry.rs @@ -8,6 +8,16 @@ pub struct TelemetryFrame { pub syscalls: u32, pub host_cpu_time_us: u64, pub violations: u32, + + // GFX Banks + pub gfx_used_bytes: usize, + pub gfx_inflight_bytes: usize, + pub gfx_slots_occupied: u32, + + // Audio Banks + pub audio_used_bytes: usize, + pub audio_inflight_bytes: usize, + pub audio_slots_occupied: u32, } #[derive(Debug, Clone, Copy, Default)] diff --git a/crates/prometeu-runtime-desktop/src/audio.rs b/crates/prometeu-runtime-desktop/src/audio.rs index 89e3f77a..2df3e80a 100644 --- a/crates/prometeu-runtime-desktop/src/audio.rs +++ b/crates/prometeu-runtime-desktop/src/audio.rs @@ -69,7 +69,9 @@ impl HostAudio { pub fn send_commands(&mut self, commands: &mut Vec) { if let Some(producer) = &mut self.producer { for cmd in commands.drain(..) { - let _ = producer.try_push(cmd); + if let Err(_) = producer.try_push(cmd) { + eprintln!("[HostAudio] Command ringbuffer full, dropping command."); + } } } } @@ -108,6 +110,7 @@ impl AudioMixer { loop_mode, } => { if voice_id < MAX_CHANNELS { + println!("[AudioMixer] Playing voice {}: vol={}, pitch={}, loop={:?}", voice_id, volume, pitch, loop_mode); self.voices[voice_id] = Channel { sample: Some(sample), active: true, diff --git a/crates/prometeu-runtime-desktop/src/debugger.rs b/crates/prometeu-runtime-desktop/src/debugger.rs index 84247690..a4545e51 100644 --- a/crates/prometeu-runtime-desktop/src/debugger.rs +++ b/crates/prometeu-runtime-desktop/src/debugger.rs @@ -230,17 +230,32 @@ impl HostDebugger { // Map Certification tags (0xCA01-0xCA03) to 'Cert' protocol events. if event.tag >= 0xCA01 && event.tag <= 0xCA03 { - let rule = match event.tag { - 0xCA01 => "cycles_budget", - 0xCA02 => "max_syscalls", - 0xCA03 => "max_host_cpu_us", - _ => "unknown" - }.to_string(); + let tel = &firmware.os.telemetry_last; + let cert_config = &firmware.os.certifier.config; + + let (rule, used, limit) = match event.tag { + 0xCA01 => ( + "cycles_budget".to_string(), + tel.cycles_used, + cert_config.cycles_budget_per_frame.unwrap_or(0), + ), + 0xCA02 => ( + "max_syscalls".to_string(), + tel.syscalls as u64, + cert_config.max_syscalls_per_frame.unwrap_or(0) as u64, + ), + 0xCA03 => ( + "max_host_cpu_us".to_string(), + tel.host_cpu_time_us, + cert_config.max_host_cpu_us_per_frame.unwrap_or(0), + ), + _ => ("unknown".to_string(), 0, 0), + }; self.send_event(DebugEvent::Cert { rule, - used: 0, - limit: 0, + used, + limit, frame_index: firmware.os.logical_frame_index, }); } @@ -261,6 +276,14 @@ impl HostDebugger { vm_steps: tel.vm_steps, syscalls: tel.syscalls, cycles: tel.cycles_used, + host_cpu_time_us: tel.host_cpu_time_us, + violations: tel.violations, + gfx_used_bytes: tel.gfx_used_bytes, + gfx_inflight_bytes: tel.gfx_inflight_bytes, + gfx_slots_occupied: tel.gfx_slots_occupied, + audio_used_bytes: tel.audio_used_bytes, + audio_inflight_bytes: tel.audio_inflight_bytes, + audio_slots_occupied: tel.audio_slots_occupied, }); self.last_telemetry_frame = current_frame; } diff --git a/crates/prometeu-runtime-desktop/src/runner.rs b/crates/prometeu-runtime-desktop/src/runner.rs index 0d5ec15a..efdef750 100644 --- a/crates/prometeu-runtime-desktop/src/runner.rs +++ b/crates/prometeu-runtime-desktop/src/runner.rs @@ -124,21 +124,31 @@ impl HostRunner { let color_bg = prometeu_core::model::Color::INDIGO; // Dark blue to stand out let color_warn = prometeu_core::model::Color::RED; - self.hardware.gfx.fill_rect(5, 5, 140, 65, color_bg); + self.hardware.gfx.fill_rect(5, 5, 140, 100, color_bg); self.hardware.gfx.draw_text(10, 10, &format!("FPS: {:.1}", self.stats.current_fps), color_text); self.hardware.gfx.draw_text(10, 18, &format!("HOST: {:.2}MS", tel.host_cpu_time_us as f64 / 1000.0), color_text); self.hardware.gfx.draw_text(10, 26, &format!("STEPS: {}", tel.vm_steps), color_text); self.hardware.gfx.draw_text(10, 34, &format!("SYSC: {}", tel.syscalls), color_text); self.hardware.gfx.draw_text(10, 42, &format!("CYC: {}", tel.cycles_used), color_text); + self.hardware.gfx.draw_text(10, 50, &format!("GFX: {}K/16M ({}S)", tel.gfx_used_bytes / 1024, tel.gfx_slots_occupied), color_text); + if tel.gfx_inflight_bytes > 0 { + self.hardware.gfx.draw_text(10, 58, &format!("LOAD GFX: {}KB", tel.gfx_inflight_bytes / 1024), color_warn); + } + + self.hardware.gfx.draw_text(10, 66, &format!("AUD: {}K/32M ({}S)", tel.audio_used_bytes / 1024, tel.audio_slots_occupied), color_text); + if tel.audio_inflight_bytes > 0 { + self.hardware.gfx.draw_text(10, 74, &format!("LOAD AUD: {}KB", tel.audio_inflight_bytes / 1024), color_warn); + } + let cert_color = if tel.violations > 0 { color_warn } else { color_text }; - self.hardware.gfx.draw_text(10, 50, &format!("CERT LAST: {}", tel.violations), cert_color); + self.hardware.gfx.draw_text(10, 82, &format!("CERT LAST: {}", tel.violations), cert_color); if tel.violations > 0 { if let Some(event) = self.firmware.os.log_service.get_recent(10).into_iter().rev().find(|e| e.tag >= 0xCA01 && e.tag <= 0xCA03) { let mut msg = event.msg.clone(); if msg.len() > 30 { msg.truncate(30); } - self.hardware.gfx.draw_text(10, 58, &msg, color_warn); + self.hardware.gfx.draw_text(10, 90, &msg, color_warn); } } } diff --git a/devtools/debugger-protocol/protocol.json b/devtools/debugger-protocol/protocol.json index f22366c1..af022f0b 100644 --- a/devtools/debugger-protocol/protocol.json +++ b/devtools/debugger-protocol/protocol.json @@ -51,7 +51,11 @@ }, { "event": "telemetry", - "fields": ["frame_index", "vm_steps", "syscalls", "cycles"] + "fields": [ + "frame_index", "vm_steps", "syscalls", "cycles", "host_cpu_time_us", "violations", + "gfx_used_bytes", "gfx_inflight_bytes", "gfx_slots_occupied", + "audio_used_bytes", "audio_inflight_bytes", "audio_slots_occupied" + ] }, { "event": "cert", diff --git a/devtools/typescript-sdk/types/index.d.ts b/devtools/typescript-sdk/types/index.d.ts index 7b1faa46..2b143ba0 100644 --- a/devtools/typescript-sdk/types/index.d.ts +++ b/devtools/typescript-sdk/types/index.d.ts @@ -64,6 +64,7 @@ declare global { interface Audio { playSample(sampleId: number, voiceId: number, volume: number, pan: number, pitch: number): void; + play(bankId: number, sampleId: number, voiceId: number, volume: number, pan: number, pitch: number, loopMode: number): void; } interface Fs { diff --git a/test-cartridges/color-square/build/program.disasm.txt b/test-cartridges/color-square/build/program.disasm.txt index 011999dd..71d5c687 100644 --- a/test-cartridges/color-square/build/program.disasm.txt +++ b/test-cartridges/color-square/build/program.disasm.txt @@ -1,158 +1,179 @@ -00000000 Call U32(20) U32(0) -0000000A Pop -0000000C FrameSync -0000000E Jmp U32(0) -00000014 PushScope ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:5 -00000016 Call U32(236) U32(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:6 -00000020 Pop ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:6 -00000022 Call U32(564) U32(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:7 -0000002C Pop ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:7 -0000002E Call U32(690) U32(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:8 -00000038 Pop ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:8 -0000003A Call U32(92) U32(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:9 -00000044 Pop ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:9 -00000046 Call U32(452) U32(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:10 -00000050 Pop ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:10 -00000052 PopScope -00000054 PushConst U32(0) -0000005A Ret -0000005C PushScope ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts:1 -0000005E PushConst U32(1) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts:2 -00000064 Syscall U32(16385) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts:2 -0000006A GetLocal U32(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts:3 -00000070 PushI32 U32(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts:3 -00000076 Gte ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts:3 -00000078 JmpIfFalse U32(226) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts:3 -0000007E PushScope ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts:3 -00000080 GetLocal U32(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts:4 -00000086 PushConst U32(2) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts:4 -0000008C Syscall U32(16387) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts:4 -00000092 Pop ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts:4 -00000094 GetLocal U32(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts:5 -0000009A Syscall U32(16386) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts:5 -000000A0 GetLocal U32(1) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts:6 -000000A6 JmpIfFalse U32(204) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts:6 -000000AC PushI32 U32(2) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts:6 -000000B2 PushI32 U32(101) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts:6 -000000B8 GetLocal U32(1) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts:6 -000000BE Syscall U32(20482) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts:6 -000000C4 Pop ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts:6 -000000C6 Jmp U32(204) -000000CC GetLocal U32(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts:7 -000000D2 Syscall U32(16388) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts:7 -000000D8 Pop ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts:7 -000000DA PopScope ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts:3 -000000DC Jmp U32(226) -000000E2 PopScope -000000E4 PushConst U32(0) -000000EA Ret -000000EC PushScope ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:1 -000000EE PushI32 U32(18448) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:2 -000000F4 Syscall U32(4097) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:2 -000000FA Pop ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:2 -000000FC PushI32 U32(10) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:3 -00000102 PushI32 U32(10) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:3 -00000108 PushI32 U32(50) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:3 -0000010E PushI32 U32(50) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:3 -00000114 PushI32 U32(63488) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:3 -0000011A Syscall U32(4098) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:3 -00000120 Pop ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:3 -00000122 PushI32 U32(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:4 -00000128 PushI32 U32(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:4 -0000012E PushI32 U32(128) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:4 -00000134 PushI32 U32(128) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:4 -0000013A PushI32 U32(65535) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:4 -00000140 Syscall U32(4099) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:4 -00000146 Pop ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:4 -00000148 PushI32 U32(64) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:5 -0000014E PushI32 U32(64) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:5 -00000154 PushI32 U32(20) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:5 -0000015A PushI32 U32(31) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:5 -00000160 Syscall U32(4100) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:5 -00000166 Pop ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:5 -00000168 PushI32 U32(100) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:6 -0000016E PushI32 U32(100) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:6 -00000174 PushI32 U32(10) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:6 -0000017A PushI32 U32(2016) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:6 -00000180 PushI32 U32(65504) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:6 -00000186 Syscall U32(4101) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:6 -0000018C Pop ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:6 -0000018E PushI32 U32(20) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:7 -00000194 PushI32 U32(100) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:7 -0000019A PushI32 U32(30) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:7 -000001A0 PushI32 U32(30) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:7 -000001A6 PushI32 U32(2047) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:7 -000001AC PushI32 U32(63519) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:7 -000001B2 Syscall U32(4102) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:7 -000001B8 Pop ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:7 -000001BA PopScope -000001BC PushConst U32(0) -000001C2 Ret -000001C4 PushScope ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:10 -000001C6 PushI32 U32(255) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:11 -000001CC PushI32 U32(3) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:11 -000001D2 Shr ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:11 -000001D4 PushI32 U32(11) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:11 -000001DA Shl ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:11 -000001DC PushI32 U32(128) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:11 -000001E2 PushI32 U32(2) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:11 -000001E8 Shr ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:11 -000001EA PushI32 U32(5) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:11 -000001F0 Shl ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:11 -000001F2 BitOr ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:11 -000001F4 PushI32 U32(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:11 -000001FA PushI32 U32(3) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:11 -00000200 Shr ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:11 -00000202 BitOr ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:11 -00000204 PushI32 U32(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:12 -0000020A PushI32 U32(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:12 -00000210 PushI32 U32(5) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:12 -00000216 PushI32 U32(5) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:12 -0000021C GetLocal U32(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:12 -00000222 Syscall U32(4098) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:12 -00000228 Pop ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:12 -0000022A PopScope -0000022C PushConst U32(0) -00000232 Ret -00000234 PushScope ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:1 -00000236 PushI32 U32(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:2 -0000023C Syscall U32(8193) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:2 -00000242 JmpIfFalse U32(614) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:2 -00000248 PushScope ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:2 -0000024A PushI32 U32(2) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:3 -00000250 PushConst U32(3) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:3 -00000256 Syscall U32(20481) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:3 -0000025C Pop ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:3 -0000025E PopScope ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:2 -00000260 Jmp U32(614) -00000266 PushI32 U32(4) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:6 -0000026C Syscall U32(8194) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:6 -00000272 JmpIfFalse U32(680) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:6 -00000278 PushScope ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:6 -0000027A PushI32 U32(1) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:7 -00000280 PushI32 U32(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:7 -00000286 PushI32 U32(255) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:7 -0000028C PushI32 U32(128) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:7 -00000292 PushI32 U32(1) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:7 -00000298 Syscall U32(12289) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:7 -0000029E Pop ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:7 -000002A0 PopScope ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:6 -000002A2 Jmp U32(680) -000002A8 PopScope -000002AA PushConst U32(0) -000002B0 Ret -000002B2 PushScope ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:11 -000002B4 Syscall U32(8451) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:12 -000002BA JmpIfFalse U32(746) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:12 -000002C0 PushScope ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:12 -000002C2 Syscall U32(8449) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:13 -000002C8 Syscall U32(8450) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:13 -000002CE PushI32 U32(5) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:13 -000002D4 PushI32 U32(65535) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:13 -000002DA Syscall U32(4100) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:13 -000002E0 Pop ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:13 -000002E2 PopScope ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:12 -000002E4 Jmp U32(746) -000002EA PopScope -000002EC PushConst U32(0) -000002F2 Ret +00000000 PushBool Bool(false) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:5 +00000003 SetGlobal U32(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:5 +00000009 Call U32(29) U32(0) +00000013 Pop +00000015 FrameSync +00000017 Jmp U32(9) +0000001D PushScope ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:7 +0000001F GetGlobal U32(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:8 +00000025 Not ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:8 +00000027 JmpIfFalse U32(122) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:8 +0000002D PushScope ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:8 +0000002F PushI32 U32(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:10 +00000035 PushI32 U32(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:10 +0000003B PushI32 U32(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:10 +00000041 PushI32 U32(128) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:10 +00000047 PushI32 U32(127) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:10 +0000004D PushI32 U32(1) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:10 +00000053 PushI32 U32(1) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:10 +00000059 Syscall U32(12290) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:10 +0000005F Pop ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:10 +00000061 PushBool Bool(true) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:11 +00000064 SetGlobal U32(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:11 +0000006A GetGlobal U32(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:11 +00000070 Pop ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:11 +00000072 PopScope ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:8 +00000074 Jmp U32(122) +0000007A Call U32(336) U32(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:14 +00000084 Pop ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:14 +00000086 Call U32(664) U32(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:15 +00000090 Pop ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:15 +00000092 Call U32(790) U32(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:16 +0000009C Pop ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:16 +0000009E Call U32(192) U32(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:17 +000000A8 Pop ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:17 +000000AA Call U32(552) U32(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:18 +000000B4 Pop ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:18 +000000B6 PopScope +000000B8 PushConst U32(0) +000000BE Ret +000000C0 PushScope ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts:1 +000000C2 PushConst U32(1) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts:2 +000000C8 Syscall U32(16385) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts:2 +000000CE GetLocal U32(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts:3 +000000D4 PushI32 U32(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts:3 +000000DA Gte ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts:3 +000000DC JmpIfFalse U32(326) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts:3 +000000E2 PushScope ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts:3 +000000E4 GetLocal U32(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts:4 +000000EA PushConst U32(2) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts:4 +000000F0 Syscall U32(16387) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts:4 +000000F6 Pop ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts:4 +000000F8 GetLocal U32(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts:5 +000000FE Syscall U32(16386) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts:5 +00000104 GetLocal U32(1) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts:6 +0000010A JmpIfFalse U32(304) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts:6 +00000110 PushI32 U32(2) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts:6 +00000116 PushI32 U32(101) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts:6 +0000011C GetLocal U32(1) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts:6 +00000122 Syscall U32(20482) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts:6 +00000128 Pop ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts:6 +0000012A Jmp U32(304) +00000130 GetLocal U32(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts:7 +00000136 Syscall U32(16388) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts:7 +0000013C Pop ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts:7 +0000013E PopScope ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts:3 +00000140 Jmp U32(326) +00000146 PopScope +00000148 PushConst U32(0) +0000014E Ret +00000150 PushScope ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:1 +00000152 PushI32 U32(18448) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:2 +00000158 Syscall U32(4097) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:2 +0000015E Pop ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:2 +00000160 PushI32 U32(10) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:3 +00000166 PushI32 U32(10) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:3 +0000016C PushI32 U32(50) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:3 +00000172 PushI32 U32(50) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:3 +00000178 PushI32 U32(63488) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:3 +0000017E Syscall U32(4098) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:3 +00000184 Pop ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:3 +00000186 PushI32 U32(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:4 +0000018C PushI32 U32(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:4 +00000192 PushI32 U32(128) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:4 +00000198 PushI32 U32(128) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:4 +0000019E PushI32 U32(65535) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:4 +000001A4 Syscall U32(4099) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:4 +000001AA Pop ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:4 +000001AC PushI32 U32(64) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:5 +000001B2 PushI32 U32(64) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:5 +000001B8 PushI32 U32(20) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:5 +000001BE PushI32 U32(31) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:5 +000001C4 Syscall U32(4100) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:5 +000001CA Pop ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:5 +000001CC PushI32 U32(100) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:6 +000001D2 PushI32 U32(100) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:6 +000001D8 PushI32 U32(10) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:6 +000001DE PushI32 U32(2016) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:6 +000001E4 PushI32 U32(65504) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:6 +000001EA Syscall U32(4101) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:6 +000001F0 Pop ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:6 +000001F2 PushI32 U32(20) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:7 +000001F8 PushI32 U32(100) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:7 +000001FE PushI32 U32(30) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:7 +00000204 PushI32 U32(30) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:7 +0000020A PushI32 U32(2047) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:7 +00000210 PushI32 U32(63519) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:7 +00000216 Syscall U32(4102) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:7 +0000021C Pop ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:7 +0000021E PopScope +00000220 PushConst U32(0) +00000226 Ret +00000228 PushScope ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:10 +0000022A PushI32 U32(255) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:11 +00000230 PushI32 U32(3) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:11 +00000236 Shr ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:11 +00000238 PushI32 U32(11) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:11 +0000023E Shl ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:11 +00000240 PushI32 U32(128) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:11 +00000246 PushI32 U32(2) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:11 +0000024C Shr ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:11 +0000024E PushI32 U32(5) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:11 +00000254 Shl ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:11 +00000256 BitOr ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:11 +00000258 PushI32 U32(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:11 +0000025E PushI32 U32(3) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:11 +00000264 Shr ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:11 +00000266 BitOr ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:11 +00000268 PushI32 U32(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:12 +0000026E PushI32 U32(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:12 +00000274 PushI32 U32(5) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:12 +0000027A PushI32 U32(5) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:12 +00000280 GetLocal U32(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:12 +00000286 Syscall U32(4098) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:12 +0000028C Pop ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts:12 +0000028E PopScope +00000290 PushConst U32(0) +00000296 Ret +00000298 PushScope ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:1 +0000029A PushI32 U32(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:2 +000002A0 Syscall U32(8193) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:2 +000002A6 JmpIfFalse U32(714) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:2 +000002AC PushScope ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:2 +000002AE PushI32 U32(2) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:3 +000002B4 PushConst U32(3) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:3 +000002BA Syscall U32(20481) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:3 +000002C0 Pop ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:3 +000002C2 PopScope ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:2 +000002C4 Jmp U32(714) +000002CA PushI32 U32(4) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:6 +000002D0 Syscall U32(8194) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:6 +000002D6 JmpIfFalse U32(780) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:6 +000002DC PushScope ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:6 +000002DE PushI32 U32(1) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:7 +000002E4 PushI32 U32(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:7 +000002EA PushI32 U32(255) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:7 +000002F0 PushI32 U32(128) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:7 +000002F6 PushI32 U32(1) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:7 +000002FC Syscall U32(12289) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:7 +00000302 Pop ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:7 +00000304 PopScope ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:6 +00000306 Jmp U32(780) +0000030C PopScope +0000030E PushConst U32(0) +00000314 Ret +00000316 PushScope ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:11 +00000318 Syscall U32(8451) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:12 +0000031E JmpIfFalse U32(846) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:12 +00000324 PushScope ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:12 +00000326 Syscall U32(8449) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:13 +0000032C Syscall U32(8450) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:13 +00000332 PushI32 U32(5) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:13 +00000338 PushI32 U32(65535) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:13 +0000033E Syscall U32(4100) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:13 +00000344 Pop ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:13 +00000346 PopScope ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts:12 +00000348 Jmp U32(846) +0000034E PopScope +00000350 PushConst U32(0) +00000356 Ret diff --git a/test-cartridges/color-square/build/program.pbc b/test-cartridges/color-square/build/program.pbc new file mode 100644 index 0000000000000000000000000000000000000000..2c5b019d2f1e5cb663d945123e0df9f112110529 GIT binary patch literal 917 zcmY*X%Syvg5Is#&-(UjLthDLQl@u2uiV!PES8{C;{D5X5R2ytWabrHi&vETn^fTPm zGc!pacQJS7%(-Vy?u~Q3n*dzF7DJIui<9D`2=-a@v+;P6xYx;ZR%CCTV29X4o;*#H z(d7N*(Fa<21pef#>OJ%@VcVaLc<26YzZ)= zxQID8VRJ>yzrAJNqAyv3|7d3U@q#l%sQ5iCh7g$?jTGo9YWA*Z`j)Lhg@&9fJfFO% z!f29JPZfN0$&Qs3BSVdo=eVdRY;5qvinX&38M%Y(Bv=~uO?!1ntnp?!5u)K=J z23ZzM%`ML7>bYX2+Oc?`d7F`Ls{TkZi#B(*DY`RNX;v&dX{;kXVR5e9w))yo?)rC8 zgj(`Am)v)`UvMuKmAe(RspvT~Sv7lE8!9a0*7s@mus%4BdSJ)Z zZy?oH!uIR HFqaDde^E;y literal 0 HcmV?d00001 diff --git a/test-cartridges/color-square/build/symbols.json b/test-cartridges/color-square/build/symbols.json index 104715b8..8ff6b375 100644 --- a/test-cartridges/color-square/build/symbols.json +++ b/test-cartridges/color-square/build/symbols.json @@ -1,786 +1,906 @@ [ { - "pc": 20, + "pc": 0, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts", "line": 5, + "col": 21 + }, + { + "pc": 3, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts", + "line": 5, + "col": 5 + }, + { + "pc": 29, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts", + "line": 7, "col": 8 }, { - "pc": 22, + "pc": 31, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts", - "line": 6, - "col": 5 + "line": 8, + "col": 10 }, { - "pc": 32, + "pc": 37, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts", - "line": 6, - "col": 5 + "line": 8, + "col": 9 }, { - "pc": 34, - "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts", - "line": 7, - "col": 5 - }, - { - "pc": 44, - "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts", - "line": 7, - "col": 5 - }, - { - "pc": 46, + "pc": 39, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts", "line": 8, "col": 5 }, { - "pc": 56, + "pc": 45, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts", "line": 8, - "col": 5 + "col": 25 }, { - "pc": 58, - "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts", - "line": 9, - "col": 5 - }, - { - "pc": 68, - "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts", - "line": 9, - "col": 5 - }, - { - "pc": 70, + "pc": 47, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts", "line": 10, - "col": 5 + "col": 20 }, { - "pc": 80, + "pc": 53, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts", "line": 10, + "col": 23 + }, + { + "pc": 59, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts", + "line": 10, + "col": 26 + }, + { + "pc": 65, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts", + "line": 10, + "col": 29 + }, + { + "pc": 71, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts", + "line": 10, + "col": 34 + }, + { + "pc": 77, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts", + "line": 10, + "col": 39 + }, + { + "pc": 83, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts", + "line": 10, + "col": 44 + }, + { + "pc": 89, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts", + "line": 10, + "col": 9 + }, + { + "pc": 95, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts", + "line": 10, + "col": 9 + }, + { + "pc": 97, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts", + "line": 11, + "col": 25 + }, + { + "pc": 100, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts", + "line": 11, + "col": 9 + }, + { + "pc": 106, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts", + "line": 11, + "col": 9 + }, + { + "pc": 112, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts", + "line": 11, + "col": 9 + }, + { + "pc": 114, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts", + "line": 8, + "col": 25 + }, + { + "pc": 122, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts", + "line": 14, "col": 5 }, { - "pc": 92, + "pc": 132, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts", + "line": 14, + "col": 5 + }, + { + "pc": 134, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts", + "line": 15, + "col": 5 + }, + { + "pc": 144, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts", + "line": 15, + "col": 5 + }, + { + "pc": 146, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts", + "line": 16, + "col": 5 + }, + { + "pc": 156, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts", + "line": 16, + "col": 5 + }, + { + "pc": 158, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts", + "line": 17, + "col": 5 + }, + { + "pc": 168, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts", + "line": 17, + "col": 5 + }, + { + "pc": 170, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts", + "line": 18, + "col": 5 + }, + { + "pc": 180, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts", + "line": 18, + "col": 5 + }, + { + "pc": 192, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts", "line": 1, "col": 8 }, { - "pc": 94, + "pc": 194, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts", "line": 2, "col": 21 }, { - "pc": 100, + "pc": 200, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts", "line": 2, "col": 13 }, { - "pc": 106, + "pc": 206, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts", "line": 3, "col": 9 }, { - "pc": 112, + "pc": 212, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts", "line": 3, "col": 14 }, { - "pc": 118, + "pc": 218, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts", "line": 3, "col": 9 }, { - "pc": 120, + "pc": 220, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts", "line": 3, "col": 5 }, { - "pc": 126, + "pc": 226, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts", "line": 3, "col": 17 }, { - "pc": 128, + "pc": 228, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts", "line": 4, "col": 18 }, { - "pc": 134, + "pc": 234, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts", "line": 4, "col": 21 }, { - "pc": 140, + "pc": 240, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts", "line": 4, "col": 9 }, { - "pc": 146, + "pc": 246, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts", "line": 4, "col": 9 }, { - "pc": 148, + "pc": 248, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts", "line": 5, "col": 31 }, { - "pc": 154, + "pc": 254, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts", "line": 5, "col": 23 }, { - "pc": 160, + "pc": 260, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts", "line": 6, "col": 13 }, { - "pc": 166, + "pc": 266, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts", "line": 6, "col": 9 }, { - "pc": 172, + "pc": 272, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts", "line": 6, "col": 35 }, { - "pc": 178, + "pc": 278, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts", "line": 6, "col": 38 }, { - "pc": 184, + "pc": 284, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts", "line": 6, "col": 43 }, { - "pc": 190, + "pc": 290, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts", "line": 6, "col": 22 }, { - "pc": 196, + "pc": 296, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts", "line": 6, "col": 22 }, { - "pc": 204, + "pc": 304, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts", "line": 7, "col": 18 }, { - "pc": 210, + "pc": 310, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts", "line": 7, "col": 9 }, { - "pc": 216, + "pc": 316, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts", "line": 7, "col": 9 }, { - "pc": 218, + "pc": 318, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_fs.ts", "line": 3, "col": 17 }, { - "pc": 236, + "pc": 336, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", "line": 1, "col": 8 }, { - "pc": 238, + "pc": 338, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", "line": 2, "col": 15 }, { - "pc": 244, + "pc": 344, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", "line": 2, "col": 5 }, { - "pc": 250, + "pc": 350, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", "line": 2, "col": 5 }, { - "pc": 252, + "pc": 352, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", "line": 3, "col": 18 }, { - "pc": 258, + "pc": 358, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", "line": 3, "col": 22 }, { - "pc": 264, + "pc": 364, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", "line": 3, "col": 26 }, { - "pc": 270, + "pc": 370, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", "line": 3, "col": 30 }, { - "pc": 276, + "pc": 376, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", "line": 3, "col": 34 }, { - "pc": 282, + "pc": 382, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", "line": 3, "col": 5 }, { - "pc": 288, + "pc": 388, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", "line": 3, "col": 5 }, { - "pc": 290, + "pc": 390, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", "line": 4, "col": 18 }, { - "pc": 296, + "pc": 396, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", "line": 4, "col": 21 }, { - "pc": 302, + "pc": 402, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", "line": 4, "col": 24 }, { - "pc": 308, + "pc": 408, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", "line": 4, "col": 29 }, { - "pc": 314, + "pc": 414, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", "line": 4, "col": 34 }, { - "pc": 320, + "pc": 420, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", "line": 4, "col": 5 }, { - "pc": 326, + "pc": 426, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", "line": 4, "col": 5 }, { - "pc": 328, + "pc": 428, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", "line": 5, "col": 20 }, { - "pc": 334, + "pc": 434, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", "line": 5, "col": 24 }, { - "pc": 340, + "pc": 440, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", "line": 5, "col": 28 }, { - "pc": 346, + "pc": 446, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", "line": 5, "col": 32 }, { - "pc": 352, + "pc": 452, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", "line": 5, "col": 5 }, { - "pc": 358, + "pc": 458, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", "line": 5, "col": 5 }, { - "pc": 360, + "pc": 460, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", "line": 6, "col": 18 }, { - "pc": 366, + "pc": 466, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", "line": 6, "col": 23 }, { - "pc": 372, + "pc": 472, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", "line": 6, "col": 28 }, { - "pc": 378, + "pc": 478, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", "line": 6, "col": 32 }, { - "pc": 384, + "pc": 484, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", "line": 6, "col": 45 }, { - "pc": 390, + "pc": 490, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", "line": 6, "col": 5 }, { - "pc": 396, + "pc": 496, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", "line": 6, "col": 5 }, { - "pc": 398, + "pc": 498, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", "line": 7, "col": 20 }, { - "pc": 404, + "pc": 504, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", "line": 7, "col": 24 }, { - "pc": 410, + "pc": 510, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", "line": 7, "col": 29 }, { - "pc": 416, + "pc": 516, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", "line": 7, "col": 33 }, { - "pc": 422, + "pc": 522, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", "line": 7, "col": 37 }, { - "pc": 428, + "pc": 528, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", "line": 7, "col": 49 }, - { - "pc": 434, - "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", - "line": 7, - "col": 5 - }, - { - "pc": 440, - "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", - "line": 7, - "col": 5 - }, - { - "pc": 452, - "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", - "line": 10, - "col": 8 - }, - { - "pc": 454, - "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", - "line": 11, - "col": 23 - }, - { - "pc": 460, - "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", - "line": 11, - "col": 13 - }, - { - "pc": 466, - "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", - "line": 11, - "col": 13 - }, - { - "pc": 468, - "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", - "line": 11, - "col": 13 - }, - { - "pc": 474, - "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", - "line": 11, - "col": 13 - }, - { - "pc": 476, - "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", - "line": 11, - "col": 28 - }, - { - "pc": 482, - "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", - "line": 11, - "col": 13 - }, - { - "pc": 488, - "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", - "line": 11, - "col": 13 - }, - { - "pc": 490, - "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", - "line": 11, - "col": 13 - }, - { - "pc": 496, - "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", - "line": 11, - "col": 13 - }, - { - "pc": 498, - "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", - "line": 11, - "col": 13 - }, - { - "pc": 500, - "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", - "line": 11, - "col": 33 - }, - { - "pc": 506, - "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", - "line": 11, - "col": 13 - }, - { - "pc": 512, - "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", - "line": 11, - "col": 13 - }, - { - "pc": 514, - "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", - "line": 11, - "col": 13 - }, - { - "pc": 516, - "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", - "line": 12, - "col": 18 - }, - { - "pc": 522, - "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", - "line": 12, - "col": 21 - }, - { - "pc": 528, - "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", - "line": 12, - "col": 24 - }, { "pc": 534, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", - "line": 12, - "col": 27 + "line": 7, + "col": 5 }, { "pc": 540, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", - "line": 12, - "col": 30 - }, - { - "pc": 546, - "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", - "line": 12, + "line": 7, "col": 5 }, { "pc": 552, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 10, + "col": 8 + }, + { + "pc": 554, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 11, + "col": 23 + }, + { + "pc": 560, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 11, + "col": 13 + }, + { + "pc": 566, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 11, + "col": 13 + }, + { + "pc": 568, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 11, + "col": 13 + }, + { + "pc": 574, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 11, + "col": 13 + }, + { + "pc": 576, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 11, + "col": 28 + }, + { + "pc": 582, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 11, + "col": 13 + }, + { + "pc": 588, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 11, + "col": 13 + }, + { + "pc": 590, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 11, + "col": 13 + }, + { + "pc": 596, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 11, + "col": 13 + }, + { + "pc": 598, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 11, + "col": 13 + }, + { + "pc": 600, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 11, + "col": 33 + }, + { + "pc": 606, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 11, + "col": 13 + }, + { + "pc": 612, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 11, + "col": 13 + }, + { + "pc": 614, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 11, + "col": 13 + }, + { + "pc": 616, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 12, + "col": 18 + }, + { + "pc": 622, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 12, + "col": 21 + }, + { + "pc": 628, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 12, + "col": 24 + }, + { + "pc": 634, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 12, + "col": 27 + }, + { + "pc": 640, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 12, + "col": 30 + }, + { + "pc": 646, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", "line": 12, "col": 5 }, { - "pc": 564, + "pc": 652, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_gfx.ts", + "line": 12, + "col": 5 + }, + { + "pc": 664, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", "line": 1, "col": 8 }, { - "pc": 566, + "pc": 666, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", "line": 2, "col": 9 }, - { - "pc": 572, - "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", - "line": 2, - "col": 9 - }, - { - "pc": 578, - "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", - "line": 2, - "col": 5 - }, - { - "pc": 584, - "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", - "line": 2, - "col": 22 - }, - { - "pc": 586, - "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", - "line": 3, - "col": 19 - }, - { - "pc": 592, - "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", - "line": 3, - "col": 22 - }, - { - "pc": 598, - "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", - "line": 3, - "col": 9 - }, - { - "pc": 604, - "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", - "line": 3, - "col": 9 - }, - { - "pc": 606, - "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", - "line": 2, - "col": 22 - }, - { - "pc": 614, - "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", - "line": 6, - "col": 9 - }, - { - "pc": 620, - "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", - "line": 6, - "col": 9 - }, - { - "pc": 626, - "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", - "line": 6, - "col": 5 - }, - { - "pc": 632, - "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", - "line": 6, - "col": 24 - }, - { - "pc": 634, - "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", - "line": 7, - "col": 26 - }, - { - "pc": 640, - "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", - "line": 7, - "col": 29 - }, - { - "pc": 646, - "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", - "line": 7, - "col": 32 - }, - { - "pc": 652, - "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", - "line": 7, - "col": 37 - }, - { - "pc": 658, - "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", - "line": 7, - "col": 42 - }, - { - "pc": 664, - "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", - "line": 7, - "col": 9 - }, - { - "pc": 670, - "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", - "line": 7, - "col": 9 - }, { "pc": 672, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", + "line": 2, + "col": 9 + }, + { + "pc": 678, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", + "line": 2, + "col": 5 + }, + { + "pc": 684, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", + "line": 2, + "col": 22 + }, + { + "pc": 686, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", + "line": 3, + "col": 19 + }, + { + "pc": 692, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", + "line": 3, + "col": 22 + }, + { + "pc": 698, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", + "line": 3, + "col": 9 + }, + { + "pc": 704, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", + "line": 3, + "col": 9 + }, + { + "pc": 706, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", + "line": 2, + "col": 22 + }, + { + "pc": 714, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", + "line": 6, + "col": 9 + }, + { + "pc": 720, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", + "line": 6, + "col": 9 + }, + { + "pc": 726, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", + "line": 6, + "col": 5 + }, + { + "pc": 732, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", "line": 6, "col": 24 }, { - "pc": 690, + "pc": 734, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", + "line": 7, + "col": 26 + }, + { + "pc": 740, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", + "line": 7, + "col": 29 + }, + { + "pc": 746, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", + "line": 7, + "col": 32 + }, + { + "pc": 752, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", + "line": 7, + "col": 37 + }, + { + "pc": 758, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", + "line": 7, + "col": 42 + }, + { + "pc": 764, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", + "line": 7, + "col": 9 + }, + { + "pc": 770, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", + "line": 7, + "col": 9 + }, + { + "pc": 772, + "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", + "line": 6, + "col": 24 + }, + { + "pc": 790, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", "line": 11, "col": 8 }, { - "pc": 692, + "pc": 792, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", "line": 12, "col": 9 }, { - "pc": 698, + "pc": 798, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", "line": 12, "col": 5 }, { - "pc": 704, + "pc": 804, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", "line": 12, "col": 28 }, { - "pc": 706, + "pc": 806, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", "line": 13, "col": 24 }, { - "pc": 712, + "pc": 812, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", "line": 13, "col": 33 }, { - "pc": 718, + "pc": 818, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", "line": 13, "col": 42 }, { - "pc": 724, + "pc": 824, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", "line": 13, "col": 45 }, { - "pc": 730, + "pc": 830, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", "line": 13, "col": 9 }, { - "pc": 736, + "pc": 836, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", "line": 13, "col": 9 }, { - "pc": 738, + "pc": 838, "file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/my_input.ts", "line": 12, "col": 28 diff --git a/test-cartridges/color-square/cartridge/assets.pa b/test-cartridges/color-square/cartridge/assets.pa new file mode 100644 index 0000000000000000000000000000000000000000..200e0d36210a3c8d1bdedb3a75f15e358ce23ff3 GIT binary patch literal 88200 zcmeI*hg(x;`v-6cd+)tB1VTtcc5)7NfUC6Hx>2leaaDcYt##BoTL=20uZzA`5J%N& zwJuzJPId?(Kp^Zr!rog5zx*4&>$?AhbDi@%*SS8|eSg0uCM0tc>v6j#r+040y=Z=t zKyK){h}Y5YVzc7;wC9XbCW)it?&fO*gTgZGd%PB(#ar;xcqit74GXgQ);u1E!5U+n zqBX}m$GOCGMr4PQgKqlud6C_hId8S!XMMnYpUK|oeG`XAE)Bfs>F(gR2?P{E9xu@UUE$j~;_8#~6Da!zd9eO+&Fabp<=>P(&;+Yh1&iR{r=s2bfS?uk0ZTcn|KPi2zowwh5qTH01VTbWdQuOY6bsQp}5 zT3^x-ZHzJ%Z%7~|SjO7=InKDKJn)`vr7VH=9 z!o&^-{4&QAa+QI3*&aYmfAVRPt~caP$fmaTRJFyEV@V3qvgl} zSs)>Lg?17dqMKrSX};`t#m52{^$pFJrL6Ll%40Qk^=ZwMZBILo^rj6i9-TKiZzkDv zfyF!;m`re)Jr6^>B)|OR!2Xi=U1AL>=c3 zf8Bqi`<>pk^<<-GU18M&-JjZq;-n(2DqDF|ULu_<85GqLmc+l2xADu0MgK(@5hY3$ zKbI_%#VN3YQ-!9QCnaag{!>9zd)8+*g}0S=-0JypAY&wLV(s)glXUZS*30bq&hGA2 zUZ?y#gU*ENB4(p!V@u-?&^j4WEGoyqz0B_sSYvJ23B1X8LhA4z@k(q=s1qFIH*y^~ zrYyu*M9YmYj8#V8idYg_6`1UI-K*4X!pYIz%i71>%fw^aYa)1rHL$klN=Iw!mrXTw zzf`ZSSW$Mgq^u~d(7V7^ktn+^;fOs%G~zspG(Lwv`X0Fwy@aJWP0}ZQCr8R@)%GIC zk_K&^&b)eQ9nrY7by|$sUAsdjK5HAy@6OR!anImVk4t1he1R=7KWJ*7mCoA`>s@1!TIoep=!m7;Lv4)>o z!u2g(ulllwGRMwNoikh@U9dc3d%$s}YlLT=&!K=%!E3^=MBOJ}q%2G*rN=NAvKicF z-bz8H@E2?@{trHdkK#{pGM<5bBMcJc@H#kSEOp{edL7lDLLs|HX~T8~clxLJob!0= zQsK~U({0gZ+A*V_>=~UN^yypJmD%3gytToyR#Ev^xwzE4c)!|5HKZWPmq<&*S)%_C z8ngu2A}f@PBEZHAmFgNw!_(%}cB?L3@9V+)qdAkg zGkKBr9_fw zyI3bVBwM4{Rq&xusOc{$Dyyn+sM%EC*mSThu5-MnY=9WapU9tnYx3Sa-};IDRp%Y< zRPQRk%|W`*kjRvnIdLx3XSATiRjjp~2;NJ+wJ;DH!!mKb@q|?1J8>D-Aj}u6;J@KE zvNg=}!@n>Rxj$Rfq6LKbS(DyU1gKqzGdT#g5>b=?9**Blwj!TDY`bj;)j!UhE z#`AT8YPSm4GOXlAQAA<8vQ};{J0S5B8;Bs{7z#F?kPvhNg%jqYQ1MZTr>sLhq+}G{ zFG?*5D~qW3qWX57ThravuR6SYhWcxUOU5;yN@ulZrB+J27fu)5R(M(ZWe2*1W<*?$ zz7e}8K7e+WQOoRRi@520LeM5uVY~54<8!p*=kX!T2Qw8u=KJx!l{HNRt$Go3r}aOC4aV~=O&w{5DXW%X0l@`?{-4JGlK zr-k1Zq$+mF)RGJ_SG0tipY`|(u48?%10{qqNl|_YWL`_RMpm| zG-_K8>G|Ex{o_MjWBREMLl>#bvcK*Llw%=^_X~?fRTDh(Kc&S_?P`4F`6qT|l=`-;U zq9X)C^Ni=i7NsIBx=LIZRf(5N9pnZ@r0Rs)y|}DYR9;=_TYIE|)RNbp-j&ejI%GCx zn4Fz4C6O#=Z2BCEU2;6qd<_04g4@F)qcCzDrH6WiUY$r{4|5*zq6Axn+b|0L93R6c z@%MNVeggYN_=TW~7tO`keoP6Sn{bqJm3%xZC0rl8DM0SytJGUmJmnnuNvWyit>`bJ9j!r5#yg9Po}zDw zRid-vNlBjU7e!vdXyK2Vgi^Qi(8|>{FY6i2MQtZLzwD(B28?=6dd_&8`dE0{*fTAQ)A7TFOw0qq|)% zX#KMhs~fCR=`>nH@w%dZ)eGfc@;2$$l39_Sa3uC2U*idhMi&v2@Dt(U90?}#P=pt3 zD{LvsEZJPPqawSyzb>O`s`X*V?w%zB?2-5h%5=O5&75i-VejbN;r6H3TEE`F4WZ8> zYNG36pU1DJsTqzeZ%!BYIKN&nEv&_k;0?wT(ug0!n=lgACOFF<;f8a3Sv8E!G*NtC zY;UwAVqYjJXqTVZ%itE_%(qXrUSOVVGH-hRMC!=D2F~>S)8W*1u*t0cN%c<^2g`1i z3>E!QNGk|dERa2vq=-XAJR%Fl7@xxj?LoFgGch4rEUA&+l|N86slF)cFaD^_*ELj; z>uxkgwU+2FcW>)oHk>j(?^E(@idl*kZWrfd<5uQ*#y2?dX2@`OR5U%-C0?8`mvM=C zk9~?u=3fyY;ZtlqUSxb9z4&jq9nQmIh4uUuye!UD*2css+6L;?xZ5#5MRLN_L38}G zy=&YpU4k7bHZ%*WDP@K-nK+s}xT*I>XG>d3v$B3i4YM+$JgM|ojhXsc!4<_5nVB?8 zoG#i*JV$)vcjbsyp=R`m_**n7J|yMHrjkSch=GjJT)`oweeX{wO&C7Ba76?QGyEntt&YY)APxud(SkEJ)s z)8H}XI~FsP+_%3gzul`PtASG6Q>iU)Ee$KqQZrPxN^g0(v`PHCD4WosrO3|s-}@Q* zfPNtMi2e`aeII4eX z_a%KtOIl-p?Y*j#x^vopio=TDs7@$P%0Ei!k`_@3F@v@u598e%kFwDMf+1QbmPj_q z<|B3wrJkTpl?$ad!H=Nv8QZ>tps?os-~EDx5Qk&wl>|L`wt8BZ|P8;1~y=r~;1a^hs5&w=p5W6gX zHsKIM#4KY!;imGR3#x=7>^r>N_#7ShfAA?R9CH$W;8S^EemXk?sM9-Z`C_ZKF*;)(6-0R5X^&mVB;J6&@+b zP@IxANcM@7MJtHAC=r<S^Vh7Z4V5EIdD|fczI_b3#9T4)Ys!3U`FJ zNsukf!WQ9T{1ZNmKf*)tHQ3ieC&5LYmQ&Aqp173$kvbJ;OYV<+9F`o6{QZ5>JubNX z;qb=hy~R7z{FyhCA4iJ@dwK)9{?#sN{;Z*~=1%2>^4!uk%_{Y5LA9b+#+4G{Q=&73 z94$cB$ObJ!Ds-MWCsK;%N+)FP3VYRN^{D3W(%;KpRu0!JZ>VfO*v{xO>uVb zx0(N?pqbE=$Zav-#?h!68ZU7-Yd43>lkq);WXynF!8?s#mKNWFf55cDhl2V1Jg$=c zin)U^kT54cBX(VMT!b!UeW2Xe!)uA#E~k@r=dCW7ou57X>HPS$;V1pNZr6@Yt-8jH zIIuM;$BT90%g`SZ0o?b4s7edwhnCTz_t!->%g`SZ0o?b4s7edwhrW+K+Xx| zoIuVAp-^-bn8I34s`24w+?jcK(`Kb>p-^- zbn8I34s`24w+?jcK(`Kb>p&|pv=T!rF|-mxD>1YZLn|?~5<@F7v=T!rF|-mxD>1YZ zLn|?~5<@HTR{MR{2h8`G?48~>ad_m?z>A*l4sKg+6UYh33CIb^3CIb^3CIb^3CIb^ z3CIb^3CIb^3CIb^3CIb^i9PxXRioR)JyEB4i!@a3sZ3JcRx^r0PC!mTPC!mTPC!mT zPC!mTPC!mTPC!mTPC!mTPC!mTPC!lqTn62rd9Uj7R@rAL<=vxs>LaPFk z{jPg~oPeBwoPeBwoPeBwoPeBwoPeBwoPeBwoPeBwoPeBwoPeB=%7aS3)94GY6&zOF zkPS#qh?j}diN^@!1mpzd1mpzd1mpzd1mpzd1mpzd1mpzd1mpzd1mpzd1mr|rLuq*0 zoZ4>HrR#k?cz-l!GIu7=^sWWS3CIb^3CIb^3CIb^3CIb^3CIb^3CIb^3CIb^3CIb^ z3CPJyzO^tA8^bbjJwA(9;5%^{)*#FmfSiDwfSiDwfSiDwfSiDwfSiDwfSiDwfSiDw zfSiDwfSiDw-6Oa>-6Oa>-6Oa>-6Oa>-6Oa>-6Oa>-6Oa>-6Ofan(qA=Z>SqO46i;Mk c(kyYhXe;p?@e#-g$O*^^$O*{F{|7nwKSjN~761SM literal 0 HcmV?d00001 diff --git a/test-cartridges/color-square/cartridge/manifest.json b/test-cartridges/color-square/cartridge/manifest.json index cfa28c34..c7a6d739 100644 --- a/test-cartridges/color-square/cartridge/manifest.json +++ b/test-cartridges/color-square/cartridge/manifest.json @@ -5,5 +5,19 @@ "title": "Color Square", "app_version": "0.1.0", "app_mode": "Game", - "entrypoint": "0" + "entrypoint": "0", + "asset_table": [ + { + "asset_id": "bgm_music", + "bank_type": "SOUNDS", + "offset": 0, + "size": 88200, + "decoded_size": 88200, + "codec": "RAW", + "metadata": { + "sample_rate": 44100 + }, + "preload_slot": 0 + } + ] } diff --git a/test-cartridges/color-square/cartridge/program.pbc b/test-cartridges/color-square/cartridge/program.pbc index fd480bd3c2a7d49fd327ec64033da1d6b39dde4a..2c5b019d2f1e5cb663d945123e0df9f112110529 100644 GIT binary patch delta 332 zcmY*UF$%&!5S-f+MG(;@5h0>o3Xz~7*hPz!A;!iB_<+E@IuGfq?8>y-4R}+vY zSr$~az-LK_9fwO;v_K?wMxVD|>EB!YFoEz7(^b7o`N^X|<@YIhDu0az9w%&!BSFLe z#s{i&)IrUkoEh`mB)Z3c01~L^>k`#Q!>}|4>m6N`G#hr|+Q delta 233 zcmbQrzL9N$rQa7O28I9z5e5hlWN2Uj3IIV6Q1lH%kUtS7YsC=tvc0F+>02m~5Xz`(2sl77WBIi6XA I?-hzP07Xb1T>t<8 diff --git a/test-cartridges/color-square/src/main.ts b/test-cartridges/color-square/src/main.ts index f3d62af1..0e6cf16d 100644 --- a/test-cartridges/color-square/src/main.ts +++ b/test-cartridges/color-square/src/main.ts @@ -2,7 +2,15 @@ import {do_init_gfx, print_orange} from "./my_gfx"; import {do_pad, do_touch} from "./my_input"; import {do_fs} from "./my_fs"; +let music_started = false; + export function frame(): void { + if (!music_started) { + // bank_id=0, sample_id=0, voice_id=0, volume=255, pan=127, pitch=1.0, loop_mode=1 + audio.play(0, 0, 0, 128, 127, 1.0, 1); + music_started = true; + } + do_init_gfx(); do_pad(); do_touch();