1
0
mirror of https://github.com/sehugg/8bitworkshop.git synced 2026-04-20 15:16:38 +00:00
Files
8bitworkshop/gen/chunk-236FAHT6.js
T

31 lines
122 KiB
JavaScript

import{D as gt,O as pt,Q as Pt,S as _t,T as kt,U as rt,Z as wt,g as $,j as vt,s as Ve}from"./chunk-QWAF5HSH.js";var Sn=[{mn:"BRK",am:"",nb:1,il:0,c1:7,c2:0,nw:3,br:1,mod:"SI"},{mn:"ORA",am:"(aa,x)",nb:2,il:0,c1:6,c2:0,nw:0,br:0,mod:"AZN"},{mn:"KIL",am:"",nb:1,il:2,c1:3,c2:0,nw:0,br:1,mod:""},{mn:"SLO",am:"(aa,x)",nb:2,il:1,c1:8,c2:0,nw:2,br:0,mod:"ACZN"},{mn:"NOP",am:"aa",nb:2,il:1,c1:3,c2:0,nw:0,br:0,mod:""},{mn:"ORA",am:"aa",nb:2,il:0,c1:3,c2:0,nw:0,br:0,mod:"AZN"},{mn:"ASL",am:"aa",nb:2,il:0,c1:5,c2:0,nw:2,br:0,mod:"CZN"},{mn:"SLO",am:"aa",nb:2,il:1,c1:5,c2:0,nw:2,br:0,mod:"ACZN"},{mn:"PHP",am:"",nb:1,il:0,c1:3,c2:0,nw:1,br:0,mod:"S"},{mn:"ORA",am:"#aa",nb:2,il:0,c1:2,c2:0,nw:0,br:0,mod:"AZN"},{mn:"ASL",am:"",nb:1,il:0,c1:2,c2:0,nw:0,br:0,mod:"ACZN"},{mn:"ANC",am:"#aa",nb:2,il:1,c1:2,c2:0,nw:0,br:0,mod:"ACZN"},{mn:"NOP",am:"AAAA",nb:3,il:1,c1:3,c2:0,nw:0,br:0,mod:""},{mn:"ORA",am:"AAAA",nb:3,il:0,c1:4,c2:0,nw:0,br:0,mod:"AZN"},{mn:"ASL",am:"AAAA",nb:3,il:0,c1:6,c2:0,nw:2,br:0,mod:"CZN"},{mn:"SLO",am:"AAAA",nb:3,il:1,c1:6,c2:0,nw:2,br:0,mod:"ACZN"},{mn:"BPL",am:"branch",nb:2,il:0,c1:2,c2:2,nw:0,br:1,mod:""},{mn:"ORA",am:"(aa),y",nb:2,il:0,c1:5,c2:1,nw:0,br:0,mod:"AZN"},{mn:"KIL",am:"",nb:1,il:2,c1:3,c2:0,nw:0,br:1,mod:""},{mn:"SLO",am:"(aa),y",nb:2,il:1,c1:8,c2:0,nw:2,br:0,mod:"ACZN"},{mn:"NOP",am:"aa,x",nb:2,il:1,c1:4,c2:0,nw:0,br:0,mod:""},{mn:"ORA",am:"aa,x",nb:2,il:0,c1:4,c2:0,nw:0,br:0,mod:"AZN"},{mn:"ASL",am:"aa,x",nb:2,il:0,c1:6,c2:0,nw:2,br:0,mod:"CZN"},{mn:"SLO",am:"aa,x",nb:2,il:1,c1:6,c2:0,nw:2,br:0,mod:"ACZN"},{mn:"CLC",am:"",nb:1,il:0,c1:2,c2:0,nw:0,br:0,mod:"C"},{mn:"ORA",am:"AAAA,y",nb:3,il:0,c1:4,c2:1,nw:0,br:0,mod:"AZN"},{mn:"NOP",am:"",nb:1,il:1,c1:2,c2:0,nw:0,br:0,mod:""},{mn:"SLO",am:"AAAA,y",nb:3,il:1,c1:7,c2:0,nw:2,br:0,mod:"ACZN"},{mn:"NOP",am:"AAAA,x",nb:3,il:1,c1:4,c2:0,nw:0,br:0,mod:""},{mn:"ORA",am:"AAAA,x",nb:3,il:0,c1:4,c2:1,nw:0,br:0,mod:"AZN"},{mn:"ASL",am:"AAAA,x",nb:3,il:0,c1:7,c2:0,nw:2,br:0,mod:"CZN"},{mn:"SLO",am:"AAAA,x",nb:3,il:1,c1:7,c2:0,nw:2,br:0,mod:"ACZN"},{mn:"JSR",am:"AAAA",nb:3,il:0,c1:6,c2:0,nw:2,br:1,mod:"S"},{mn:"AND",am:"(aa,x)",nb:2,il:0,c1:6,c2:0,nw:0,br:0,mod:"AZN"},{mn:"KIL",am:"",nb:1,il:2,c1:3,c2:0,nw:0,br:1,mod:""},{mn:"RLA",am:"(aa,x)",nb:2,il:1,c1:8,c2:0,nw:2,br:0,mod:"ACZN"},{mn:"BIT",am:"aa",nb:2,il:0,c1:3,c2:0,nw:0,br:0,mod:"ZVN"},{mn:"AND",am:"aa",nb:2,il:0,c1:3,c2:0,nw:0,br:0,mod:"AZN"},{mn:"ROL",am:"aa",nb:2,il:0,c1:5,c2:0,nw:2,br:0,mod:"CZN"},{mn:"RLA",am:"aa",nb:2,il:1,c1:5,c2:0,nw:2,br:0,mod:"ACZN"},{mn:"PLP",am:"",nb:1,il:0,c1:4,c2:0,nw:0,br:0,mod:"SCZIDVN"},{mn:"AND",am:"#aa",nb:2,il:0,c1:2,c2:0,nw:0,br:0,mod:"AZN"},{mn:"ROL",am:"",nb:1,il:0,c1:2,c2:0,nw:0,br:0,mod:"ACZN"},{mn:"ANC",am:"#aa",nb:2,il:1,c1:2,c2:0,nw:0,br:0,mod:"ACZN"},{mn:"BIT",am:"AAAA",nb:3,il:0,c1:4,c2:0,nw:0,br:0,mod:"ZVN"},{mn:"AND",am:"AAAA",nb:3,il:0,c1:4,c2:0,nw:0,br:0,mod:"AZN"},{mn:"ROL",am:"AAAA",nb:3,il:0,c1:6,c2:0,nw:2,br:0,mod:"CZN"},{mn:"RLA",am:"AAAA",nb:3,il:1,c1:6,c2:0,nw:2,br:0,mod:"ACZN"},{mn:"BMI",am:"branch",nb:2,il:0,c1:2,c2:2,nw:0,br:1,mod:""},{mn:"AND",am:"(aa),y",nb:2,il:0,c1:5,c2:1,nw:0,br:0,mod:"AZN"},{mn:"KIL",am:"",nb:1,il:2,c1:3,c2:0,nw:0,br:1,mod:""},{mn:"RLA",am:"(aa),y",nb:2,il:1,c1:8,c2:0,nw:2,br:0,mod:"ACZN"},{mn:"NOP",am:"aa,x",nb:2,il:1,c1:4,c2:0,nw:0,br:0,mod:""},{mn:"AND",am:"aa,x",nb:2,il:0,c1:4,c2:0,nw:0,br:0,mod:"AZN"},{mn:"ROL",am:"aa,x",nb:2,il:0,c1:6,c2:0,nw:2,br:0,mod:"CZN"},{mn:"RLA",am:"aa,x",nb:2,il:1,c1:6,c2:0,nw:2,br:0,mod:"ACZN"},{mn:"SEC",am:"",nb:1,il:0,c1:2,c2:0,nw:0,br:0,mod:"C"},{mn:"AND",am:"AAAA,y",nb:3,il:0,c1:4,c2:1,nw:0,br:0,mod:"AZN"},{mn:"NOP",am:"",nb:1,il:1,c1:2,c2:0,nw:0,br:0,mod:""},{mn:"RLA",am:"AAAA,y",nb:3,il:1,c1:7,c2:0,nw:2,br:0,mod:"ACZN"},{mn:"NOP",am:"AAAA,x",nb:3,il:1,c1:4,c2:0,nw:0,br:0,mod:""},{mn:"AND",am:"AAAA,x",nb:3,il:0,c1:4,c2:1,nw:0,br:0,mod:"AZN"},{mn:"ROL",am:"AAAA,x",nb:3,il:0,c1:7,c2:0,nw:2,br:0,mod:"CZN"},{mn:"RLA",am:"AAAA,x",nb:3,il:1,c1:7,c2:0,nw:2,br:0,mod:"ACZN"},{mn:"RTI",am:"",nb:1,il:0,c1:6,c2:0,nw:0,br:1,mod:"SCZIDVN"},{mn:"EOR",am:"(aa,x)",nb:2,il:0,c1:6,c2:0,nw:0,br:0,mod:"AZN"},{mn:"KIL",am:"",nb:1,il:2,c1:3,c2:0,nw:0,br:1,mod:""},{mn:"SRE",am:"(aa,x)",nb:2,il:1,c1:8,c2:0,nw:2,br:0,mod:"ACZN"},{mn:"NOP",am:"aa",nb:2,il:1,c1:3,c2:0,nw:0,br:0,mod:""},{mn:"EOR",am:"aa",nb:2,il:0,c1:3,c2:0,nw:0,br:0,mod:"AZN"},{mn:"LSR",am:"aa",nb:2,il:0,c1:5,c2:0,nw:2,br:0,mod:"CZN"},{mn:"SRE",am:"aa",nb:2,il:1,c1:5,c2:0,nw:2,br:0,mod:"ACZN"},{mn:"PHA",am:"",nb:1,il:0,c1:3,c2:0,nw:1,br:0,mod:"S"},{mn:"EOR",am:"#aa",nb:2,il:0,c1:2,c2:0,nw:0,br:0,mod:"AZN"},{mn:"LSR",am:"",nb:1,il:0,c1:2,c2:0,nw:0,br:0,mod:"ACZN"},{mn:"ASR",am:"#aa",nb:2,il:1,c1:2,c2:0,nw:0,br:0,mod:"ACZN"},{mn:"JMP",am:"AAAA",nb:3,il:0,c1:3,c2:0,nw:0,br:1,mod:""},{mn:"EOR",am:"AAAA",nb:3,il:0,c1:4,c2:0,nw:0,br:0,mod:"AZN"},{mn:"LSR",am:"AAAA",nb:3,il:0,c1:6,c2:0,nw:2,br:0,mod:"CZN"},{mn:"SRE",am:"AAAA",nb:3,il:1,c1:6,c2:0,nw:2,br:0,mod:"ACZN"},{mn:"BVC",am:"branch",nb:2,il:0,c1:2,c2:2,nw:0,br:1,mod:""},{mn:"EOR",am:"(aa),y",nb:2,il:0,c1:5,c2:1,nw:0,br:0,mod:"AZN"},{mn:"KIL",am:"",nb:1,il:2,c1:3,c2:0,nw:0,br:1,mod:""},{mn:"SRE",am:"(aa),y",nb:2,il:1,c1:8,c2:0,nw:2,br:0,mod:"ACZN"},{mn:"NOP",am:"aa,x",nb:2,il:1,c1:4,c2:0,nw:0,br:0,mod:""},{mn:"EOR",am:"aa,x",nb:2,il:0,c1:4,c2:0,nw:0,br:0,mod:"AZN"},{mn:"LSR",am:"aa,x",nb:2,il:0,c1:6,c2:0,nw:2,br:0,mod:"CZN"},{mn:"SRE",am:"aa,x",nb:2,il:1,c1:6,c2:0,nw:2,br:0,mod:"ACZN"},{mn:"CLI",am:"",nb:1,il:0,c1:2,c2:0,nw:0,br:0,mod:"I"},{mn:"EOR",am:"AAAA,y",nb:3,il:0,c1:4,c2:1,nw:0,br:0,mod:"AZN"},{mn:"NOP",am:"",nb:1,il:1,c1:2,c2:0,nw:0,br:0,mod:""},{mn:"SRE",am:"AAAA,y",nb:3,il:1,c1:7,c2:0,nw:2,br:0,mod:"ACZN"},{mn:"NOP",am:"AAAA,x",nb:3,il:1,c1:4,c2:0,nw:0,br:0,mod:""},{mn:"EOR",am:"AAAA,x",nb:3,il:0,c1:4,c2:1,nw:0,br:0,mod:"AZN"},{mn:"LSR",am:"AAAA,x",nb:3,il:0,c1:7,c2:0,nw:2,br:0,mod:"CZN"},{mn:"SRE",am:"AAAA,x",nb:3,il:1,c1:7,c2:0,nw:2,br:0,mod:"ACZN"},{mn:"RTS",am:"",nb:1,il:0,c1:6,c2:0,nw:0,br:1,mod:"S"},{mn:"ADC",am:"(aa,x)",nb:2,il:0,c1:6,c2:0,nw:0,br:0,mod:"ACZVN"},{mn:"KIL",am:"",nb:1,il:2,c1:3,c2:0,nw:0,br:1,mod:""},{mn:"RRA",am:"(aa,x)",nb:2,il:1,c1:8,c2:0,nw:2,br:0,mod:"ACZVN"},{mn:"NOP",am:"aa",nb:2,il:1,c1:3,c2:0,nw:0,br:0,mod:""},{mn:"ADC",am:"aa",nb:2,il:0,c1:3,c2:0,nw:0,br:0,mod:"ACZVN"},{mn:"ROR",am:"aa",nb:2,il:0,c1:5,c2:0,nw:2,br:0,mod:"CZN"},{mn:"RRA",am:"aa",nb:2,il:1,c1:5,c2:0,nw:2,br:0,mod:"ACZVN"},{mn:"PLA",am:"",nb:1,il:0,c1:4,c2:0,nw:0,br:0,mod:"SAZN"},{mn:"ADC",am:"#aa",nb:2,il:0,c1:2,c2:0,nw:0,br:0,mod:"ACZVN"},{mn:"ROR",am:"",nb:1,il:0,c1:2,c2:0,nw:0,br:0,mod:"ACZN"},{mn:"ARR",am:"#aa",nb:2,il:1,c1:2,c2:0,nw:0,br:0,mod:"ACZVN"},{mn:"JMP",am:"(AAAA)",nb:3,il:0,c1:5,c2:0,nw:0,br:1,mod:""},{mn:"ADC",am:"AAAA",nb:3,il:0,c1:4,c2:0,nw:0,br:0,mod:"ACZVN"},{mn:"ROR",am:"AAAA",nb:3,il:0,c1:6,c2:0,nw:2,br:0,mod:"CZN"},{mn:"RRA",am:"AAAA",nb:3,il:1,c1:6,c2:0,nw:2,br:0,mod:"ACZVN"},{mn:"BVS",am:"branch",nb:2,il:0,c1:2,c2:2,nw:0,br:1,mod:""},{mn:"ADC",am:"(aa),y",nb:2,il:0,c1:5,c2:1,nw:0,br:0,mod:"ACZVN"},{mn:"KIL",am:"",nb:1,il:2,c1:3,c2:0,nw:0,br:1,mod:""},{mn:"RRA",am:"(aa),y",nb:2,il:1,c1:8,c2:0,nw:2,br:0,mod:"ACZVN"},{mn:"NOP",am:"aa,x",nb:2,il:1,c1:4,c2:0,nw:0,br:0,mod:""},{mn:"ADC",am:"aa,x",nb:2,il:0,c1:4,c2:0,nw:0,br:0,mod:"ACZVN"},{mn:"ROR",am:"aa,x",nb:2,il:0,c1:6,c2:0,nw:2,br:0,mod:"CZN"},{mn:"RRA",am:"aa,x",nb:2,il:1,c1:6,c2:0,nw:2,br:0,mod:"ACZVN"},{mn:"SEI",am:"",nb:1,il:0,c1:2,c2:0,nw:0,br:0,mod:"I"},{mn:"ADC",am:"AAAA,y",nb:3,il:0,c1:4,c2:1,nw:0,br:0,mod:"ACZVN"},{mn:"NOP",am:"",nb:1,il:1,c1:2,c2:0,nw:0,br:0,mod:""},{mn:"RRA",am:"AAAA,y",nb:3,il:1,c1:7,c2:0,nw:2,br:0,mod:"ACZVN"},{mn:"NOP",am:"AAAA,x",nb:3,il:1,c1:4,c2:0,nw:0,br:0,mod:""},{mn:"ADC",am:"AAAA,x",nb:3,il:0,c1:4,c2:1,nw:0,br:0,mod:"ACZVN"},{mn:"ROR",am:"AAAA,x",nb:3,il:0,c1:7,c2:0,nw:2,br:0,mod:"CZN"},{mn:"RRA",am:"AAAA,x",nb:3,il:1,c1:7,c2:0,nw:2,br:0,mod:"ACZVN"},{mn:"NOP",am:"#aa",nb:2,il:1,c1:2,c2:0,nw:0,br:0,mod:""},{mn:"STA",am:"(aa,x)",nb:2,il:0,c1:6,c2:0,nw:1,br:0,mod:""},{mn:"NOP",am:"#aa",nb:2,il:1,c1:2,c2:0,nw:0,br:0,mod:""},{mn:"SAX",am:"(aa,x)",nb:2,il:1,c1:6,c2:0,nw:1,br:0,mod:""},{mn:"STY",am:"aa",nb:2,il:0,c1:3,c2:0,nw:1,br:0,mod:""},{mn:"STA",am:"aa",nb:2,il:0,c1:3,c2:0,nw:1,br:0,mod:""},{mn:"STX",am:"aa",nb:2,il:0,c1:3,c2:0,nw:1,br:0,mod:""},{mn:"SAX",am:"aa",nb:2,il:1,c1:3,c2:0,nw:1,br:0,mod:""},{mn:"DEY",am:"",nb:1,il:0,c1:2,c2:0,nw:0,br:0,mod:"YZN"},{mn:"NOP",am:"#aa",nb:2,il:1,c1:2,c2:0,nw:0,br:0,mod:""},{mn:"TXA",am:"",nb:1,il:0,c1:2,c2:0,nw:0,br:0,mod:"AZN"},{mn:"ANE",am:"#aa",nb:2,il:1,c1:2,c2:0,nw:0,br:0,mod:"AZN"},{mn:"STY",am:"AAAA",nb:3,il:0,c1:4,c2:0,nw:1,br:0,mod:""},{mn:"STA",am:"AAAA",nb:3,il:0,c1:4,c2:0,nw:1,br:0,mod:""},{mn:"STX",am:"AAAA",nb:3,il:0,c1:4,c2:0,nw:1,br:0,mod:""},{mn:"SAX",am:"AAAA",nb:3,il:1,c1:4,c2:0,nw:1,br:0,mod:""},{mn:"BCC",am:"branch",nb:2,il:0,c1:2,c2:2,nw:0,br:1,mod:""},{mn:"STA",am:"(aa),y",nb:2,il:0,c1:6,c2:0,nw:1,br:0,mod:""},{mn:"KIL",am:"",nb:1,il:2,c1:3,c2:0,nw:0,br:1,mod:""},{mn:"SHA",am:"(aa),y",nb:2,il:1,c1:6,c2:0,nw:1,br:0,mod:""},{mn:"STY",am:"aa,x",nb:2,il:0,c1:4,c2:0,nw:1,br:0,mod:""},{mn:"STA",am:"aa,x",nb:2,il:0,c1:4,c2:0,nw:1,br:0,mod:""},{mn:"STX",am:"aa,y",nb:2,il:0,c1:4,c2:0,nw:1,br:0,mod:""},{mn:"SAX",am:"aa,y",nb:3,il:1,c1:4,c2:0,nw:1,br:1,mod:""},{mn:"TYA",am:"",nb:1,il:0,c1:2,c2:0,nw:0,br:0,mod:"AZN"},{mn:"STA",am:"AAAA,y",nb:3,il:0,c1:5,c2:0,nw:1,br:0,mod:""},{mn:"TXS",am:"",nb:1,il:0,c1:2,c2:0,nw:0,br:0,mod:"S"},{mn:"SHS",am:"AAAA,y",nb:3,il:1,c1:5,c2:0,nw:1,br:0,mod:"S"},{mn:"SHY",am:"AAAA,x",nb:3,il:1,c1:5,c2:0,nw:1,br:0,mod:""},{mn:"STA",am:"AAAA,x",nb:3,il:0,c1:5,c2:0,nw:1,br:0,mod:""},{mn:"SHX",am:"AAAA,y",nb:3,il:1,c1:5,c2:0,nw:1,br:0,mod:""},{mn:"SHA",am:"AAAA,y",nb:3,il:1,c1:5,c2:0,nw:1,br:0,mod:""},{mn:"LDY",am:"#aa",nb:2,il:0,c1:2,c2:0,nw:0,br:0,mod:"YZN"},{mn:"LDA",am:"(aa,x)",nb:2,il:0,c1:6,c2:0,nw:0,br:0,mod:"AZN"},{mn:"LDX",am:"#aa",nb:2,il:0,c1:2,c2:0,nw:0,br:0,mod:"XZN"},{mn:"LAX",am:"(aa,x)",nb:2,il:1,c1:6,c2:0,nw:0,br:0,mod:"AXZN"},{mn:"LDY",am:"aa",nb:2,il:0,c1:3,c2:0,nw:0,br:0,mod:"YZN"},{mn:"LDA",am:"aa",nb:2,il:0,c1:3,c2:0,nw:0,br:0,mod:"AZN"},{mn:"LDX",am:"aa",nb:2,il:0,c1:3,c2:0,nw:0,br:0,mod:"XZN"},{mn:"LAX",am:"aa",nb:2,il:1,c1:3,c2:0,nw:0,br:0,mod:"AXZN"},{mn:"TAY",am:"",nb:1,il:0,c1:2,c2:0,nw:0,br:0,mod:"YZN"},{mn:"LDA",am:"#aa",nb:2,il:0,c1:2,c2:0,nw:0,br:0,mod:"AZN"},{mn:"TAX",am:"",nb:1,il:0,c1:2,c2:0,nw:0,br:0,mod:"XZN"},{mn:"LXA",am:"#aa",nb:2,il:1,c1:2,c2:0,nw:0,br:0,mod:"AXZN"},{mn:"LDY",am:"AAAA",nb:3,il:0,c1:4,c2:0,nw:0,br:0,mod:"YZN"},{mn:"LDA",am:"AAAA",nb:3,il:0,c1:4,c2:0,nw:0,br:0,mod:"AZN"},{mn:"LDX",am:"AAAA",nb:3,il:0,c1:4,c2:0,nw:0,br:0,mod:"XZN"},{mn:"LAX",am:"AAAA",nb:3,il:1,c1:4,c2:0,nw:0,br:0,mod:"AXZN"},{mn:"BCS",am:"branch",nb:2,il:0,c1:2,c2:2,nw:0,br:1,mod:""},{mn:"LDA",am:"(aa),y",nb:2,il:0,c1:5,c2:1,nw:0,br:0,mod:"AZN"},{mn:"KIL",am:"",nb:1,il:2,c1:3,c2:0,nw:0,br:1,mod:""},{mn:"LAX",am:"(aa),y",nb:2,il:1,c1:5,c2:1,nw:0,br:0,mod:"AXZN"},{mn:"LDY",am:"aa,x",nb:2,il:0,c1:4,c2:0,nw:0,br:0,mod:"YZN"},{mn:"LDA",am:"aa,x",nb:2,il:0,c1:4,c2:0,nw:0,br:0,mod:"AZN"},{mn:"LDX",am:"aa,y",nb:2,il:0,c1:4,c2:0,nw:0,br:0,mod:"XZN"},{mn:"LAX",am:"aa,y",nb:2,il:1,c1:4,c2:0,nw:0,br:0,mod:"AXZN"},{mn:"CLV",am:"",nb:1,il:0,c1:2,c2:0,nw:0,br:0,mod:"V"},{mn:"LDA",am:"AAAA,y",nb:3,il:0,c1:4,c2:1,nw:0,br:0,mod:"AZN"},{mn:"TSX",am:"",nb:1,il:0,c1:2,c2:0,nw:0,br:0,mod:"XZN"},{mn:"LAS",am:"AAAA,y",nb:3,il:1,c1:4,c2:1,nw:0,br:0,mod:"SAXZN"},{mn:"LDY",am:"AAAA,x",nb:3,il:0,c1:4,c2:1,nw:0,br:0,mod:"YZN"},{mn:"LDA",am:"AAAA,x",nb:3,il:0,c1:4,c2:1,nw:0,br:0,mod:"AZN"},{mn:"LDX",am:"AAAA,y",nb:3,il:0,c1:4,c2:1,nw:0,br:0,mod:"XZN"},{mn:"LAX",am:"AAAA,y",nb:3,il:1,c1:4,c2:1,nw:0,br:0,mod:"AXZN"},{mn:"CPY",am:"#aa",nb:2,il:0,c1:2,c2:0,nw:0,br:0,mod:"CZN"},{mn:"CMP",am:"(aa,x)",nb:2,il:0,c1:6,c2:0,nw:0,br:0,mod:"CZN"},{mn:"NOP",am:"#aa",nb:2,il:1,c1:2,c2:0,nw:0,br:0,mod:""},{mn:"DCP",am:"(aa,x)",nb:2,il:1,c1:8,c2:0,nw:2,br:0,mod:"CZN"},{mn:"CPY",am:"aa",nb:2,il:0,c1:3,c2:0,nw:0,br:0,mod:"CZN"},{mn:"CMP",am:"aa",nb:2,il:0,c1:3,c2:0,nw:0,br:0,mod:"CZN"},{mn:"DEC",am:"aa",nb:2,il:0,c1:5,c2:0,nw:2,br:0,mod:"ZN"},{mn:"DCP",am:"aa",nb:2,il:1,c1:5,c2:0,nw:2,br:0,mod:"CZN"},{mn:"INY",am:"",nb:1,il:0,c1:2,c2:0,nw:0,br:0,mod:"YZN"},{mn:"CMP",am:"#aa",nb:2,il:0,c1:2,c2:0,nw:0,br:0,mod:"CZN"},{mn:"DEX",am:"",nb:1,il:0,c1:2,c2:0,nw:0,br:0,mod:"XZN"},{mn:"SBX",am:"#aa",nb:2,il:1,c1:2,c2:0,nw:0,br:0,mod:"XCZN"},{mn:"CPY",am:"AAAA",nb:3,il:0,c1:4,c2:0,nw:0,br:0,mod:"CZN"},{mn:"CMP",am:"AAAA",nb:3,il:0,c1:4,c2:0,nw:0,br:0,mod:"CZN"},{mn:"DEC",am:"AAAA",nb:3,il:0,c1:6,c2:0,nw:2,br:0,mod:"ZN"},{mn:"DCP",am:"AAAA",nb:3,il:1,c1:6,c2:0,nw:2,br:0,mod:"CZN"},{mn:"BNE",am:"branch",nb:2,il:0,c1:2,c2:2,nw:0,br:1,mod:""},{mn:"CMP",am:"(aa),y",nb:2,il:0,c1:5,c2:1,nw:0,br:0,mod:"CZN"},{mn:"KIL",am:"",nb:1,il:2,c1:3,c2:0,nw:0,br:1,mod:""},{mn:"DCP",am:"(aa),y",nb:2,il:1,c1:8,c2:0,nw:2,br:0,mod:"CZN"},{mn:"NOP",am:"aa,x",nb:2,il:1,c1:4,c2:0,nw:0,br:0,mod:""},{mn:"CMP",am:"aa,x",nb:2,il:0,c1:4,c2:0,nw:0,br:0,mod:"CZN"},{mn:"DEC",am:"aa,x",nb:2,il:0,c1:6,c2:0,nw:2,br:0,mod:"ZN"},{mn:"DCP",am:"aa,x",nb:2,il:1,c1:6,c2:0,nw:2,br:0,mod:"CZN"},{mn:"CLD",am:"",nb:1,il:0,c1:2,c2:0,nw:0,br:0,mod:"D"},{mn:"CMP",am:"AAAA,y",nb:3,il:0,c1:4,c2:1,nw:0,br:0,mod:"CZN"},{mn:"NOP",am:"",nb:1,il:1,c1:2,c2:0,nw:0,br:0,mod:""},{mn:"DCP",am:"AAAA,y",nb:3,il:1,c1:7,c2:0,nw:2,br:0,mod:"CZN"},{mn:"NOP",am:"AAAA,x",nb:3,il:1,c1:4,c2:0,nw:0,br:0,mod:""},{mn:"CMP",am:"AAAA,x",nb:3,il:0,c1:4,c2:1,nw:0,br:0,mod:"CZN"},{mn:"DEC",am:"AAAA,x",nb:3,il:0,c1:7,c2:0,nw:2,br:0,mod:"ZN"},{mn:"DCP",am:"AAAA,x",nb:3,il:1,c1:7,c2:0,nw:2,br:0,mod:"CZN"},{mn:"CPX",am:"#aa",nb:2,il:0,c1:2,c2:0,nw:0,br:0,mod:"CZN"},{mn:"SBC",am:"(aa,x)",nb:2,il:0,c1:6,c2:0,nw:0,br:0,mod:"ACZVN"},{mn:"NOP",am:"#aa",nb:2,il:1,c1:2,c2:0,nw:0,br:0,mod:""},{mn:"ISB",am:"(aa,x)",nb:2,il:1,c1:8,c2:0,nw:2,br:0,mod:"ACZVN"},{mn:"CPX",am:"aa",nb:2,il:0,c1:3,c2:0,nw:0,br:0,mod:"CZN"},{mn:"SBC",am:"aa",nb:2,il:0,c1:3,c2:0,nw:0,br:0,mod:"ACZVN"},{mn:"INC",am:"aa",nb:2,il:0,c1:5,c2:0,nw:2,br:0,mod:"ZN"},{mn:"ISB",am:"aa",nb:2,il:1,c1:5,c2:0,nw:2,br:0,mod:"ACZVN"},{mn:"INX",am:"",nb:1,il:0,c1:2,c2:0,nw:0,br:0,mod:"XZN"},{mn:"SBC",am:"#aa",nb:2,il:0,c1:2,c2:0,nw:0,br:0,mod:"ACZVN"},{mn:"NOP",am:"",nb:1,il:0,c1:2,c2:0,nw:0,br:0,mod:""},{mn:"SBC",am:"#aa",nb:2,il:1,c1:2,c2:0,nw:0,br:0,mod:"ACZVN"},{mn:"CPX",am:"AAAA",nb:3,il:0,c1:4,c2:0,nw:0,br:0,mod:"CZN"},{mn:"SBC",am:"AAAA",nb:3,il:0,c1:4,c2:0,nw:0,br:0,mod:"ACZVN"},{mn:"INC",am:"AAAA",nb:3,il:0,c1:6,c2:0,nw:2,br:0,mod:"ZN"},{mn:"ISB",am:"AAAA",nb:3,il:1,c1:6,c2:0,nw:2,br:0,mod:"ACZVN"},{mn:"BEQ",am:"branch",nb:2,il:0,c1:2,c2:2,nw:0,br:1,mod:""},{mn:"SBC",am:"(aa),y",nb:2,il:0,c1:5,c2:1,nw:0,br:0,mod:"ACZVN"},{mn:"KIL",am:"",nb:1,il:2,c1:3,c2:0,nw:0,br:1,mod:""},{mn:"ISB",am:"(aa),y",nb:2,il:1,c1:8,c2:0,nw:2,br:0,mod:"ACZVN"},{mn:"NOP",am:"aa,x",nb:2,il:1,c1:4,c2:0,nw:0,br:0,mod:""},{mn:"SBC",am:"aa,x",nb:2,il:0,c1:4,c2:0,nw:0,br:0,mod:"ACZVN"},{mn:"INC",am:"aa,x",nb:2,il:0,c1:6,c2:0,nw:2,br:0,mod:"ZN"},{mn:"ISB",am:"aa,x",nb:2,il:1,c1:6,c2:0,nw:2,br:0,mod:"ACZVN"},{mn:"SED",am:"",nb:1,il:0,c1:2,c2:0,nw:0,br:0,mod:"D"},{mn:"SBC",am:"AAAA,y",nb:3,il:0,c1:4,c2:1,nw:0,br:0,mod:"ACZVN"},{mn:"NOP",am:"",nb:1,il:1,c1:2,c2:0,nw:0,br:0,mod:""},{mn:"ISB",am:"AAAA,y",nb:3,il:1,c1:7,c2:0,nw:2,br:0,mod:"ACZVN"},{mn:"NOP",am:"AAAA,x",nb:3,il:1,c1:4,c2:0,nw:0,br:0,mod:""},{mn:"SBC",am:"AAAA,x",nb:3,il:0,c1:4,c2:1,nw:0,br:0,mod:"ACZVN"},{mn:"INC",am:"AAAA,x",nb:3,il:0,c1:7,c2:0,nw:2,br:0,mod:"ZN"},{mn:"ISB",am:"AAAA,x",nb:3,il:1,c1:7,c2:0,nw:2,br:0,mod:"ACZVN"}];function at(h,t,n,a){var m=Sn[t];if(m==null)return{line:"???",nbytes:1,isaddr:!1};var o=m.mn,d=m.am,x=!1;if(d=="branch"){var i=n<128?h+2+n:h+2-(256-n);i&=65535,d="$"+$(i,4),x=!0}else d=d.replace("aa","$"+$(n,2)),d=d.replace("AAAA","$"+$(n+(a<<8),4)),d.indexOf("#")<0&&d.indexOf("$")>=0&&(x=!0);return{line:m.mn+" "+d,nbytes:m.nb,isaddr:x}}function vn(h){let t=h;if(!t||typeof t.mem_read!="function"||typeof t.mem_write!="function"||typeof t.io_read!="function"||typeof t.io_write!="function")throw"Z80: Core object is missing required functions.";let n=0,a=0,m=0,o=0,d=0,x=0,i=0,Y=0,y=0,p=0,N=0,k=0,G=0,u0=0,A=0,R=0,i0=0,T=0,W=57328,f=0,c={S:0,Z:0,Y:0,H:0,X:0,P:0,N:0,C:0},g0={S:0,Z:0,Y:0,H:0,X:0,P:0,N:0,C:0},M0=0,H=0,D0=0,P=!1,v=!1,V0=!1,t0=0;function q(){return{PC:f,SP:W,IX:A,IY:R,AF:(n<<8)+U0(),BC:(a<<8)+m,DE:(o<<8)+d,HL:(x<<8)+i,AF_:(Y<<8)+Y0(),BC_:(y<<8)+p,DE_:(N<<8)+k,HL_:(G<<8)+u0,IR:(i0<<8)+T,im:M0,iff1:H,iff2:D0,halted:P,do_delayed_di:v,do_delayed_ei:V0,cycle_counter:t0}}function H0(e){f=e.PC,W=e.SP,A=e.IX,R=e.IY,n=e.AF>>8&255,T0(e.AF),a=e.BC>>8&255,m=e.BC&255,o=e.DE>>8&255,d=e.DE&255,x=e.HL>>8&255,i=e.HL&255,Y=e.AF_>>8&255,w0(e.AF_),y=e.BC_>>8&255,p=e.BC_&255,N=e.DE_>>8&255,k=e.DE_&255,G=e.HL_>>8&255,u0=e.HL_&255,i0=e.IR>>8&255,T=e.IR&255,M0=e.im,H=e.iff1,D0=e.iff2,P=e.halted,v=e.do_delayed_di,V0=e.do_delayed_ei,t0=e.cycle_counter}let z=function(){W=57328,f=0,n=0,T=0,T0(0),M0=0,H=0,D0=0,P=!1,v=!1,V0=!1,t0=0},F=function(){if(P)return 1;var e=!1,b=!1;v?(v=!1,e=!0):V0&&(V0=!1,b=!0),T=T&128|(T&127)+1&127;var _=t.mem_read(f);x0(_),f=f+1&65535,e?(H=0,D0=0):b&&(H=1,D0=1);var y0=t0;return t0=0,y0},A0=function(e,b){if(e)return T=T&128|(T&127)+1&127,P=!1,D0=H,H=0,L0(f),f=102,t0+=11,!0;if(H){if(T=T&128|(T&127)+1&127,P=!1,H=0,D0=0,M0===0)f=f-1&65535,x0(b),f=f+1&65535,t0+=2;else if(M0===1)L0(f),f=56,t0+=13;else if(M0===2){L0(f);var _=i0<<8|b;f=t.mem_read(_)|t.mem_read(_+1&65535)<<8,t0+=19}return!0}},x0=function(e){var b=function(I0){return(I0&7)===0?a:(I0&7)===1?m:(I0&7)===2?o:(I0&7)===3?d:(I0&7)===4?x:(I0&7)===5?i:(I0&7)===6?t.mem_read(i|x<<8):n};if(e===118)P=!0;else if(e>=64&&e<128){var _=b(e);(e&56)>>>3?(e&56)>>>3===1?m=_:(e&56)>>>3===2?o=_:(e&56)>>>3===3?d=_:(e&56)>>>3===4?x=_:(e&56)>>>3===5?i=_:(e&56)>>>3===6?t.mem_write(i|x<<8,_):(e&56)>>>3===7&&(n=_):a=_}else if(e>=128&&e<192){var _=b(e),y0=[c0,a0,E,w,f0,n0,Z,M];y0[(e&56)>>>3](_)}else{var $0=S[e];$0()}t0+=u[e]},I=function(e){return e&=255,e&128&&(e=-((255&~e)+1)),e},U0=function(){return c.S<<7|c.Z<<6|c.Y<<5|c.H<<4|c.X<<3|c.P<<2|c.N<<1|c.C},Y0=function(){return g0.S<<7|g0.Z<<6|g0.Y<<5|g0.H<<4|g0.X<<3|g0.P<<2|g0.N<<1|g0.C},T0=function(e){c.S=(e&128)>>>7,c.Z=(e&64)>>>6,c.Y=(e&32)>>>5,c.H=(e&16)>>>4,c.X=(e&8)>>>3,c.P=(e&4)>>>2,c.N=(e&2)>>>1,c.C=e&1},w0=function(e){g0.S=(e&128)>>>7,g0.Z=(e&64)>>>6,g0.Y=(e&32)>>>5,g0.H=(e&16)>>>4,g0.X=(e&8)>>>3,g0.P=(e&4)>>>2,g0.N=(e&2)>>>1,g0.C=e&1},Q=function(e){c.Y=(e&32)>>>5,c.X=(e&8)>>>3},l0=function(e){var b=[1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1];return b[e]},L0=function(e){W=W-1&65535,t.mem_write(W,(e&65280)>>>8),W=W-1&65535,t.mem_write(W,e&255)},b0=function(){var e=t.mem_read(W)&255;return W=W+1&65535,e|=t.mem_read(W)<<8,W=W+1&65535,e},B0=function(e){e?(f=t.mem_read(f+1&65535)|t.mem_read(f+2&65535)<<8,f=f-1&65535):f=f+2&65535},W0=function(e){if(e){t0+=5;var b=I(t.mem_read(f+1&65535));f=f+b+1&65535}else f=f+1&65535},O0=function(e){e?(t0+=7,L0(f+3&65535),f=t.mem_read(f+1&65535)|t.mem_read(f+2&65535)<<8,f=f-1&65535):f=f+2&65535},F0=function(e){e&&(t0+=6,f=b0()-1&65535)},p0=function(e){L0(f+1&65535),f=e-1&65535},c0=function(e){var b=n+e;c.S=b&128?1:0,c.Z=b&255?0:1,c.H=(e&15)+(n&15)&16?1:0,c.P=(n&128)===(e&128)&&(n&128)!==(b&128)?1:0,c.N=0,c.C=b&256?1:0,n=b&255,Q(n)},a0=function(e){var b=n+e+c.C;c.S=b&128?1:0,c.Z=b&255?0:1,c.H=(e&15)+(n&15)+c.C&16?1:0,c.P=(n&128)===(e&128)&&(n&128)!==(b&128)?1:0,c.N=0,c.C=b&256?1:0,n=b&255,Q(n)},E=function(e){var b=n-e;c.S=b&128?1:0,c.Z=b&255?0:1,c.H=(n&15)-(e&15)&16?1:0,c.P=(n&128)!==(e&128)&&(n&128)!==(b&128)?1:0,c.N=1,c.C=b&256?1:0,n=b&255,Q(n)},w=function(e){var b=n-e-c.C;c.S=b&128?1:0,c.Z=b&255?0:1,c.H=(n&15)-(e&15)-c.C&16?1:0,c.P=(n&128)!==(e&128)&&(n&128)!==(b&128)?1:0,c.N=1,c.C=b&256?1:0,n=b&255,Q(n)},M=function(e){var b=n;E(e),n=b,Q(e)},f0=function(e){n&=e&255,c.S=n&128?1:0,c.Z=n?0:1,c.H=1,c.P=l0(n),c.N=0,c.C=0,Q(n)},Z=function(e){n=(e|n)&255,c.S=n&128?1:0,c.Z=n?0:1,c.H=0,c.P=l0(n),c.N=0,c.C=0,Q(n)},n0=function(e){n=(e^n)&255,c.S=n&128?1:0,c.Z=n?0:1,c.H=0,c.P=l0(n),c.N=0,c.C=0,Q(n)},L=function(e){var b=e+1;return c.S=b&128?1:0,c.Z=b&255?0:1,c.H=(e&15)===15?1:0,c.P=e===127?1:0,c.N=0,b&=255,Q(b),b},O=function(e){var b=e-1;return c.S=b&128?1:0,c.Z=b&255?0:1,c.H=(e&15)===0?1:0,c.P=e===128?1:0,c.N=1,b&=255,Q(b),b},P0=function(e){var b=i|x<<8,_=b+e;c.N=0,c.C=_&65536?1:0,c.H=(b&4095)+(e&4095)&4096?1:0,i=_&255,x=(_&65280)>>>8,Q(x)},X=function(e){e+=c.C;var b=i|x<<8,_=b+e;c.S=_&32768?1:0,c.Z=_&65535?0:1,c.H=(b&4095)+(e&4095)&4096?1:0,c.P=(b&32768)===(e&32768)&&(_&32768)!==(b&32768)?1:0,c.N=0,c.C=_&65536?1:0,i=_&255,x=_>>>8&255,Q(x)},r0=function(e){e+=c.C;var b=i|x<<8,_=b-e;c.S=_&32768?1:0,c.Z=_&65535?0:1,c.H=(b&4095)-(e&4095)&4096?1:0,c.P=(b&32768)!==(e&32768)&&(_&32768)!==(b&32768)?1:0,c.N=1,c.C=_&65536?1:0,i=_&255,x=_>>>8&255,Q(x)},C0=function(e){var b=t.io_read(e);return c.S=b&128?1:0,c.Z=b?0:1,c.H=0,c.P=l0(b)?1:0,c.N=0,Q(b),b},j=function(){n!==128&&(n=I(n),n=-n&255),c.S=n&128?1:0,c.Z=n?0:1,c.H=(-n&15)>0?1:0,c.P=n===128?1:0,c.N=1,c.C=n?1:0,Q(n)},m0=function(){var e=t.mem_read(i|x<<8);t.mem_write(d|o<<8,e);var b=(d|o<<8)+1;d=b&255,o=(b&65280)>>>8,b=(i|x<<8)+1,i=b&255,x=(b&65280)>>>8,b=(m|a<<8)-1,m=b&255,a=(b&65280)>>>8,c.H=0,c.P=m||a?1:0,c.N=0,c.Y=(n+e&2)>>>1,c.X=(n+e&8)>>>3},N0=function(){var e=c.C,b=t.mem_read(i|x<<8);M(b),c.C=e,c.Y=(n-b-c.H&2)>>>1,c.X=(n-b-c.H&8)>>>3;var _=(i|x<<8)+1;i=_&255,x=(_&65280)>>>8,_=(m|a<<8)-1,m=_&255,a=(_&65280)>>>8,c.P=_?1:0},V=function(){a=O(a),t.mem_write(i|x<<8,t.io_read(a<<8|m));var e=(i|x<<8)+1;i=e&255,x=(e&65280)>>>8,c.N=1},e0=function(){t.io_write(a<<8|m,t.mem_read(i|x<<8));var e=(i|x<<8)+1;i=e&255,x=(e&65280)>>>8,a=O(a),c.N=1},s0=function(){c.N=0,c.H=0;var e=t.mem_read(i|x<<8);t.mem_write(d|o<<8,e);var b=(d|o<<8)-1;d=b&255,o=(b&65280)>>>8,b=(i|x<<8)-1,i=b&255,x=(b&65280)>>>8,b=(m|a<<8)-1,m=b&255,a=(b&65280)>>>8,c.P=m||a?1:0,c.Y=(n+e&2)>>>1,c.X=(n+e&8)>>>3},_0=function(){var e=c.C,b=t.mem_read(i|x<<8);M(b),c.C=e,c.Y=(n-b-c.H&2)>>>1,c.X=(n-b-c.H&8)>>>3;var _=(i|x<<8)-1;i=_&255,x=(_&65280)>>>8,_=(m|a<<8)-1,m=_&255,a=(_&65280)>>>8,c.P=_?1:0},R0=function(){a=O(a),t.mem_write(i|x<<8,t.io_read(a<<8|m));var e=(i|x<<8)-1;i=e&255,x=(e&65280)>>>8,c.N=1},X0=function(){t.io_write(a<<8|m,t.mem_read(i|x<<8));var e=(i|x<<8)-1;i=e&255,x=(e&65280)>>>8,a=O(a),c.N=1},o0=function(e){return c.N=0,c.H=0,c.C=(e&128)>>>7,e=(e<<1|c.C)&255,c.Z=e?0:1,c.P=l0(e),c.S=e&128?1:0,Q(e),e},d0=function(e){return c.N=0,c.H=0,c.C=e&1,e=e>>>1&127|c.C<<7,c.Z=e&255?0:1,c.P=l0(e),c.S=e&128?1:0,Q(e),e&255},E0=function(e){c.N=0,c.H=0;var b=c.C;return c.C=(e&128)>>>7,e=(e<<1|b)&255,c.Z=e?0:1,c.P=l0(e),c.S=e&128?1:0,Q(e),e},k0=function(e){c.N=0,c.H=0;var b=c.C;return c.C=e&1,e=e>>>1&127|b<<7,c.Z=e?0:1,c.P=l0(e),c.S=e&128?1:0,Q(e),e},z0=function(e){return c.N=0,c.H=0,c.C=(e&128)>>>7,e=e<<1&255,c.Z=e?0:1,c.P=l0(e),c.S=e&128?1:0,Q(e),e},U=function(e){return c.N=0,c.H=0,c.C=e&1,e=e>>>1&127|e&128,c.Z=e?0:1,c.P=l0(e),c.S=e&128?1:0,Q(e),e},K0=function(e){return c.N=0,c.H=0,c.C=(e&128)>>>7,e=e<<1&255|1,c.Z=e?0:1,c.P=l0(e),c.S=e&128?1:0,Q(e),e},G0=function(e){return c.N=0,c.H=0,c.C=e&1,e=e>>>1&127,c.Z=e?0:1,c.P=l0(e),c.S=0,Q(e),e},q0=function(e){c.N=0;var b=A+e;c.C=b&65536?1:0,c.H=(A&4095)+(e&4095)&4096?1:0,Q((b&65280)>>>8),A=b&65535},S=[];S[0]=function(){},S[1]=function(){f=f+1&65535,m=t.mem_read(f),f=f+1&65535,a=t.mem_read(f)},S[2]=function(){t.mem_write(m|a<<8,n)},S[3]=function(){var e=m|a<<8;e+=1,m=e&255,a=(e&65280)>>>8},S[4]=function(){a=L(a)},S[5]=function(){a=O(a)},S[6]=function(){f=f+1&65535,a=t.mem_read(f)},S[7]=function(){var e=c.S,b=c.Z,_=c.P;n=o0(n),c.S=e,c.Z=b,c.P=_},S[8]=function(){var e=n;n=Y,Y=e,e=U0(),T0(Y0()),w0(e)},S[9]=function(){P0(m|a<<8)},S[10]=function(){n=t.mem_read(m|a<<8)},S[11]=function(){var e=m|a<<8;e-=1,m=e&255,a=(e&65280)>>>8},S[12]=function(){m=L(m)},S[13]=function(){m=O(m)},S[14]=function(){f=f+1&65535,m=t.mem_read(f)},S[15]=function(){var e=c.S,b=c.Z,_=c.P;n=d0(n),c.S=e,c.Z=b,c.P=_},S[16]=function(){a=a-1&255,W0(a!==0)},S[17]=function(){f=f+1&65535,d=t.mem_read(f),f=f+1&65535,o=t.mem_read(f)},S[18]=function(){t.mem_write(d|o<<8,n)},S[19]=function(){var e=d|o<<8;e+=1,d=e&255,o=(e&65280)>>>8},S[20]=function(){o=L(o)},S[21]=function(){o=O(o)},S[22]=function(){f=f+1&65535,o=t.mem_read(f)},S[23]=function(){var e=c.S,b=c.Z,_=c.P;n=E0(n),c.S=e,c.Z=b,c.P=_},S[24]=function(){var e=I(t.mem_read(f+1&65535));f=f+e+1&65535},S[25]=function(){P0(d|o<<8)},S[26]=function(){n=t.mem_read(d|o<<8)},S[27]=function(){var e=d|o<<8;e-=1,d=e&255,o=(e&65280)>>>8},S[28]=function(){d=L(d)},S[29]=function(){d=O(d)},S[30]=function(){f=f+1&65535,d=t.mem_read(f)},S[31]=function(){var e=c.S,b=c.Z,_=c.P;n=k0(n),c.S=e,c.Z=b,c.P=_},S[32]=function(){W0(!c.Z)},S[33]=function(){f=f+1&65535,i=t.mem_read(f),f=f+1&65535,x=t.mem_read(f)},S[34]=function(){f=f+1&65535;var e=t.mem_read(f);f=f+1&65535,e|=t.mem_read(f)<<8,t.mem_write(e,i),t.mem_write(e+1&65535,x)},S[35]=function(){var e=i|x<<8;e+=1,i=e&255,x=(e&65280)>>>8},S[36]=function(){x=L(x)},S[37]=function(){x=O(x)},S[38]=function(){f=f+1&65535,x=t.mem_read(f)},S[39]=function(){var e=n;c.N?((c.H||(n&15)>9)&&(e-=6),(c.C||n>153)&&(e-=96)):((c.H||(n&15)>9)&&(e+=6),(c.C||n>153)&&(e+=96)),c.S=e&128?1:0,c.Z=e&255?0:1,c.H=n&16^e&16?1:0,c.P=l0(e&255),c.C=c.C||n>153?1:0,n=e&255,Q(n)},S[40]=function(){W0(!!c.Z)},S[41]=function(){P0(i|x<<8)},S[42]=function(){f=f+1&65535;var e=t.mem_read(f);f=f+1&65535,e|=t.mem_read(f)<<8,i=t.mem_read(e),x=t.mem_read(e+1&65535)},S[43]=function(){var e=i|x<<8;e-=1,i=e&255,x=(e&65280)>>>8},S[44]=function(){i=L(i)},S[45]=function(){i=O(i)},S[46]=function(){f=f+1&65535,i=t.mem_read(f)},S[47]=function(){n=~n&255,c.N=1,c.H=1,Q(n)},S[48]=function(){W0(!c.C)},S[49]=function(){W=t.mem_read(f+1&65535)|t.mem_read(f+2&65535)<<8,f=f+2&65535},S[50]=function(){f=f+1&65535;var e=t.mem_read(f);f=f+1&65535,e|=t.mem_read(f)<<8,t.mem_write(e,n)},S[51]=function(){W=W+1&65535},S[52]=function(){var e=i|x<<8;t.mem_write(e,L(t.mem_read(e)))},S[53]=function(){var e=i|x<<8;t.mem_write(e,O(t.mem_read(e)))},S[54]=function(){f=f+1&65535,t.mem_write(i|x<<8,t.mem_read(f))},S[55]=function(){c.N=0,c.H=0,c.C=1,Q(n)},S[56]=function(){W0(!!c.C)},S[57]=function(){P0(W)},S[58]=function(){f=f+1&65535;var e=t.mem_read(f);f=f+1&65535,e|=t.mem_read(f)<<8,n=t.mem_read(e)},S[59]=function(){W=W-1&65535},S[60]=function(){n=L(n)},S[61]=function(){n=O(n)},S[62]=function(){n=t.mem_read(f+1&65535),f=f+1&65535},S[63]=function(){c.N=0,c.H=c.C,c.C=c.C?0:1,Q(n)},S[192]=function(){F0(!c.Z)},S[193]=function(){var e=b0();m=e&255,a=(e&65280)>>>8},S[194]=function(){B0(!c.Z)},S[195]=function(){f=t.mem_read(f+1&65535)|t.mem_read(f+2&65535)<<8,f=f-1&65535},S[196]=function(){O0(!c.Z)},S[197]=function(){L0(m|a<<8)},S[198]=function(){f=f+1&65535,c0(t.mem_read(f))},S[199]=function(){p0(0)},S[200]=function(){F0(!!c.Z)},S[201]=function(){f=b0()-1&65535},S[202]=function(){B0(!!c.Z)},S[203]=function(){T=T&128|(T&127)+1&127,f=f+1&65535;var e=t.mem_read(f),b=(e&56)>>>3,_=e&7;if(e<64){var y0=[o0,d0,E0,k0,z0,U,K0,G0];_===0?a=y0[b](a):_===1?m=y0[b](m):_===2?o=y0[b](o):_===3?d=y0[b](d):_===4?x=y0[b](x):_===5?i=y0[b](i):_===6?t.mem_write(i|x<<8,y0[b](t.mem_read(i|x<<8))):_===7&&(n=y0[b](n))}else e<128?(_===0?c.Z=a&1<<b?0:1:_===1?c.Z=m&1<<b?0:1:_===2?c.Z=o&1<<b?0:1:_===3?c.Z=d&1<<b?0:1:_===4?c.Z=x&1<<b?0:1:_===5?c.Z=i&1<<b?0:1:_===6?c.Z=t.mem_read(i|x<<8)&1<<b?0:1:_===7&&(c.Z=n&1<<b?0:1),c.N=0,c.H=1,c.P=c.Z,c.S=b===7&&!c.Z?1:0,c.Y=b===5&&!c.Z?1:0,c.X=b===3&&!c.Z?1:0):e<192?_===0?a&=255&~(1<<b):_===1?m&=255&~(1<<b):_===2?o&=255&~(1<<b):_===3?d&=255&~(1<<b):_===4?x&=255&~(1<<b):_===5?i&=255&~(1<<b):_===6?t.mem_write(i|x<<8,t.mem_read(i|x<<8)&~(1<<b)):_===7&&(n&=255&~(1<<b)):_===0?a|=1<<b:_===1?m|=1<<b:_===2?o|=1<<b:_===3?d|=1<<b:_===4?x|=1<<b:_===5?i|=1<<b:_===6?t.mem_write(i|x<<8,t.mem_read(i|x<<8)|1<<b):_===7&&(n|=1<<b);t0+=g[e]},S[204]=function(){O0(!!c.Z)},S[205]=function(){L0(f+3&65535),f=t.mem_read(f+1&65535)|t.mem_read(f+2&65535)<<8,f=f-1&65535},S[206]=function(){f=f+1&65535,a0(t.mem_read(f))},S[207]=function(){p0(8)},S[208]=function(){F0(!c.C)},S[209]=function(){var e=b0();d=e&255,o=(e&65280)>>>8},S[210]=function(){B0(!c.C)},S[211]=function(){f=f+1&65535,t.io_write(n<<8|t.mem_read(f),n)},S[212]=function(){O0(!c.C)},S[213]=function(){L0(d|o<<8)},S[214]=function(){f=f+1&65535,E(t.mem_read(f))},S[215]=function(){p0(16)},S[216]=function(){F0(!!c.C)},S[217]=function(){var e=a;a=y,y=e,e=m,m=p,p=e,e=o,o=N,N=e,e=d,d=k,k=e,e=x,x=G,G=e,e=i,i=u0,u0=e},S[218]=function(){B0(!!c.C)},S[219]=function(){f=f+1&65535,n=t.io_read(n<<8|t.mem_read(f))},S[220]=function(){O0(!!c.C)},S[221]=function(){T=T&128|(T&127)+1&127,f=f+1&65535;var e=t.mem_read(f),b=D[e];b?(b(),t0+=s[e]):(f=f-1&65535,t0+=u[0])},S[222]=function(){f=f+1&65535,w(t.mem_read(f))},S[223]=function(){p0(24)},S[224]=function(){F0(!c.P)},S[225]=function(){var e=b0();i=e&255,x=(e&65280)>>>8},S[226]=function(){B0(!c.P)},S[227]=function(){var e=t.mem_read(W);t.mem_write(W,i),i=e,e=t.mem_read(W+1&65535),t.mem_write(W+1&65535,x),x=e},S[228]=function(){O0(!c.P)},S[229]=function(){L0(i|x<<8)},S[230]=function(){f=f+1&65535,f0(t.mem_read(f))},S[231]=function(){p0(32)},S[232]=function(){F0(!!c.P)},S[233]=function(){f=i|x<<8,f=f-1&65535},S[234]=function(){B0(!!c.P)},S[235]=function(){var e=o;o=x,x=e,e=d,d=i,i=e},S[236]=function(){O0(!!c.P)},S[237]=function(){T=T&128|(T&127)+1&127,f=f+1&65535;var e=t.mem_read(f),b=B[e];b?(b(),t0+=r[e]):t0+=u[0]},S[238]=function(){f=f+1&65535,n0(t.mem_read(f))},S[239]=function(){p0(40)},S[240]=function(){F0(!c.S)},S[241]=function(){var e=b0();T0(e&255),n=(e&65280)>>>8},S[242]=function(){B0(!c.S)},S[243]=function(){v=!0},S[244]=function(){O0(!c.S)},S[245]=function(){L0(U0()|n<<8)},S[246]=function(){f=f+1&65535,Z(t.mem_read(f))},S[247]=function(){p0(48)},S[248]=function(){F0(!!c.S)},S[249]=function(){W=i|x<<8},S[250]=function(){B0(!!c.S)},S[251]=function(){V0=!0},S[252]=function(){O0(!!c.S)},S[253]=function(){T=T&128|(T&127)+1&127,f=f+1&65535;var e=t.mem_read(f),b=D[e];if(b){var _=A;A=R,b(),R=A,A=_,t0+=s[e]}else f=f-1&65535,t0+=u[0]},S[254]=function(){f=f+1&65535,M(t.mem_read(f))},S[255]=function(){p0(56)};let B=[];B[64]=function(){a=C0(a<<8|m)},B[65]=function(){t.io_write(a<<8|m,a)},B[66]=function(){r0(m|a<<8)},B[67]=function(){f=f+1&65535;var e=t.mem_read(f);f=f+1&65535,e|=t.mem_read(f)<<8,t.mem_write(e,m),t.mem_write(e+1&65535,a)},B[68]=function(){j()},B[69]=function(){f=b0()-1&65535,H=D0},B[70]=function(){M0=0},B[71]=function(){i0=n},B[72]=function(){m=C0(a<<8|m)},B[73]=function(){t.io_write(a<<8|m,m)},B[74]=function(){X(m|a<<8)},B[75]=function(){f=f+1&65535;var e=t.mem_read(f);f=f+1&65535,e|=t.mem_read(f)<<8,m=t.mem_read(e),a=t.mem_read(e+1&65535)},B[76]=function(){j()},B[77]=function(){f=b0()-1&65535},B[78]=function(){M0=0},B[79]=function(){T=n},B[80]=function(){o=C0(a<<8|m)},B[81]=function(){t.io_write(a<<8|m,o)},B[82]=function(){r0(d|o<<8)},B[83]=function(){f=f+1&65535;var e=t.mem_read(f);f=f+1&65535,e|=t.mem_read(f)<<8,t.mem_write(e,d),t.mem_write(e+1&65535,o)},B[84]=function(){j()},B[85]=function(){f=b0()-1&65535,H=D0},B[86]=function(){M0=1},B[87]=function(){n=i0,c.S=n&128?1:0,c.Z=n?0:1,c.H=0,c.P=D0,c.N=0,Q(n)},B[88]=function(){d=C0(a<<8|m)},B[89]=function(){t.io_write(a<<8|m,d)},B[90]=function(){X(d|o<<8)},B[91]=function(){f=f+1&65535;var e=t.mem_read(f);f=f+1&65535,e|=t.mem_read(f)<<8,d=t.mem_read(e),o=t.mem_read(e+1&65535)},B[92]=function(){j()},B[93]=function(){f=b0()-1&65535,H=D0},B[94]=function(){M0=2},B[95]=function(){n=T,c.S=n&128?1:0,c.Z=n?0:1,c.H=0,c.P=D0,c.N=0,Q(n)},B[96]=function(){x=C0(a<<8|m)},B[97]=function(){t.io_write(a<<8|m,x)},B[98]=function(){r0(i|x<<8)},B[99]=function(){f=f+1&65535;var e=t.mem_read(f);f=f+1&65535,e|=t.mem_read(f)<<8,t.mem_write(e,i),t.mem_write(e+1&65535,x)},B[100]=function(){j()},B[101]=function(){f=b0()-1&65535,H=D0},B[102]=function(){M0=0},B[103]=function(){var e=t.mem_read(i|x<<8),b=e&15,_=n&15;e=(e&240)>>>4|_<<4,n=n&240|b,t.mem_write(i|x<<8,e),c.S=n&128?1:0,c.Z=n?0:1,c.H=0,c.P=l0(n)?1:0,c.N=0,Q(n)},B[104]=function(){i=C0(a<<8|m)},B[105]=function(){t.io_write(a<<8|m,i)},B[106]=function(){X(i|x<<8)},B[107]=function(){f=f+1&65535;var e=t.mem_read(f);f=f+1&65535,e|=t.mem_read(f)<<8,i=t.mem_read(e),x=t.mem_read(e+1&65535)},B[108]=function(){j()},B[109]=function(){f=b0()-1&65535,H=D0},B[110]=function(){M0=0},B[111]=function(){var e=t.mem_read(i|x<<8),b=e&240,_=n&15;e=(e&15)<<4|_,n=n&240|b>>>4,t.mem_write(i|x<<8,e),c.S=n&128?1:0,c.Z=n?0:1,c.H=0,c.P=l0(n)?1:0,c.N=0,Q(n)},B[112]=function(){C0(a<<8|m)},B[113]=function(){t.io_write(a<<8|m,0)},B[114]=function(){r0(W)},B[115]=function(){f=f+1&65535;var e=t.mem_read(f);f=f+1&65535,e|=t.mem_read(f)<<8,t.mem_write(e,W&255),t.mem_write(e+1&65535,W>>>8&255)},B[116]=function(){j()},B[117]=function(){f=b0()-1&65535,H=D0},B[118]=function(){M0=1},B[120]=function(){n=C0(a<<8|m)},B[121]=function(){t.io_write(a<<8|m,n)},B[122]=function(){X(W)},B[123]=function(){f=f+1&65535;var e=t.mem_read(f);f=f+1&65535,e|=t.mem_read(f)<<8,W=t.mem_read(e),W|=t.mem_read(e+1&65535)<<8},B[124]=function(){j()},B[125]=function(){f=b0()-1&65535,H=D0},B[126]=function(){M0=2},B[160]=function(){m0()},B[161]=function(){N0()},B[162]=function(){V()},B[163]=function(){e0()},B[168]=function(){s0()},B[169]=function(){_0()},B[170]=function(){R0()},B[171]=function(){X0()},B[176]=function(){m0(),(a||m)&&(t0+=5,f=f-2&65535)},B[177]=function(){N0(),!c.Z&&(a||m)&&(t0+=5,f=f-2&65535)},B[178]=function(){V(),a&&(t0+=5,f=f-2&65535)},B[179]=function(){e0(),a&&(t0+=5,f=f-2&65535)},B[184]=function(){s0(),(a||m)&&(t0+=5,f=f-2&65535)},B[185]=function(){_0(),!c.Z&&(a||m)&&(t0+=5,f=f-2&65535)},B[186]=function(){R0(),a&&(t0+=5,f=f-2&65535)},B[187]=function(){X0(),a&&(t0+=5,f=f-2&65535)};let D=[];D[9]=function(){q0(m|a<<8)},D[25]=function(){q0(d|o<<8)},D[33]=function(){f=f+1&65535,A=t.mem_read(f),f=f+1&65535,A|=t.mem_read(f)<<8},D[34]=function(){f=f+1&65535;var e=t.mem_read(f);f=f+1&65535,e|=t.mem_read(f)<<8,t.mem_write(e,A&255),t.mem_write(e+1&65535,A>>>8&255)},D[35]=function(){A=A+1&65535},D[36]=function(){A=L(A>>>8)<<8|A&255},D[37]=function(){A=O(A>>>8)<<8|A&255},D[38]=function(){f=f+1&65535,A=t.mem_read(f)<<8|A&255},D[41]=function(){q0(A)},D[42]=function(){f=f+1&65535;var e=t.mem_read(f);f=f+1&65535,e|=t.mem_read(f)<<8,A=t.mem_read(e),A|=t.mem_read(e+1&65535)<<8},D[43]=function(){A=A-1&65535},D[44]=function(){A=L(A&255)|A&65280},D[45]=function(){A=O(A&255)|A&65280},D[46]=function(){f=f+1&65535,A=t.mem_read(f)&255|A&65280},D[52]=function(){f=f+1&65535;var e=I(t.mem_read(f)),b=t.mem_read(e+A&65535);t.mem_write(e+A&65535,L(b))},D[53]=function(){f=f+1&65535;var e=I(t.mem_read(f)),b=t.mem_read(e+A&65535);t.mem_write(e+A&65535,O(b))},D[54]=function(){f=f+1&65535;var e=I(t.mem_read(f));f=f+1&65535,t.mem_write(A+e&65535,t.mem_read(f))},D[57]=function(){q0(W)},D[68]=function(){a=A>>>8&255},D[69]=function(){a=A&255},D[70]=function(){f=f+1&65535;var e=I(t.mem_read(f));a=t.mem_read(A+e&65535)},D[76]=function(){m=A>>>8&255},D[77]=function(){m=A&255},D[78]=function(){f=f+1&65535;var e=I(t.mem_read(f));m=t.mem_read(A+e&65535)},D[84]=function(){o=A>>>8&255},D[85]=function(){o=A&255},D[86]=function(){f=f+1&65535;var e=I(t.mem_read(f));o=t.mem_read(A+e&65535)},D[92]=function(){d=A>>>8&255},D[93]=function(){d=A&255},D[94]=function(){f=f+1&65535;var e=I(t.mem_read(f));d=t.mem_read(A+e&65535)},D[96]=function(){A=A&255|a<<8},D[97]=function(){A=A&255|m<<8},D[98]=function(){A=A&255|o<<8},D[99]=function(){A=A&255|d<<8},D[100]=function(){},D[101]=function(){A=A&255|(A&255)<<8},D[102]=function(){f=f+1&65535;var e=I(t.mem_read(f));x=t.mem_read(A+e&65535)},D[103]=function(){A=A&255|n<<8},D[104]=function(){A=A&65280|a},D[105]=function(){A=A&65280|m},D[106]=function(){A=A&65280|o},D[107]=function(){A=A&65280|d},D[108]=function(){A=A&65280|A>>>8},D[109]=function(){},D[110]=function(){f=f+1&65535;var e=I(t.mem_read(f));i=t.mem_read(A+e&65535)},D[111]=function(){A=A&65280|n},D[112]=function(){f=f+1&65535;var e=I(t.mem_read(f));t.mem_write(A+e&65535,a)},D[113]=function(){f=f+1&65535;var e=I(t.mem_read(f));t.mem_write(A+e&65535,m)},D[114]=function(){f=f+1&65535;var e=I(t.mem_read(f));t.mem_write(A+e&65535,o)},D[115]=function(){f=f+1&65535;var e=I(t.mem_read(f));t.mem_write(A+e&65535,d)},D[116]=function(){f=f+1&65535;var e=I(t.mem_read(f));t.mem_write(A+e&65535,x)},D[117]=function(){f=f+1&65535;var e=I(t.mem_read(f));t.mem_write(A+e&65535,i)},D[119]=function(){f=f+1&65535;var e=I(t.mem_read(f));t.mem_write(A+e&65535,n)},D[124]=function(){n=A>>>8&255},D[125]=function(){n=A&255},D[126]=function(){f=f+1&65535;var e=I(t.mem_read(f));n=t.mem_read(A+e&65535)},D[132]=function(){c0(A>>>8&255)},D[133]=function(){c0(A&255)},D[134]=function(){f=f+1&65535;var e=I(t.mem_read(f));c0(t.mem_read(A+e&65535))},D[140]=function(){a0(A>>>8&255)},D[141]=function(){a0(A&255)},D[142]=function(){f=f+1&65535;var e=I(t.mem_read(f));a0(t.mem_read(A+e&65535))},D[148]=function(){E(A>>>8&255)},D[149]=function(){E(A&255)},D[150]=function(){f=f+1&65535;var e=I(t.mem_read(f));E(t.mem_read(A+e&65535))},D[156]=function(){w(A>>>8&255)},D[157]=function(){w(A&255)},D[158]=function(){f=f+1&65535;var e=I(t.mem_read(f));w(t.mem_read(A+e&65535))},D[164]=function(){f0(A>>>8&255)},D[165]=function(){f0(A&255)},D[166]=function(){f=f+1&65535;var e=I(t.mem_read(f));f0(t.mem_read(A+e&65535))},D[172]=function(){n0(A>>>8&255)},D[173]=function(){n0(A&255)},D[174]=function(){f=f+1&65535;var e=I(t.mem_read(f));n0(t.mem_read(A+e&65535))},D[180]=function(){Z(A>>>8&255)},D[181]=function(){Z(A&255)},D[182]=function(){f=f+1&65535;var e=I(t.mem_read(f));Z(t.mem_read(A+e&65535))},D[188]=function(){M(A>>>8&255)},D[189]=function(){M(A&255)},D[190]=function(){f=f+1&65535;var e=I(t.mem_read(f));M(t.mem_read(A+e&65535))},D[203]=function(){f=f+1&65535;var e=I(t.mem_read(f));f=f+1&65535;var b=t.mem_read(f),_;if(b<64){var y0=[o0,d0,E0,k0,z0,U,K0,G0],$0=y0[(b&56)>>>3],_=$0(t.mem_read(A+e&65535));t.mem_write(A+e&65535,_)}else{var I0=(b&56)>>>3;b<128?(c.N=0,c.H=1,c.Z=t.mem_read(A+e&65535)&1<<I0?0:1,c.P=c.Z,c.S=I0===7&&!c.Z?1:0):b<192?(_=t.mem_read(A+e&65535)&~(1<<I0)&255,t.mem_write(A+e&65535,_)):(_=t.mem_read(A+e&65535)|1<<I0,t.mem_write(A+e&65535,_))}_!==void 0&&((b&7)===0?a=_:(b&7)===1?m=_:(b&7)===2?o=_:(b&7)===3?d=_:(b&7)===4?x=_:(b&7)===5?i=_:(b&7)===7&&(n=_)),t0+=g[b]+8},D[225]=function(){A=b0()},D[227]=function(){var e=A;A=t.mem_read(W),A|=t.mem_read(W+1&65535)<<8,t.mem_write(W,e&255),t.mem_write(W+1&65535,e>>>8&255)},D[229]=function(){L0(A)},D[233]=function(){f=A-1&65535},D[249]=function(){W=A};let u=[4,10,7,6,4,4,7,4,4,11,7,6,4,4,7,4,8,10,7,6,4,4,7,4,12,11,7,6,4,4,7,4,7,10,16,6,4,4,7,4,7,11,16,6,4,4,7,4,7,10,13,6,11,11,10,4,7,11,13,6,4,4,7,4,4,4,4,4,4,4,7,4,4,4,4,4,4,4,7,4,4,4,4,4,4,4,7,4,4,4,4,4,4,4,7,4,4,4,4,4,4,4,7,4,4,4,4,4,4,4,7,4,7,7,7,7,7,7,4,7,4,4,4,4,4,4,7,4,4,4,4,4,4,4,7,4,4,4,4,4,4,4,7,4,4,4,4,4,4,4,7,4,4,4,4,4,4,4,7,4,4,4,4,4,4,4,7,4,4,4,4,4,4,4,7,4,4,4,4,4,4,4,7,4,4,4,4,4,4,4,7,4,5,10,10,10,10,11,7,11,5,10,10,0,10,17,7,11,5,10,10,11,10,11,7,11,5,4,10,11,10,0,7,11,5,10,10,19,10,11,7,11,5,4,10,4,10,0,7,11,5,10,10,4,10,11,7,11,5,6,10,4,10,0,7,11],r=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,12,15,20,8,14,8,9,12,12,15,20,8,14,8,9,12,12,15,20,8,14,8,9,12,12,15,20,8,14,8,9,12,12,15,20,8,14,8,18,12,12,15,20,8,14,8,18,12,12,15,20,8,14,8,0,12,12,15,20,8,14,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,16,16,16,0,0,0,0,16,16,16,16,0,0,0,0,16,16,16,16,0,0,0,0,16,16,16,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],g=[8,8,8,8,8,8,15,8,8,8,8,8,8,8,15,8,8,8,8,8,8,8,15,8,8,8,8,8,8,8,15,8,8,8,8,8,8,8,15,8,8,8,8,8,8,8,15,8,8,8,8,8,8,8,15,8,8,8,8,8,8,8,15,8,8,8,8,8,8,8,12,8,8,8,8,8,8,8,12,8,8,8,8,8,8,8,12,8,8,8,8,8,8,8,12,8,8,8,8,8,8,8,12,8,8,8,8,8,8,8,12,8,8,8,8,8,8,8,12,8,8,8,8,8,8,8,12,8,8,8,8,8,8,8,15,8,8,8,8,8,8,8,15,8,8,8,8,8,8,8,15,8,8,8,8,8,8,8,15,8,8,8,8,8,8,8,15,8,8,8,8,8,8,8,15,8,8,8,8,8,8,8,15,8,8,8,8,8,8,8,15,8,8,8,8,8,8,8,15,8,8,8,8,8,8,8,15,8,8,8,8,8,8,8,15,8,8,8,8,8,8,8,15,8,8,8,8,8,8,8,15,8,8,8,8,8,8,8,15,8,8,8,8,8,8,8,15,8,8,8,8,8,8,8,15,8],s=[0,0,0,0,0,0,0,0,0,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,0,0,0,14,20,10,8,8,11,0,0,15,20,10,8,8,11,0,0,0,0,0,23,23,19,0,0,15,0,0,0,0,0,0,0,0,0,0,8,8,19,0,0,0,0,0,8,8,19,0,0,0,0,0,8,8,19,0,0,0,0,0,8,8,19,0,8,8,8,8,8,8,19,8,8,8,8,8,8,8,19,8,19,19,19,19,19,19,0,19,0,0,0,0,8,8,19,0,0,0,0,0,8,8,19,0,0,0,0,0,8,8,19,0,0,0,0,0,8,8,19,0,0,0,0,0,8,8,19,0,0,0,0,0,8,8,19,0,0,0,0,0,8,8,19,0,0,0,0,0,8,8,19,0,0,0,0,0,8,8,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,23,0,15,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0];this.saveState=q,this.loadState=H0,this.reset=z,this.advanceInsn=F,this.interrupt=A0,this.getPC=()=>f,this.getSP=()=>W,this.getHalted=()=>P}var Ye=class{constructor(){this.retryInterrupts=!1;this.retryData=-1}buildCPU(){this.memBus&&this.ioBus&&(this.cpu=new vn({mem_read:this.memBus.read.bind(this.memBus),mem_write:this.memBus.write.bind(this.memBus),io_read:this.ioBus.read.bind(this.ioBus),io_write:this.ioBus.write.bind(this.ioBus)}))}connectMemoryBus(t){this.memBus=t,this.buildCPU()}connectIOBus(t){this.ioBus=t,this.buildCPU()}advanceInsn(){return this.retryInterrupts&&this.retryData>=0&&this.cpu.interrupt(!1,this.retryData)&&(this.retryData=-1),this.cpu.advanceInsn()}reset(){this.cpu.reset()}interrupt(t){!this.cpu.interrupt(!1,t)&&this.retryInterrupts&&(this.retryData=t)}NMI(){this.cpu.interrupt(!0,0)}getSP(){return this.cpu.getSP()}getPC(){return this.cpu.getPC()}isHalted(){return this.cpu.getHalted()}saveState(){return this.cpu.saveState()}loadState(t){this.cpu.loadState(t)}isStable(){return!0}};var it=class{constructor(){this.master=new MasterChannel}start(){this.looper||(this.looper=new AudioLooper(512),this.looper.setChannel(this.master),this.looper.activate())}stop(){this.looper&&(this.looper.setChannel(null),this.looper=null)}},Dt=class{constructor(t){this.psg=new PsgDeviceChannel;this.curreg=0;this.master=t,this.psg.setMode(PsgDeviceChannel.MODE_SIGNED),this.psg.setDevice(PsgDeviceChannel.DEVICE_AY_3_8910),t.master.addChannel(this.psg)}reset(){for(var t=15;t>=0;t--)this.selectRegister(t),this.setData(0)}selectRegister(t){this.curreg=t&15}setData(t){this.psg.writeRegisterAY(this.curreg,t&255)}readData(){return this.psg.readRegister(this.curreg)}currentRegister(){return this.curreg}},Rt=class{constructor(t){this.psg=new PsgDeviceChannel;this.master=t,this.psg.setMode(PsgDeviceChannel.MODE_SIGNED),this.psg.setDevice(PsgDeviceChannel.DEVICE_SN76489),t.master.addChannel(this.psg)}reset(){}setData(t){this.psg.writeRegisterSN(0,t&255)}};function En(h){for(var t=new it,n=1;n<=h;n++){var a=new gn;t["pokey"+n]=a,t.master.addChannel(a)}return t}function Re(h,t){for(var n=new Uint8Array(h.length*t.length),a=0,m=0;m<n.length;m++)n[m]=t[a%t.length],h[m%h.length]&&a++;return n}function We(h){var t=new Uint8Array(h*2);return t.fill(1,0,h),t}var gn=function(){for(var h=128,t=64,n=32,a=16,m=15,o=128,d=64,x=32,i=16,Y=8,y=4,p=2,N=1,k=28,G=114,u0=15,A=31,R=511,i0=131071,T=0,W=1,f=2,c=3,g0=0,M0=4,H=8,D0=12,P=127,v=1789790,V0=1787520,t0=new Uint8Array([1]),q=new Uint8Array([0,1]),H0=new Uint8Array([1,1,0,1,1,1,0,0,0,0,1,0,1,0,0]),z=new Uint8Array([0,0,1,1,0,0,0,1,1,1,1,0,0,1,0,1,0,1,1,0,1,1,1,0,1,0,0,0,0,0,1]),F=new Uint8Array([0,0,1,0,1,0,0,0,1,0,0,0,0,0,0,0,1,0,1,1,1,0,0,1,0,1,0,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,0,1,1,1,0,1,1,0,0,1,0,0,1,1,1,1,0,1,0,0,0,0,1,1,0,1,1,0,0,0,1,0,0,0,1,1,1,1,0,1,0,1,1,0,1,0,1,0,0,0,0,1,1,0,1,0,1,0,0,0,1,0,1,0,0,0,1,1,1,0,0,1,1,0,1,1,0,0,1,1,1,1,1,0,0,1,1,0,0,0,1,1,0,1,0,0,0,1,1,0,0,1,1,1,1,0,0,1,0,0,0,1,1,1,0,0,1,1,0,1,0,1,1,0,1,1,0,1,0,0,1,0,0,1,1,1,1,1,1,0,1,1,1,1,0,1,1,0,0,0,0,1,1,1,1,1,0,0,0,1,0,0,0,0,1,0,0,0,1,0,1,0,1,1,0,0,0,0,1,0,1,1,1,1,0,1,0,0,0,1,1,0,0,0,1,1,1,0,1,1,1,0,1,0,0,0,0,0,0,0,0,1,0,1,0,0,1,0,0,0,0,1,1,1,0,0,0,1,1,1,0,0,1,1,0,0,1,0,0,1,0,1,1,0,0,0,0,1,0,0,0,1,0,0,0,1,0,1,1,1,1,0,0,0,1,1,1,0,0,0,1,0,0,1,1,1,1,0,1,1,1,1,1,1,1,0,1,1,1,1,1,1,0,1,1,0,1,0,1,1,1,1,0,0,1,0,1,0,1,1,1,0,0,0,0,0,1,1,0,1,1,0,0,0,1,0,1,0,1,0,0,0,0,1,0,1,1,1,0,0,0,0,1,0,0,1,0,1,0,0,0,1,0,1,1,1,0,0,1,1,1,1,1,1,1,0,0,0,0,0,1,0,0,1,1,0,1,0,0,1,0,0,0,1,0,0,1,0,1,0,0,0,1,1,0,1,0,0,0,0,0,1,1,1,1,0,0,1,0,0,1,0,1,1,1,1,1,1,1,0,1,0,0,1,0,0,0,1,1,0,1,1,1,0,0,0,1,0,1,0,0,1,0,1,0,1,0,1,1,1,0,0,1,0,1,1,0,0,1,1,1,1,1,0,0,0,1,1,0]),A0=new Uint8Array([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0]),x0=new Uint8Array([1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0]),I=new Uint8Array(16384),U0=0;U0<I.length;U0++)I[U0]=Math.random()>.5?1:0;var Y0=Re(I,z),T0=Re(z,H0),w0=[Y0,z,T0,z,I,q,H0,q],Q=We(2),l0=We(6),L0=We(31),b0=We(93),B0=Re(A0,H0),W0=Re(z,Q),O0=Re(z,l0),F0=[t0,H0,B0,T0,Q,Q,L0,W0,F,z,L0,t0,l0,l0,b0,O0],p0=new Uint8Array(16),c0=new Float32Array(4),a0=new Float32Array(4),E=new Float32Array(4),w=new Uint8Array(4),M=[t0,t0,t0,t0],f0,Z,n0,L,O=!0;this.setBufferLength=function(X){f0=new Int32Array(X)},this.getBuffer=function(){return f0},this.setSampleRate=function(X){Z=X,L=v/X};function P0(X){var r0=p0[8],C0=r0&N?G:k,j,m0=X&4,N0=m0>>1,V=m0>>2;r0&i>>V?(r0&d>>V?j=p0[m0+2]*256+p0[m0+0]+7:j=(p0[m0+2]*256+p0[m0+0]+1)*C0,a0[N0+1]=L/j,a0[N0+0]=0):(r0&d>>V?j=p0[m0+0]+4:j=(p0[m0+0]+1)*C0,a0[N0+0]=L/j,j=(p0[m0+2]+1)*C0,a0[N0+1]=L/j)}this.setRegister=function(X,r0){if(X&=15,r0&=255,p0[X]!=r0)switch(p0[X]=r0,X){case 0:case 2:case 4:case 6:case 8:O=!0;break;case 1:case 3:case 5:case 7:E[X>>1]=r0&15,M[X>>1]=w0[r0>>5];break}},this.getRegister=function(X){return X&=15,p0[X]},this.setTIARegister=function(X,r0){switch(X){case 23:case 24:p0[(X&1)*4]=r0&31,O=!0;break;case 21:case 22:M[(X&1)*2]=F0[r0&15];break;case 25:case 26:E[(X&1)*2]=r0&15;break}},this.generate=function(X){O&&(P0(0),P0(4),O=!1);for(var r0=0;r0<X;r0+=2){for(var C0=0,j=0;j<4;j++){var m0=a0[j],N0=E[j];if(m0>0&&m0<1&&N0>0){var V=M[j],e0=c0[j]+=m0;e0>V.length&&(e0=c0[j]=e0-Math.floor(e0/V.length)*V.length);var s0=V[Math.floor(e0)];s0&&(C0+=N0)}}C0*=64,f0[r0]=C0,f0[r0+1]=C0}}},Zn=function(h){var t,n,a=[],m=0;h.onmessage=function(o){o&&o.data&&o.data.samples&&n&&(a.push(o.data.samples),m+=o.data.samples.length)},this.setBufferLength=function(o){n=new Int16Array(o),m=0},this.getBuffer=function(){return n},this.setSampleRate=function(o){t=o,h.postMessage({sampleRate:o})},this.generate=function(o){if(m<o*3){n.fill(0);return}for(var d=0;d<n.length&&a.length!=0;){var x=a.shift();m-=x.length;var i=n.length-d;x.length<i?n.set(x,d):(n.set(x.slice(0,i),d),a.unshift(x.slice(i)),m+=x.length-i),d+=x.length}}},pn=function(h){var t=this,n,a,m,o,d,x,i,Y,y=4;function p(G){var u0=G.outputBuffer.length,A=G.outputBuffer.getChannelData(0),R=this.module;if(R||(R=G.srcElement.module),!!R)if(R.callback){R.callback(A);return}else{for(var i0=x[i],T=0;T<A.length;T++)A[T]=i0[T];i=(i+1)%x.length}}function N(){if(x)for(var G of x)G.fill(0)}function k(){var G=window.AudioContext||window.webkitAudioContext||window.mozAudioContext;if(!G){console.log("no web audio context");return}var u0=new G;t.context=u0,t.sr=t.context.sampleRate,t.bufferlen=2048,t.filterNode=t.context.createBiquadFilter(),t.filterNode.type="lowshelf",t.filterNode.frequency.value=100,t.filterNode.gain.value=-6,typeof t.context.createScriptProcessor=="function"?t.mixerNode=t.context.createScriptProcessor(t.bufferlen,1,1):t.mixerNode=t.context.createJavaScriptNode(t.bufferlen,1,1),t.mixerNode.module=t,t.mixerNode.onaudioprocess=p,t.compressorNode=t.context.createDynamicsCompressor(),t.mixerNode.connect(t.filterNode),t.filterNode.connect(t.compressorNode),t.compressorNode.connect(t.context.destination)}this.start=function(){if(this.context){this.context.state=="suspended"&&this.context.resume();return}if(k(),!!this.context){a=this.sr*1/h,n=0,m=0,d=0,x=[],i=1,Y=0;for(var G=0;G<y;G++){var u0=new ArrayBuffer(t.bufferlen*4);x[G]=new Float32Array(u0)}o=x[0]}},this.stop=function(){this.context&&this.context.suspend&&this.context.suspend(),N()},this.close=function(){this.context&&(this.context.close(),this.context=null)},this.addSingleSample=function(G){if(o&&(o[d++]=G,d>=o.length)){d=0,x[Y]=o;var u0=(Y+1)%x.length;u0==i?Y=Math.floor(i+y/2)%x.length:Y=u0,o=x[Y]}},this.feedSample=function(G,u0){if(m+=G*u0,n+=a*u0,n>=1){for(m/=n;n>=1;)this.addSingleSample(m*a),n-=1;m*=n}}},ze=class{constructor(t){this.sa=new pn(t)}feedSample(t,n){this.sa.feedSample(t,n)}start(){this.sa.start()}stop(){this.sa.stop()}},Bt=class{constructor(t,n,a){this.audioGain=1/8192;this.bufferLength=n*2,this.channels=t.generate?[t]:t,this.channels.forEach(m=>{m.setBufferLength(this.bufferLength),m.setSampleRate(a)})}generate(t){var n=this.bufferLength,a=this.channels.map(o=>o.getBuffer());this.channels.forEach(o=>{o.generate(n)});for(let o=0;o<n;o+=2){var m=0;a.forEach(d=>m+=d[o]),t.feedSample(m*this.audioGain,1)}}};var Ke=class{constructor(t,n){this.idx=0;this.sl=0;this.cur_sp=-1;this.singleFrame=!0;this.m=t,this.reset(n||1048576)}start(){this.m.connectProbe(this)}stop(){this.m.connectProbe(null)}reset(t){t&&(this.buf=new Uint32Array(t)),this.sl=0,this.cur_sp=-1,this.clear()}clear(){this.idx=0}logData(t){this.log(t)}log(t){this.idx>=this.buf.length||(this.buf[this.idx++]=t)}relog(t){this.buf[this.idx-1]=t}lastOp(){return this.idx>0?this.buf[this.idx-1]&4278190080:-1}lastAddr(){return this.idx>0?this.buf[this.idx-1]&16777215:-1}addLogBuffer(t){this.idx+t.length>this.buf.length&&(t=t.slice(0,this.buf.length-this.idx)),this.buf.set(t,this.idx),this.idx+=t.length}logClocks(t){t|=0,t>0&&(this.lastOp()==0?this.relog(this.lastAddr()+t|0):this.log(t|0))}logNewScanline(){this.log(2113929216),this.sl++}logNewFrame(){this.log(2130706432),this.sl=0,this.singleFrame&&this.clear()}logExecute(t,n){this.cur_sp!==n&&(n<this.cur_sp&&this.log(167772160|n),n>this.cur_sp&&this.log(184549376|n),this.cur_sp=n),this.log(t|16777216)}logInterrupt(t){this.log(t|134217728)}logValue(t,n,a){this.log(t&65535|(n&255)<<16|a)}logRead(t,n){this.logValue(t,n,301989888)}logWrite(t,n){this.logValue(t,n,318767104)}logIORead(t,n){this.logValue(t,n,335544320)}logIOWrite(t,n){this.logValue(t,n,352321536)}logVRAMRead(t,n){this.logValue(t,n,369098752)}logVRAMWrite(t,n){this.logValue(t,n,385875968)}logIllegal(t){this.log(t|150994944)}logWait(t){this.log(t|520093696)}logDMARead(t,n){this.logValue(t,n,402653184)}logDMAWrite(t,n){this.logValue(t,n,419430400)}countEvents(t){for(var n=0,a=0;a<this.idx;a++)(this.buf[a]&4278190080)==t&&n++;return n}countClocks(){for(var t=0,n=0;n<this.idx;n++)(this.buf[n]&4278190080)==0&&(t+=this.buf[n]&65535);return t}};var Be=class{logClocks(){}logNewScanline(){}logNewFrame(){}logExecute(){}logInterrupt(){}logRead(){}logWrite(){}logIORead(){}logIOWrite(){}logVRAMRead(){}logVRAMWrite(){}logIllegal(){}logWait(){}logDMARead(){}logDMAWrite(){}logData(){}addLogBuffer(t){}},ft=class{constructor(){this.inputs=new Uint8Array(32);this.nullProbe=new Be;this.probe=this.nullProbe}setKeyInput(t,n,a){this.handler&&this.handler(t,n,a)}connectProbe(t){this.probe=t||this.nullProbe}reset(){this.cpu.reset()}loadROM(t,n){if(this.rom||(this.rom=new Uint8Array(this.defaultROMSize)),t.length>this.rom.length)throw new Error(`ROM too big: ${t.length} > ${this.rom.length}}`);this.rom.set(t)}loadState(t){this.cpu.loadState(t.c),this.ram.set(t.ram),this.inputs.set(t.inputs)}saveState(){return{c:this.cpu.saveState(),ram:this.ram.slice(0),inputs:this.inputs.slice(0)}}loadControlsState(t){this.inputs.set(t.inputs)}saveControlsState(){return{inputs:this.inputs.slice(0)}}advanceCPU(){var t=this.cpu,n=1;return this.cpu.isStable()&&this.probe.logExecute(this.cpu.getPC(),this.cpu.getSP()),t.advanceClock?t.advanceClock():t.advanceInsn&&(n=t.advanceInsn(1)),this.probe.logClocks(n),n}probeMemoryBus(t){return{read:n=>{let a=t.read(n);return this.probe.logRead(n,a),a},write:(n,a)=>{this.probe.logWrite(n,a),t.write(n,a)},read32:n=>{let a=t.read32(n);return this.probe.logRead(n,a),a},write32:(n,a)=>{this.probe.logWrite(n,a),t.write32(n,a)}}}connectCPUMemoryBus(t){this.cpu.connectMemoryBus(this.probeMemoryBus(t))}probeIOBus(t){return{read:n=>{let a=t.read(n);return this.probe.logIORead(n,a),a},write:(n,a)=>{this.probe.logIOWrite(n,a),t.write(n,a)}}}probeDMABus(t){return{read:n=>{let a=t.read(n);return this.probe.logDMARead(n,a),a},write:(n,a)=>{this.probe.logDMAWrite(n,a),t.write(n,a)}}}connectCPUIOBus(t){this.cpu.connectIOBus(this.probeIOBus(t))}},ct=class extends ft{constructor(){super(...arguments);this.overscan=!1;this.rotate=0}getAudioParams(){return{sampleRate:this.sampleRate,stereo:!1}}connectAudio(n){this.audio=n}getVideoParams(){return{width:this.canvasWidth,height:this.numVisibleScanlines,aspect:this.aspectRatio,overscan:this.overscan,rotate:this.rotate}}connectVideo(n){this.pixels=n}},Nt=class extends ct{advanceFrame(t){this.preFrame();var n=0,a=0;this.probe.logNewFrame(),this.frameCycles=0;for(var m=0;m<this.numTotalScanlines;m++){for(n+=this.cpuCyclesPerLine,this.scanline=m,this.startScanline();this.frameCycles<n;){if(t&&t()){m=999;break}this.frameCycles+=this.advanceCPU(),a++}this.drawScanline(),this.probe.logNewScanline(),this.probe.logClocks(Math.floor(this.frameCycles-n))}return this.postFrame(),a}preFrame(){}postFrame(){}getRasterY(){return this.scanline}getRasterX(){return this.frameCycles%this.cpuCyclesPerLine}};var yt=["nop","ld bc,xx","ld (bc),a","inc bc","inc b","dec b","ld b,x","rlca","ex af,af'","add hl,bc","ld a,(bc)","dec bc","inc c","dec c","ld c,x","rrca","djnz x","ld de,xx","ld (de),a","inc de","inc d","dec d","ld d,x","rla","jr x","add hl,de","ld a,(de)","dec de","inc e","dec e","ld e,x","rra","jr nz,x","ld hl,xx","ld (xx),hl","inc hl","inc h","dec h","ld h,x","daa","jr z,x","add hl,hl","ld hl,(xx)","dec hl","inc l","dec l","ld l,x","cpl","jr nc,x","ld sp,xx","ld (xx),a","inc sp","inc (hl)","dec (hl)","ld (hl),x","scf","jr c,x","add hl,sp","ld a,(xx)","dec sp","inc a","dec a","ld a,x","ccf","ld b,b","ld b,c","ld b,d","ld b,e","ld b,h","ld b,l","ld b,(hl)","ld b,a","ld c,b","ld c,c","ld c,d","ld c,e","ld c,h","ld c,l","ld c,(hl)","ld c,a","ld d,b","ld d,c","ld d,d","ld d,e","ld d,h","ld d,l","ld d,(hl)","ld d,a","ld e,b","ld e,c","ld e,d","ld e,e","ld e,h","ld e,l","ld e,(hl)","ld e,a","ld h,b","ld h,c","ld h,d","ld h,e","ld h,h","ld h,l","ld h,(hl)","ld h,a","ld l,b","ld l,c","ld l,d","ld l,e","ld l,h","ld l,l","ld l,(hl)","ld l,a","ld (hl),b","ld (hl),c","ld (hl),d","ld (hl),e","ld (hl),h","ld (hl),l","halt","ld (hl),a","ld a,b","ld a,c","ld a,d","ld a,e","ld a,h","ld a,l","ld a,(hl)","ld a,a","add a,b","add a,c","add a,d","add a,e","add a,h","add a,l","add a,(hl)","add a,a","adc a,b","adc a,c","adc a,d","adc a,e","adc a,h","adc a,l","adc a,(hl)","adc a,a","sub b","sub c","sub d","sub e","sub h","sub l","sub (hl)","sub a","sbc a,b","sbc a,c","sbc a,d","sbc a,e","sbc a,h","sbc a,l","sbc a,(hl)","sbc a,a","and b","and c","and d","and e","and h","and l","and (hl)","and a","xor b","xor c","xor d","xor e","xor h","xor l","xor (hl)","xor a","or b","or c","or d","or e","or h","or l","or (hl)","or a","cp b","cp c","cp d","cp e","cp h","cp l","cp (hl)","cp a","ret nz","pop bc","jp nz,xx","jp xx","call nz,xx","push bc","add a,x","rst 00h","ret z","ret","jp z,xx","xxBITxx","call z,xx","call xx","adc a,x","rst 08h","ret nc","pop de","jp nc,xx","out (x),a","call nc,xx","push de","sub x","rst 10h","ret c","exx","jp c,xx","in a,(x)","call c,xx","xxIXxx","sbc a,x","rst 18h","ret po","pop hl","jp po,xx","ex (sp),hl","call po,xx","push hl","and x","rst 20h","ret pe","jp (hl)","jp pe,xx","ex de,hl","call pe,xx","xx80xx","xor x","rst 28h","ret p","pop af","jp p,xx","di","call p,xx","push af","or x","rst 30h","ret m","ld sp,hl","jp m,xx","ei","call m,xx","xxIYxx","cp x","rst 38h"],It=["in b,(c)","out (c),b","sbc hl,bc","ld (xx),bc","neg","retn","im 0","ld i,a","in c,(c)","out (c),c","adc hl,bc","ld bc,(xx)","neg","reti","","ld r,a","in d,(c)","out (c),d","sbc hl,de","ld (xx),de","neg","retn","im 1","ld a,i","in e,(c)","out (c),e","adc hl,de","ld de,(xx)","neg","retn","im 2","ld a,r","in h,(c)","out (c),h","sbc hl,hl","ld (xx),hl","neg","retn","","rrd","in l,(c)","out (c),l","adc hl,hl","ld hl,(xx)","neg","retn","","rld","in f,(c)","out (c),f","sbc hl,sp","ld (xx),sp","neg","retn","","","in a,(c)","out (c),a","adc hl,sp","ld sp,(xx)","neg","reti","","","ldi","cpi","ini","outi","","","","","ldd","cpd","ind","outd","","","","","ldir","cpir","inir","otir","","","","","lddr","cpdr","indr","otdr","","","",""],Lt=["rlc b","rlc c","rlc d","rlc e","rlc h","rlc l","rlc (hl)","rlc a","rrc b","rrc c","rrc d","rrc e","rrc h","rrc l","rrc (hl)","rrc a","rl b","rl c","rl d","rl e","rl h","rl l","rl (hl)","rl a","rr b","rr c","rr d","rr e","rr h","rr l","rr (hl)","rr a","sla b","sla c","sla d","sla e","sla h","sla l","sla (hl)","sla a","sra b","sra c","sra d","sra e","sra h","sra l","sra (hl)","sra a","sll b","sll c","sll d","sll e","sll h","sll l","sll (hl)","sll a","srl b","srl c","srl d","srl e","srl h","srl l","srl (hl)","srl a","bit 0,b","bit 0,c","bit 0,d","bit 0,e","bit 0,h","bit 0,l","bit 0,(hl)","bit 0,a","bit 1,b","bit 1,c","bit 1,d","bit 1,e","bit 1,h","bit 1,l","bit 1,(hl)","bit 1,a","bit 2,b","bit 2,c","bit 2,d","bit 2,e","bit 2,h","bit 2,l","bit 2,(hl)","bit 2,a","bit 3,b","bit 3,c","bit 3,d","bit 3,e","bit 3,h","bit 3,l","bit 3,(hl)","bit 3,a","bit 4,b","bit 4,c","bit 4,d","bit 4,e","bit 4,h","bit 4,l","bit 4,(hl)","bit 4,a","bit 5,b","bit 5,c","bit 5,d","bit 5,e","bit 5,h","bit 5,l","bit 5,(hl)","bit 5,a","bit 6,b","bit 6,c","bit 6,d","bit 6,e","bit 6,h","bit 6,l","bit 6,(hl)","bit 6,a","bit 7,b","bit 7,c","bit 7,d","bit 7,e","bit 7,h","bit 7,l","bit 7,(hl)","bit 7,a","res 0,b","res 0,c","res 0,d","res 0,e","res 0,h","res 0,l","res 0,(hl)","res 0,a","res 1,b","res 1,c","res 1,d","res 1,e","res 1,h","res 1,l","res 1,(hl)","res 1,a","res 2,b","res 2,c","res 2,d","res 2,e","res 2,h","res 2,l","res 2,(hl)","res 2,a","res 3,b","res 3,c","res 3,d","res 3,e","res 3,h","res 3,l","res 3,(hl)","res 3,a","res 4,b","res 4,c","res 4,d","res 4,e","res 4,h","res 4,l","res 4,(hl)","res 4,a","res 5,b","res 5,c","res 5,d","res 5,e","res 5,h","res 5,l","res 5,(hl)","res 5,a","res 6,b","res 6,c","res 6,d","res 6,e","res 6,h","res 6,l","res 6,(hl)","res 6,a","res 7,b","res 7,c","res 7,d","res 7,e","res 7,h","res 7,l","res 7,(hl)","res 7,a","set 0,b","set 0,c","set 0,d","set 0,e","set 0,h","set 0,l","set 0,(hl)","set 0,a","set 1,b","set 1,c","set 1,d","set 1,e","set 1,h","set 1,l","set 1,(hl)","set 1,a","set 2,b","set 2,c","set 2,d","set 2,e","set 2,h","set 2,l","set 2,(hl)","set 2,a","set 3,b","set 3,c","set 3,d","set 3,e","set 3,h","set 3,l","set 3,(hl)","set 3,a","set 4,b","set 4,c","set 4,d","set 4,e","set 4,h","set 4,l","set 4,(hl)","set 4,a","set 5,b","set 5,c","set 5,d","set 5,e","set 5,h","set 5,l","set 5,(hl)","set 5,a","set 6,b","set 6,c","set 6,d","set 6,e","set 6,h","set 6,l","set 6,(hl)","set 6,a","set 7,b","set 7,c","set 7,d","set 7,e","set 7,h","set 7,l","set 7,(hl)","set 7,a"];function st(h,t,n,a,m){var o,d,x,i=[t,n,a,m],Y=!1;switch(d=1,t){case 203:x=Lt[n],d++;break;case 237:n>=64&&n<=127&&(x=It[n-64]),n>=160&&n<=191&&(x=It[n-160+64]),d++;break;case 221:case 253:var y=t==221?"ix":"iy";n==203?(x=Lt[m],i[2]=m,i[3]=a,d++):x=yt[n],x=x.replace(/[(]hl[)]/,"("+y+"+x)"),x=x.replace(/\bhl\b/,y),d++;break;default:x=yt[t];break}if((!x||!x.length)&&(x="??"),/\bxx\b/.test(x))x=x.replace(/\bxx\b/,"$"+$(i[d]+(i[d+1]<<8),4)),d+=2,Y=!0;else if(/\bx\b/.test(x)){if(x.startsWith("j")){var p=n<128?h+2+n:h+2-(256-n);p&=65535,x=x.replace(/\bx\b/,"$"+$(p,4)),Y=!0}else x=x.replace(/\bx\b/,"$"+$(i[d],2));d+=1}return{line:x.toUpperCase(),nbytes:d,isaddr:Y}}function je(){var h,t,n,a,m,o,d,x,i,Y,y=1,p=2,N=4,k=8,G=16,u0=32,A=64,R=128,i0=65534,T=65532,W=65530,f=65528,c=65526,g0=65524,M0=65522,H=0,D0,P,v,V0=[6,0,0,6,6,0,6,6,6,6,6,0,6,6,3,6,0,0,2,4,0,0,5,9,0,2,3,0,3,2,8,6,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,5,5,5,5,0,5,3,6,9,11,0,19,2,0,0,2,2,0,2,2,2,2,2,0,2,2,0,2,2,0,0,2,2,0,2,2,2,2,2,0,2,2,0,2,6,0,0,6,6,0,6,6,6,6,6,0,6,6,3,6,7,0,0,7,7,0,7,7,7,7,7,0,7,7,4,7,2,2,2,4,2,2,2,0,2,2,2,2,4,7,3,0,4,4,4,6,4,4,4,4,4,4,4,4,6,7,5,5,4,4,4,6,4,4,4,4,4,4,4,4,6,7,5,5,5,5,5,7,5,5,5,5,5,5,5,5,7,8,6,6,2,2,2,4,2,2,2,0,2,2,2,2,3,0,3,0,4,4,4,6,4,4,4,4,4,4,4,4,5,5,5,5,4,4,4,6,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,7,5,5,5,5,5,5,5,5,6,6,6,6],t0=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,5,0,4,0,0,0,0,7,0,0,0,0,0,0,0,0,7,0,6,6,0,0,0,7,0,0,0,0,0,0,0,0,7,0,6,6,0,0,0,8,0,0,0,0,0,0,0,0,8,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7],q=[4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8],H0=function(u,r,g){i|=((u^r^g^g>>1)&128)>>6},z=function(u,r,g){i|=((u^r^g^g>>1)&32768)>>14},F=function(){return(t<<8)+n},A0=function(u){t=u>>8&255,n=u&255},x0=function(u){P(--d,u&255)},I=function(u){P(--d,u&255),P(--d,u>>8&255)},U0=function(u){P(--o,u&255)},Y0=function(u){P(--o,u&255),P(--o,u>>8&255)},T0=function(){return v(d++)},w0=function(){return v(d++)*256+v(d++)},Q=function(){return v(o++)},l0=function(){return v(o++)*256+v(o++)},L0=function(u){var r=0;u&128&&(I(x),r+=2),u&64&&(I(o),r+=2),u&32&&(I(m),r+=2),u&16&&(I(a),r+=2),u&8&&(x0(Y),r++),u&4&&(x0(n),r++),u&2&&(x0(t),r++),u&1&&(x0(i),r++),H+=r},b0=function(u){var r=0;u&128&&(Y0(x),r+=2),u&64&&(Y0(d),r+=2),u&32&&(Y0(m),r+=2),u&16&&(Y0(a),r+=2),u&8&&(U0(Y),r++),u&4&&(U0(n),r++),u&2&&(U0(t),r++),u&1&&(U0(i),r++),H+=r},B0=function(u){var r=0;u&1&&(i=T0(),r++),u&2&&(t=T0(),r++),u&4&&(n=T0(),r++),u&8&&(Y=T0(),r++),u&16&&(a=w0(),r+=2),u&32&&(m=w0(),r+=2),u&64&&(o=w0(),r+=2),u&128&&(x=w0(),r+=2),H+=r},W0=function(u){var r=0;u&1&&(i=Q(),r++),u&2&&(t=Q(),r++),u&4&&(n=Q(),r++),u&8&&(Y=Q(),r++),u&16&&(a=l0(),r+=2),u&32&&(m=l0(),r+=2),u&64&&(d=l0(),r+=2),u&128&&(x=l0(),r+=2),H+=r},O0=function(u){switch(u&15){case 0:return F();case 1:return a;case 2:return m;case 3:return o;case 4:return d;case 5:return x;case 8:return t;case 9:return n;case 10:return i;case 11:return Y;default:return null}},F0=function(u,r){switch(u&15){case 0:A0(r);return;case 1:a=r;return;case 2:m=r;return;case 3:o=r;return;case 4:d=r;return;case 5:x=r;return;case 8:t=r;return;case 9:n=r;return;case 10:i=r;return;case 11:Y=r;return;default:return}},p0=function(u,r){var g=u&136;(g==128||g==8)&&(g=0),r?(g=O0(u>>4),F0(u>>4,O0(u)),F0(u,g)):F0(u,O0(u>>4))},c0=function(u){return u>127?u-256:u},a0=function(u){return u>32767?u-65536:u},E=function(){var u=v(x++);return x&=65535,u},w=function(){var u=v(x++);x&=65535;var r=v(x++);return x&=65535,u*256+r},M=function(u){var r=v(u++);u&=65535;var g=v(u++);return u&=65535,r*256+g},f0=function(u,r){P(u++,r>>8&255),u&=65535,P(u,r&255)},Z=function(){var u=E(),r;switch(u&96){case 0:r=a;break;case 32:r=m;break;case 64:r=o;break;case 96:r=d;break}var g=null,s=null,e;if(u&128){switch(u&15){case 0:s=r,g=r+1,H+=2;break;case 1:s=r,g=r+2,H+=3;break;case 2:g=r-1,s=g,H+=2;break;case 3:g=r-2,s=g,H+=3;break;case 4:s=r;break;case 5:s=r+c0(n),H+=1;break;case 6:s=r+c0(t),H+=1;break;case 7:s=0;break;case 8:s=r+c0(E()),H+=1;break;case 9:s=r+a0(w()),H+=4;break;case 10:s=0;break;case 11:H+=4,s=r+F();break;case 12:e=c0(E()),s=x+e,H+=1;break;case 13:e=a0(w()),s=x+e,H+=5;break;case 14:s=0;break;case 15:H+=5,s=w();break}s&=65535,u&16&&(s=v(s)*256+v(s+1&65535),H+=3)}else{var b=u&31;b>15&&(b-=32),s=r+b,H+=1}if(g!==null)switch(u&96){case 0:a=g;break;case 32:m=g;break;case 64:o=g;break;case 96:d=g;break}return s&65535},n0=function(u){i&=~(N|k),u===0&&(i|=N),u&32768&&(i|=k)},L=function(u){return u++,u&=255,i&=~(N|p|k),i|=q[u],(u===0||u==128)&&(i|=p),u},O=function(u){return u--,u&=255,i&=~(N|p|k),i|=q[u],(u===127||u==255)&&(i|=p),u},P0=function(u,r){var g=u-r;return i&=~(y|N|p|k),i|=q[g&255],g&256&&(i|=y),H0(u,r,g),g&255},X=function(u,r){var g=u-r;return i&=~(y|N|p|k),(g&65535)===0&&(i|=N),g&32768&&(i|=k),g&65536&&(i|=y),z(u,r,g),g&65535},r0=function(u,r){var g=u+r;return i&=~(u0|y|N|p|k),i|=q[g&255],g&256&&(i|=y),H0(u,r,g),(g^u^r)&16&&(i|=u0),g&255},C0=function(u,r){var g=u+r;return i&=~(y|N|p|k),(g&65535)===0&&(i|=N),g&32768&&(i|=k),g&65536&&(i|=y),z(u,r,g),g&65535},j=function(u,r){var g=u+r+(i&y);return i&=~(u0|y|N|p|k),i|=q[g&255],g&256&&(i|=y),H0(u,r,g),(g^u^r)&16&&(i|=u0),g&255},m0=function(u,r){var g=u-r-(i&y);return i&=~(y|N|p|k),i|=q[g&255],g&256&&(i|=y),H0(u,r,g),g&255},N0=function(u,r){var g=u-r;i&=~(y|N|p|k),i|=q[g&255],g&256&&(i|=y),H0(u,r,g)},V=function(u,r){var g=u-r;i&=~(y|N|p|k),(g&65535)===0&&(i|=N),g&32768&&(i|=k),g&65536&&(i|=y),z(u,r,g)},e0=function(u){return i&=~(y|N|p|k),u==128&&(i|=p),u=(~u&255)+1,u===0&&(i|=N),u&128&&(i|=k|y),u},s0=function(u){return i&=~(N|y|k),u&1&&(i|=y),u>>=1,u===0&&(i|=N),u&255},_0=function(u){return i&=~(N|y|k),u&1&&(i|=y),u=u&128|u>>1,i|=q[u],u},R0=function(u){var r=u;return i&=~(N|y|k|p),u&128&&(i|=y),u<<=1,i|=q[u],(u^r)&128&&(i|=p),u},X0=function(u){var r=u,g=i&y;return i&=~(N|y|k|p),u&128&&(i|=y),u=u<<1|g,i|=q[u],(u^r)&128&&(i|=p),u},o0=function(u){var r=i&y;return i&=~(N|y|k),u&1&&(i|=y),u=u>>1|r<<7,i|=q[u],u},d0=function(u,r){return i&=~(N|k|p),u^=r,i|=q[u],u},E0=function(u,r){return i&=~(N|k|p),u|=r,i|=q[u],u},k0=function(u,r){return i&=~(N|k|p),u&=r,i|=q[u],u},z0=function(u){return i&=~(N|k|p),u^=255,i|=q[u],i|=y,u},U=function(){return Y*256+E()},K0=function(){var u=H,r=null,g=null,s=x,e=E();switch(H+=V0[e],e){case 0:r=U(),P(r,e0(v(r)));break;case 3:r=U(),P(r,z0(v(r)));break;case 4:r=U(),P(r,s0(v(r)));break;case 6:r=U(),P(r,o0(v(r)));break;case 7:r=U(),P(r,_0(v(r)));break;case 8:r=U(),P(r,R0(v(r)));break;case 9:r=U(),P(r,X0(v(r)));break;case 10:r=U(),P(r,O(v(r)));break;case 12:r=U(),P(r,L(v(r)));break;case 13:r=U(),g=v(r),i&=~(N|k|p),i|=q[g];break;case 14:r=U(),x=r;break;case 15:r=U(),P(r,0),i&=~(y|k|p),i|=N;break;case 18:break;case 19:break;case 22:r=a0(w()),x+=r;break;case 23:r=a0(w()),I(x),x+=r;break;case 25:var b=0,_=t&240,y0=t&15;(y0>9||i&32)&&(b|=6),_>128&&y0>9&&(b|=96),(_>144||i&1)&&(b|=96),r=b+t,i&=~(y|k|N|p),r&256&&(i|=y),t=r&255,i|=q[t];break;case 26:i|=E();break;case 28:i&=E();break;case 29:t=n&128?255:0,n0(F()),i&=~p;break;case 30:g=E(),p0(g,!0);break;case 31:g=E(),p0(g,!1);break;case 32:r=c0(E()),x+=r;break;case 33:r=c0(E());break;case 34:r=c0(E()),i&(y|N)||(x+=r);break;case 35:r=c0(E()),i&(y|N)&&(x+=r);break;case 36:r=c0(E()),i&y||(x+=r);break;case 37:r=c0(E()),i&y&&(x+=r);break;case 38:r=c0(E()),i&N||(x+=r);break;case 39:r=c0(E()),i&N&&(x+=r);break;case 40:r=c0(E()),i&p||(x+=r);break;case 41:r=c0(E()),i&p&&(x+=r);break;case 42:r=c0(E()),i&k||(x+=r);break;case 43:r=c0(E()),i&k&&(x+=r);break;case 44:r=c0(E()),i&k^(i&p)<<2||(x+=r);break;case 45:r=c0(E()),i&k^(i&p)<<2&&(x+=r);break;case 46:r=c0(E()),i&k^(i&p)<<2||i&N||(x+=r);break;case 47:r=c0(E()),(i&k^(i&p)<<2||i&N)&&(x+=r);break;case 48:a=Z(),a===0?i|=N:i&=~N;break;case 49:m=Z(),m===0?i|=N:i&=~N;break;case 50:d=Z();break;case 51:o=Z();break;case 52:L0(E());break;case 53:B0(E());break;case 54:b0(E());break;case 55:W0(E());break;case 57:x=w0();break;case 58:a+=n;break;case 59:i=T0(),i&R&&(H+=9,t=T0(),n=T0(),Y=T0(),a=w0(),m=w0(),o=w0()),x=w0();break;case 60:i&=E();break;case 61:r=t*n,r===0?i|=N:i&=~N,r&128?i|=y:i&=~y,A0(r);break;case 63:i|=R,I(x),I(o),I(m),I(a),x0(Y),x0(n),x0(t),x0(i),i|=G|A,x=M(W);break;case 64:t=e0(t);break;case 67:t=z0(t);break;case 68:t=s0(t);break;case 70:t=o0(t);break;case 71:t=_0(t);break;case 72:t=R0(t);break;case 73:t=X0(t);break;case 74:t=O(t);break;case 76:t=L(t);break;case 77:i&=~(N|k|p),i|=q[t];break;case 79:t=0,i&=~(k|p|y),i|=N;break;case 80:n=e0(n);break;case 83:n=z0(n);break;case 84:n=s0(n);break;case 86:n=o0(n);break;case 87:n=_0(n);break;case 88:n=R0(n);break;case 89:n=X0(n);break;case 90:n=O(n);break;case 92:n=L(n);break;case 93:i&=~(N|k|p),i|=q[n];break;case 95:n=0,i&=~(k|p|y),i|=N;break;case 96:r=Z(),P(r,e0(v(r)));break;case 99:r=Z(),P(r,z0(v(r)));break;case 100:r=Z(),P(r,s0(v(r)));break;case 102:r=Z(),P(r,o0(v(r)));break;case 103:r=Z(),P(r,_0(v(r)));break;case 104:r=Z(),P(r,R0(v(r)));break;case 105:r=Z(),P(r,X0(v(r)));break;case 106:r=Z(),P(r,O(v(r)));break;case 108:r=Z(),P(r,L(v(r)));break;case 109:r=Z(),g=v(r),i&=~(N|k|p),i|=q[g];break;case 110:r=Z(),x=r;break;case 111:r=Z(),P(r,0),i&=~(y|k|p),i|=N;break;case 112:r=w(),P(r,e0(v(r)));break;case 115:r=w(),P(r,z0(v(r)));break;case 116:r=w(),P(r,s0(v(r)));break;case 118:r=w(),P(r,o0(v(r)));break;case 119:r=w(),P(r,_0(v(r)));break;case 120:r=w(),P(r,R0(v(r)));break;case 121:r=w(),P(r,X0(v(r)));break;case 122:r=w(),P(r,O(v(r)));break;case 124:r=w(),P(r,L(v(r)));break;case 125:r=w(),g=v(r),i&=~(N|k|p),i|=q[g];break;case 126:r=w(),x=r;break;case 127:r=w(),P(r,0),i&=~(y|k|p),i|=N;break;case 128:t=P0(t,E());break;case 129:N0(t,E());break;case 130:t=m0(t,E());break;case 131:A0(X(F(),w()));break;case 132:t=k0(t,E());break;case 133:k0(t,E());break;case 134:t=E(),i&=~(N|k|p),i|=q[t];break;case 136:t=d0(t,E());break;case 137:t=j(t,E());break;case 138:t=E0(t,E());break;case 139:t=r0(t,E());break;case 140:V(a,w());break;case 141:r=c0(E()),I(x),x+=r;break;case 142:a=w(),n0(a),i&=~p;break;case 144:r=U(),t=P0(t,v(r));break;case 145:r=U(),N0(t,v(r));break;case 146:r=U(),t=m0(t,v(r));break;case 147:r=U(),A0(X(F(),M(r)));break;case 148:r=U(),t=k0(t,v(r));break;case 149:r=U(),k0(t,v(r));break;case 150:r=U(),t=v(r),i&=~(N|k|p),i|=q[t];break;case 151:r=U(),P(r,t),i&=~(N|k|p),i|=q[t];break;case 152:r=U(),t=d0(t,v(r));break;case 153:r=U(),t=j(t,v(r));break;case 154:r=U(),t=E0(t,v(r));break;case 155:r=U(),t=r0(t,v(r));break;case 156:r=U(),V(a,M(r));break;case 157:r=U(),I(x),x=r;break;case 158:r=U(),a=M(r),n0(a),i&=~p;break;case 159:r=U(),f0(r,a),n0(a),i&=~p;break;case 160:r=Z(),t=P0(t,v(r));break;case 161:r=Z(),N0(t,v(r));break;case 162:r=Z(),t=m0(t,v(r));break;case 163:r=Z(),A0(X(F(),M(r)));break;case 164:r=Z(),t=k0(t,v(r));break;case 165:r=Z(),k0(t,v(r));break;case 166:r=Z(),t=v(r),i&=~(N|k|p),i|=q[t];break;case 167:r=Z(),P(r,t),i&=~(N|k|p),i|=q[t];break;case 168:r=Z(),t=d0(t,v(r));break;case 169:r=Z(),t=j(t,v(r));break;case 170:r=Z(),t=E0(t,v(r));break;case 171:r=Z(),t=r0(t,v(r));break;case 172:r=Z(),V(a,M(r));break;case 173:r=Z(),I(x),x=r;break;case 174:r=Z(),a=M(r),n0(a),i&=~p;break;case 175:r=Z(),f0(r,a),n0(a),i&=~p;break;case 176:r=w(),t=P0(t,v(r));break;case 177:r=w(),N0(t,v(r));break;case 178:r=w(),t=m0(t,v(r));break;case 179:r=w(),A0(X(F(),M(r)));break;case 180:r=w(),t=k0(t,v(r));break;case 181:r=w(),k0(t,v(r));break;case 182:r=w(),t=v(r),i&=~(N|k|p),i|=q[t];break;case 183:r=w(),P(r,t),i&=~(N|k|p),i|=q[t];break;case 184:r=w(),t=d0(t,v(r));break;case 185:r=w(),t=j(t,v(r));break;case 186:r=w(),t=E0(t,v(r));break;case 187:r=w(),t=r0(t,v(r));break;case 188:r=w(),V(a,M(r));break;case 189:r=w(),I(x),x=r;break;case 190:r=w(),a=M(r),n0(a),i&=~p;break;case 191:r=w(),f0(r,a),n0(a),i&=~p;break;case 192:n=P0(n,E());break;case 193:N0(n,E());break;case 194:n=m0(n,E());break;case 195:A0(C0(F(),w()));break;case 196:n=k0(n,E());break;case 197:k0(n,E());break;case 198:n=E(),i&=~(N|k|p),i|=q[n];break;case 200:n=d0(n,E());break;case 201:n=j(n,E());break;case 202:n=E0(n,E());break;case 203:n=r0(n,E());break;case 204:r=w(),A0(r),n0(r),i&=~p;break;case 206:o=w(),n0(o),i&=~p;break;case 208:r=U(),n=P0(n,v(r));break;case 209:r=U(),N0(n,v(r));break;case 210:r=U(),n=m0(n,v(r));break;case 211:r=U(),A0(C0(F(),M(r)));break;case 212:r=U(),n=k0(n,v(r));break;case 213:r=U(),k0(n,v(r));break;case 214:r=U(),n=v(r),i&=~(N|k|p),i|=q[n];break;case 215:r=U(),P(r,n),i&=~(N|k|p),i|=q[n];break;case 216:r=U(),n=d0(n,v(r));break;case 217:r=U(),n=j(n,v(r));break;case 218:r=U(),n=E0(n,v(r));break;case 219:r=U(),n=r0(n,v(r));break;case 220:r=U(),g=M(r),A0(g),n0(g),i&=~p;break;case 221:r=U(),f0(r,F()),i&=~p;break;case 222:r=U(),o=M(r),n0(o),i&=~p;break;case 223:r=U(),f0(r,o),n0(o),i&=~p;break;case 224:r=Z(),n=P0(n,v(r));break;case 225:r=Z(),N0(n,v(r));break;case 226:r=Z(),n=m0(n,v(r));break;case 227:r=Z(),A0(C0(F(),M(r)));break;case 228:r=Z(),n=k0(n,v(r));break;case 229:r=Z(),k0(n,v(r));break;case 230:r=Z(),n=v(r),i&=~(N|k|p),i|=q[n];break;case 231:r=Z(),P(r,n),i&=~(N|k|p),i|=q[n];break;case 232:r=Z(),n=d0(n,v(r));break;case 233:r=Z(),n=j(n,v(r));break;case 234:r=Z(),n=E0(n,v(r));break;case 235:r=Z(),n=r0(n,v(r));break;case 236:r=Z(),g=M(r),A0(g),n0(g),i&=~p;break;case 237:r=Z(),f0(r,F()),i&=~p;break;case 238:r=Z(),o=M(r),n0(o),i&=~p;break;case 239:r=Z(),f0(r,o),n0(o),i&=~p;break;case 240:r=w(),n=P0(n,v(r));break;case 241:r=w(),N0(n,v(r));break;case 242:r=w(),n=m0(n,v(r));break;case 243:r=w(),A0(C0(F(),M(r)));break;case 244:r=w(),n=k0(n,v(r));break;case 245:r=w(),k0(n,v(r));break;case 246:r=w(),n=v(r),i&=~(N|k|p),i|=q[n];break;case 247:r=w(),P(r,n),i&=~(N|k|p),i|=q[n];break;case 248:r=w(),n=d0(n,v(r));break;case 249:r=w(),n=j(n,v(r));break;case 250:r=w(),n=E0(n,v(r));break;case 251:r=w(),n=r0(n,v(r));break;case 252:r=w(),g=M(r),A0(g),n0(g),i&=~p;break;case 253:r=w(),f0(r,F()),i&=~p;break;case 254:r=w(),o=M(r),n0(o),i&=~p;break;case 255:r=w(),f0(r,o),n0(o),i&=~p;break;case 16:switch(e=E(),H+=t0[e],e){case 33:r=a0(w());break;case 34:r=a0(w()),i&(y|N)||(x+=r);break;case 35:r=a0(w()),i&(y|N)&&(x+=r);break;case 36:r=a0(w()),i&y||(x+=r);break;case 37:r=a0(w()),i&y&&(x+=r);break;case 38:r=a0(w()),i&N||(x+=r);break;case 39:r=a0(w()),i&N&&(x+=r);break;case 40:r=a0(w()),i&p||(x+=r);break;case 41:r=a0(w()),i&p&&(x+=r);break;case 42:r=a0(w()),i&k||(x+=r);break;case 43:r=a0(w()),i&k&&(x+=r);break;case 44:r=a0(w()),i&k^(i&p)<<2||(x+=r);break;case 45:r=a0(w()),i&k^(i&p)<<2&&(x+=r);break;case 46:r=a0(w()),i&k^(i&p)<<2||i&N||(x+=r);break;case 47:r=a0(w()),(i&k^(i&p)<<2||i&N)&&(x+=r);break;case 63:i|=R,I(x),I(o),I(m),I(a),x0(Y),x0(n),x0(t),x0(i),i|=G|A,x=M(g0);break;case 131:V(F(),w());break;case 140:V(m,w());break;case 142:m=w(),n0(m),i&=~p;break;case 147:r=U(),V(F(),M(r));break;case 156:r=U(),V(m,M(r));break;case 158:r=U(),m=M(r),n0(m),i&=~p;break;case 159:r=U(),f0(r,m),n0(m),i&=~p;break;case 163:r=Z(),V(F(),M(r));break;case 172:r=Z(),V(m,M(r));break;case 174:r=Z(),m=M(r),n0(m),i&=~p;break;case 175:r=Z(),f0(r,m),n0(m),i&=~p;break;case 179:r=w(),V(F(),M(r));break;case 188:r=w(),V(m,M(r));break;case 190:r=w(),m=M(r),n0(m),i&=~p;break;case 191:r=w(),f0(r,m),n0(m),i&=~p;break;case 206:d=w(),n0(d),i&=~p;break;case 222:r=U(),d=M(r),n0(d),i&=~p;break;case 223:r=U(),f0(r,d),n0(d),i&=~p;break;case 238:r=Z(),d=M(r),n0(d),i&=~p;break;case 239:r=Z(),f0(r,d),n0(d),i&=~p;break;case 254:r=w(),d=M(r),n0(d),i&=~p;break;case 255:r=w(),f0(r,d),n0(d),i&=~p;break}break;case 17:switch(e=E(),H+=t0[e],e){case 63:i|=R,I(x),I(o),I(m),I(a),x0(Y),x0(n),x0(t),x0(i),i|=G|A,x=M(M0);break;case 131:V(o,w());break;case 140:V(d,w());break;case 147:r=U(),V(o,M(r));break;case 156:r=U(),V(d,M(r));break;case 163:r=Z(),V(o,M(r));break;case 172:r=Z(),V(d,M(r));break;case 179:r=w(),V(o,M(r));break;case 188:r=w(),V(d,M(r));break}break}return t&=255,n&=255,i&=255,Y&=255,a&=65535,m&=65535,o&=65535,d&=65535,x&=65535,H-u},G0=function(){x=M(i0),Y=0,i|=A|G,H=0,t=n=Y=a=m=o=d=0},q0=[[2,1,"NEG"],[1,0,"???"],[1,0,"???"],[2,1,"COM"],[2,1,"LSR"],[1,0,"???"],[2,1,"ROR"],[2,1,"ASR"],[2,1,"LSL"],[2,1,"ROL"],[2,1,"DEC"],[1,0,"???"],[2,1,"INC"],[2,1,"TST"],[2,1,"JMP"],[2,1,"CLR"],[1,0,"Prefix"],[1,0,"Prefix"],[1,2,"NOP"],[1,2,"SYNC"],[1,0,"???"],[1,0,"???"],[3,3,"LBRA"],[3,3,"LBSR"],[1,0,"???"],[1,2,"DAA"],[2,4,"ORCC"],[1,0,"???"],[2,4,"ANDCC"],[1,2,"SEX"],[2,20,"EXG"],[2,20,"TFR"],[2,5,"BRA"],[2,5,"BRN"],[2,5,"BHI"],[2,5,"BLS"],[2,5,"BCC"],[2,5,"BCS"],[2,5,"BNE"],[2,5,"BEQ"],[2,5,"BVC"],[2,5,"BVS"],[2,5,"BPL"],[2,5,"BMI"],[2,5,"BGE"],[2,5,"BLT"],[2,5,"BGT"],[2,5,"BLE"],[2,6,"LEAX"],[2,6,"LEAY"],[2,6,"LEAS"],[2,6,"LEAU"],[2,10,"PSHS"],[2,10,"PULS"],[2,11,"PSHU"],[2,11,"PULU"],[1,0,"???"],[1,2,"RTS"],[1,2,"ABX"],[1,2,"RTI"],[2,2,"CWAI"],[1,2,"MUL"],[1,2,"RESET"],[1,2,"SWI1"],[1,2,"NEGA"],[1,0,"???"],[1,0,"???"],[1,2,"COMA"],[1,2,"LSRA"],[1,0,"???"],[1,2,"RORA"],[1,2,"ASRA"],[1,2,"ASLA"],[1,2,"ROLA"],[1,2,"DECA"],[1,0,"???"],[1,2,"INCA"],[1,2,"TSTA"],[1,0,"???"],[1,2,"CLRA"],[1,2,"NEGB"],[1,0,"???"],[1,0,"???"],[1,2,"COMB"],[1,2,"LSRB"],[1,0,"???"],[1,2,"RORB"],[1,2,"ASRB"],[1,2,"ASLB"],[1,2,"ROLB"],[1,2,"DECB"],[1,0,"???"],[1,2,"INCB"],[1,2,"TSTB"],[1,0,"???"],[1,2,"CLRB"],[2,6,"NEG"],[1,0,"???"],[1,0,"???"],[2,6,"COM"],[2,6,"LSR"],[1,0,"???"],[2,6,"ROR"],[2,6,"ASR"],[2,6,"LSL"],[2,6,"ROL"],[2,6,"DEC"],[1,0,"???"],[2,6,"INC"],[2,6,"TST"],[2,6,"JMP"],[2,6,"CLR"],[3,7,"NEG"],[1,0,"???"],[1,0,"???"],[3,7,"COM"],[3,7,"LSR"],[1,0,"???"],[3,7,"ROR"],[3,7,"ASR"],[3,7,"LSL"],[3,7,"ROL"],[3,7,"DEC"],[1,0,"???"],[3,7,"INC"],[3,7,"TST"],[3,7,"JMP"],[3,7,"CLR"],[2,4,"SUBA"],[2,4,"CMPA"],[2,4,"SBCA"],[3,8,"SUBD"],[2,4,"ANDA"],[2,4,"BITA"],[2,4,"LDA"],[1,0,"???"],[2,4,"EORA"],[2,4,"ADCA"],[2,4,"ORA"],[2,4,"ADDA"],[3,8,"CMPX"],[2,5,"BSR"],[3,8,"LDX"],[1,0,"???"],[2,1,"SUBA"],[2,1,"CMPA"],[2,1,"SBCA"],[2,1,"SUBd"],[2,1,"ANDA"],[2,1,"BITA"],[2,1,"LDA"],[2,1,"STA"],[2,1,"EORA"],[2,1,"ADCA"],[2,1,"ORA"],[2,1,"ADDA"],[2,1,"CMPX"],[2,1,"JSR"],[2,1,"LDX"],[2,1,"STX"],[2,6,"SUBA"],[2,6,"CMPA"],[2,6,"SBCA"],[2,6,"SUBD"],[2,6,"ANDA"],[2,6,"BITA"],[2,6,"LDA"],[2,6,"STA"],[2,6,"EORA"],[2,6,"ADCA"],[2,6,"ORA"],[2,6,"ADDA"],[2,6,"CMPX"],[2,6,"JSR"],[2,6,"LDX"],[2,6,"STX"],[3,7,"SUBA"],[3,7,"CMPA"],[3,7,"SBCA"],[3,7,"SUBD"],[3,7,"ANDA"],[3,7,"BITA"],[3,7,"LDA"],[3,7,"STA"],[3,7,"EORA"],[3,7,"ADCA"],[3,7,"ORA"],[3,7,"ADDA"],[3,7,"CMPX"],[3,7,"JSR"],[3,7,"LDX"],[3,7,"STX"],[2,4,"SUBB"],[2,4,"CMPB"],[2,4,"SBCB"],[3,8,"ADDD"],[2,4,"ANDB"],[2,4,"BITB"],[2,4,"LDB"],[1,0,"???"],[2,4,"EORB"],[2,4,"ADCB"],[2,4,"ORB"],[2,4,"ADDB"],[3,8,"LDD"],[1,0,"???"],[3,8,"LDU"],[1,0,"???"],[2,1,"SUBB"],[2,1,"CMPB"],[2,1,"SBCB"],[2,1,"ADDD"],[2,1,"ANDB"],[2,1,"BITB"],[2,1,"LDB"],[2,1,"STB"],[2,1,"EORB"],[2,1,"ADCB"],[2,1,"ORB "],[2,1,"ADDB"],[2,1,"LDD "],[2,1,"STD "],[2,1,"LDU "],[2,1,"STU "],[2,6,"SUBB"],[2,6,"CMPB"],[2,6,"SBCB"],[2,6,"ADDD"],[2,6,"ANDB"],[2,6,"BITB"],[2,6,"LDB"],[2,6,"STB"],[2,6,"EORB"],[2,6,"ADCB"],[2,6,"ORB"],[2,6,"ADDB"],[2,6,"LDD"],[2,6,"STD"],[2,6,"LDU"],[2,6,"STU"],[3,7,"SUBB"],[3,7,"CMPB"],[3,7,"SBCB"],[3,7,"ADDD"],[3,7,"ANDB"],[3,7,"BITB"],[3,7,"LDB"],[3,7,"STB"],[3,7,"EORB"],[3,7,"ADCB"],[3,7,"ORB"],[3,7,"ADDB"],[3,7,"LDD"],[3,7,"STD"],[3,7,"LDU"],[3,7,"STU"]],S={63:[2,2,"SWI3"],131:[4,8,"CMPU"],140:[4,8,"CMPS"],147:[3,1,"CMPU"],156:[3,1,"CMPS"],163:[3,6,"CMPU"],172:[3,6,"CMPS"],179:[4,7,"CMPU"],188:[4,7,"CMPS"]},B={33:[5,3,"LBRN"],34:[5,3,"LBHI"],35:[5,3,"LBLS"],36:[5,3,"LBCC"],37:[5,3,"LBCS"],38:[5,3,"LBNE"],39:[5,3,"LBEQ"],40:[5,3,"LBVC"],41:[5,3,"LBVS"],42:[5,3,"LBPL"],43:[5,3,"LBMI"],44:[5,3,"LBGE"],45:[5,3,"LBLT"],46:[5,3,"LBGT"],47:[5,3,"LBLE"],63:[2,2,"SWI2"],131:[4,8,"CMPD"],140:[4,8,"CMPY"],142:[4,8,"LDY"],147:[3,1,"CMPD"],156:[3,1,"CMPY"],158:[3,1,"LDY"],159:[3,1,"STY"],163:[3,6,"CMPD"],172:[3,6,"CMPY"],174:[3,6,"LDY"],175:[3,6,"STY"],179:[4,7,"CMPD"],188:[4,7,"CMPY"],190:[4,7,"LDY"],191:[4,7,"STY"],206:[4,8,"LDS"],222:[3,1,"LDS"],223:[3,1,"STS"],238:[3,6,"LDS"],239:[3,6,"STS"],254:[4,7,"LDS"],255:[4,7,"STS"]},D=function(u,r,g,s,e,b){var _=function(ue,Qe){for(var Pe=ue.toString(16);Pe.length<Qe;)Pe="0"+Pe;return Pe.toUpperCase()},y0=function(ue){return _(ue&255,2)},$0=function(ue){return _(ue,4)},I0,ne,Q0,ee=q0[u];if(u===16){if(ee=B[r],ee===void 0)return["???",2];u=r,r=g,g=s,s=e}if(u===17){if(ee=S[r],ee===void 0)return["???",2];u=r,r=g,g=s,s=e}var j0=ee[0],Je=ee[1],J=ee[2];switch(Je){case 0:break;case 1:J+=" $"+y0(r);break;case 2:break;case 3:J+=" #$"+$0(r*256+g<32768?r*256+g+b:r*256+g+b-65536);break;case 4:J+=" #$"+y0(r);break;case 5:J+=" #$"+$0(r<128?r+b+2:r+b-254);break;case 6:J+=" ";var xe=r,Z0=["X","Y","U","S"][(xe&96)>>5];if(!(xe&128)){var ve=xe&31;ve>15&&(ve=ve-32),J+=ve+","+Z0;break}var Ge=xe&16,Oe=xe&15,ge=g>127?g-256:g,pe=g*256+s>32767?g*256+s-65536:g*256+s;if(Ge)switch(Oe){case 0:J+="???";break;case 1:J+="[,"+Z0+"++]";break;case 2:J+="???";break;case 3:J+="[,--"+Z0+"]";break;case 4:J+="[,"+Z0+"]";break;case 5:J+="[B,"+Z0+"]";break;case 6:J+="[A,"+Z0+"]";break;case 7:J+="???";break;case 8:J+="["+ge+","+Z0+"]",j0++;break;case 9:J+="["+pe+","+Z0+"]",j0+=2;break;case 10:J+="???";break;case 11:J+="[D,"+Z0+"]";break;case 12:J+="["+ge+",PC]",j0++;break;case 13:J+="["+pe+",PC]",j0+=2;break;case 14:J+="???";break;case 15:J+="[$"+$0(g*256+s)+"]",j0+=2;break}else switch(Oe){case 0:J+=","+Z0+"+";break;case 1:J+=","+Z0+"++";break;case 2:J+=",-"+Z0;break;case 3:J+=",--"+Z0;break;case 4:J+=","+Z0;break;case 5:J+="B,"+Z0;break;case 6:J+="A,"+Z0;break;case 7:J+="???";break;case 8:J+=ge+","+Z0,j0++;break;case 9:J+=pe+","+Z0,j0+=2;break;case 10:J+="???";break;case 11:J+="D,"+Z0;break;case 12:J+=ge+",PC",j0++;break;case 13:J+=pe+",PC",j0+=2;break;case 14:J+="???";break;case 15:J+="$"+$0(g*256+s),j0+=2;break}break;case 7:J+=" $"+$0(r*256+g);break;case 8:J+=" #$"+$0(r*256+g);break;case 10:for(I0=["PC","U","Y","X","DP","B","A","CC"],ne=[],Q0=0;Q0<8;Q0++)(r&1)!==0&&ne.push(I0[7-Q0]),r>>=1;J+=" "+ne.join(",");break;case 11:for(I0=["PC","S","Y","X","DP","B","A","CC"],ne=[],Q0=0;Q0<8;Q0++)(r&1)!==0&&ne.push(I0[7-Q0]),r>>=1;J+=" "+ne.join(",");break;case 20:I0=["D","X","Y","U","S","PC","?","?","A","B","CC","DP","?","?","?","?"],J+=" "+I0[r>>4]+","+I0[r&15];break}return{line:J,nbytes:j0}};return{steps:function(u){for(;u>0;)u-=K0()},runFrame:function(u){for(;H<u;)K0()},advanceInsn:function(){return K0()},T:function(){return H},getTstates:function(){return H},setTstates:function(u){H=u},reset:G0,init:function(u,r,g){P=u,v=r,h=g,G0()},getPC:function(){return x},getSP:function(){return d},saveState:function(){return{PC:x,SP:d,U:o,A:t,B:n,X:a,Y:m,DP:Y,CC:i,T:H}},loadState:function(u){x=u.PC,d=u.SP,o=u.U,t=u.A,n=u.B,a=u.X,m=u.Y,Y=u.DP,i=u.CC,H=u.T},firq:function(){i&A||(I(x),i&=~R,x0(i),i|=G|A,x=M(c),H+=9)},interrupt:function(){i&G||(I(x),I(o),I(m),I(a),x0(Y),x0(n),x0(t),i|=R,x0(i),i|=G,x=M(f),H+=18)},nmi:function(){I(x),I(o),I(m),I(a),x0(Y),x0(n),x0(t),i|=R,x0(i),i|=G|A,x=M(T),H+=18},set:function(u,r){switch(u.toUpperCase()){case"PC":x=r;return;case"A":t=r;return;case"B":n=r;return;case"X":a=r;return;case"Y":m=r;return;case"SP":d=r;return;case"U":o=r;return;case"FLAGS":i=r;return}},flagsToString:function(){for(var u="",r="EFHINZVC",g=0;g<8;g++){var s=i&128>>g;s===0?u+=r[g].toLowerCase():u+=r[g]}return u},disasm:D,isStable:function(){return!0}}}var ot=function(){var h=this;this.powerOn=function(){this.reset()},this.powerOff=function(){},this.clockPulse=function(){n&&(G++,A[G]())},this.connectBus=function(l){t=l},this.setRDY=function(l){n=l},this.isRDY=function(){return n},this.reset=function(){p=1,G=-1,A=[z],a=t.read(H)|t.read(H+1)<<8,this.setRDY(!0)};var t,n=!1,a=0,m=0,o=0,d=0,x=0,i=0,Y=0,y=0,p=0,N=0,k=0,G=-1,u0=-1,A,R=0,i0=0,T=0,W=!1,f=0,c=0,g0=0;let M0=65530,H=65532,D0=65534,P=0,v=1,V0=7,t0=6,q=1,H0=0;this.debug=!1,this.trace=!1;var z=function(){u0=t.read(a),A=e[u0],G=0,a++},F=z,A0=function(){t.read(a)},x0=function(){c=t.read(a),a++},I=function(){i0=t.read(a),a++},U0=function(){i0|=t.read(a)<<8,a++},Y0=function(){i0=t.read(T)},T0=function(){i0|=t.read(T)<<8},w0=function(){T=t.read(a),a++},Q=function(){T|=t.read(a)<<8,a++},l0=function(){T=t.read(f)},L0=function(){T|=t.read(f)<<8},b0=function(){var l=(T&255)+d;W=l>255,T=T&65280|l&255},B0=function(){var l=(T&255)+x;W=l>255,T=T&65280|l&255},W0=function(){var l=(T&255)+1;W=l>255,T=T&65280|l&255},O0=function(){W&&(T=T+256&65535)},F0=function(){f=t.read(a),a++},p0=function(){f|=t.read(a)<<8,a++},c0=function(){var l=(f&255)+1;f=f&65280|l&255},a0=function(){R=t.read(a),a++},E=function(){R=t.read(i0)},w=function(){R=t.read(T)},M=function(){t.write(i0,R)},f0=function(){t.write(T,R)},Z=function(){var l=a&255,C=l+c&255;c>127?g0=C>l?-256:0:g0=C<l?256:0,a=a&65280|C},n0=function(){a=a+g0&65535},L=function(l){N=l===0?1:0},O=function(l){i=l&128?1:0},P0=function(l){Y=l?1:0},X=function(l){k=l?1:0},r0=function(){return m=m+1&255,t.read(256+m)},C0=function(){return t.read(256+m)},j=function(l){t.write(256+m,l),m=m-1&255},m0=function(){return i<<7|Y<<6|48|y<<3|p<<2|N<<1|k},N0=function(l){i=l>>>7,Y=l>>>6&1,y=l>>>3&1,p=l>>>2&1,N=l>>>1&1,k=l&1},V=function(l){h.debug&&h.breakpoint("Illegal Opcode: "+l)},e0=function(l){return[z,A0,function(){l(),F()}]},s0=function(l){return[z,a0,function(){l(),F()}]},_0=function(l){return[z,I,E,function(){l(),F()}]},R0=function(l){return[z,I,U0,E,function(){l(),F()}]},X0=function(l){return[z,w0,w,function(){b0(),Y0()},function(){W0(),T0()},E,function(){l(),F()}]},o0=function(l){var C=l===P?b0:B0;return function(K){return[z,w0,Q,function(){C(),w(),O0()},function(){W?w():(K(),F())},function(){K(),F()}]}},d0=function(l){var C=l===P?b0:B0;return function(K){return[z,w0,w,function(){C(),w()},function(){K(),F()}]}},E0=function(l){return[z,F0,l0,function(){c0(),L0()},function(){B0(),w(),O0()},function(){W?w():(l(),F())},function(){l(),F()}]},k0=function(l){return[z,I,function(){l(),M()},F]},z0=function(l){return[z,I,U0,function(){l(),M()},F]},U=function(l){return[z,w0,w,function(){b0(),Y0()},function(){W0(),T0()},function(){l(),M()},F]},K0=function(l){var C=l===P?b0:B0;return function(K){return[z,w0,Q,function(){C(),w(),O0()},function(){K(),f0()},F]}},G0=function(l){var C=l===P?b0:B0;return function(K){return[z,w0,w,function(){C(),K(),f0()},F]}},q0=function(l){return[z,F0,l0,function(){c0(),L0()},function(){B0(),w(),O0()},function(){l(),f0()},F]},S=function(l){return[z,I,E,M,function(){l(),M()},F]},B=function(l){return[z,I,U0,E,M,function(){l(),M()},F]},D=function(l){var C=l===P?b0:B0;return function(K){return[z,w0,w,function(){C(),w()},f0,function(){K(),f0()},F]}},u=function(l){var C=l===P?b0:B0;return function(K){return[z,w0,Q,function(){C(),w(),O0()},w,f0,function(){K(),f0()},F]}},r=function(l){return[z,w0,w,function(){b0(),Y0()},function(){W0(),T0()},E,M,function(){l(),M()},F]},g=function(l){return[z,F0,l0,function(){c0(),L0()},function(){B0(),w(),O0()},w,f0,function(){l(),f0()},F]},s=new Array(256),e=new Array(256);s[0]="BRK",e[0]=xn(),s[1]="ORA",e[1]=se(X0),s[2]="uKIL",e[2]=J0(),s[3]="uSLO",e[3]=Ae(r),s[4]="uNOP",e[4]=v0(_0),s[5]="ORA",e[5]=se(_0),s[6]="ASL",e[6]=Ze(S),s[7]="uSLO",e[7]=Ae(S),s[8]="PHP",e[8]=fn(),s[9]="ORA",e[9]=se(s0),s[10]="ASL",e[10]=b(),s[11]="uANC",e[11]=At(s0),s[12]="uNOP",e[12]=v0(R0),s[13]="ORA",e[13]=se(R0),s[14]="ASL",e[14]=Ze(B),s[15]="uSLO",e[15]=Ae(B),s[16]="BPL",e[16]=oe(V0,0),s[17]="ORA",e[17]=se(E0),s[18]="uKIL",e[18]=J0(),s[19]="uSLO",e[19]=Ae(g),s[20]="uNOP",e[20]=v0(d0(P)),s[21]="ORA",e[21]=se(d0(P)),s[22]="ASL",e[22]=Ze(D(P)),s[23]="uSLO",e[23]=Ae(D(P)),s[24]="CLC",e[24]=_(),s[25]="ORA",e[25]=se(o0(v)),s[26]="uNOP",e[26]=v0(e0),s[27]="uSLO",e[27]=Ae(u(v)),s[28]="uNOP",e[28]=v0(o0(P)),s[29]="ORA",e[29]=se(o0(P)),s[30]="ASL",e[30]=Ze(u(P)),s[31]="uSLO",e[31]=Ae(u(P)),s[32]="JSR",e[32]=on(),s[33]="AND",e[33]=ae(X0),s[34]="uKIL",e[34]=J0(),s[35]="uRLA",e[35]=de(r),s[36]="BIT",e[36]=ht(_0),s[37]="AND",e[37]=ae(_0),s[38]="ROL",e[38]=Ue(S),s[39]="uRLA",e[39]=de(S),s[40]="PLP",e[40]=sn(),s[41]="AND",e[41]=ae(s0),s[42]="ROL",e[42]=xe(),s[43]="uANC",e[43]=At(s0),s[44]="BIT",e[44]=ht(R0),s[45]="AND",e[45]=ae(R0),s[46]="ROL",e[46]=Ue(B),s[47]="uRLA",e[47]=de(B),s[48]="BMI",e[48]=oe(V0,1),s[49]="AND",e[49]=ae(E0),s[50]="uKIL",e[50]=J0(),s[51]="uRLA",e[51]=de(g),s[52]="uNOP",e[52]=v0(d0(P)),s[53]="AND",e[53]=ae(d0(P)),s[54]="ROL",e[54]=Ue(D(P)),s[55]="uRLA",e[55]=de(D(P)),s[56]="SEC",e[56]=ve(),s[57]="AND",e[57]=ae(o0(v)),s[58]="uNOP",e[58]=v0(e0),s[59]="uRLA",e[59]=de(u(v)),s[60]="uNOP",e[60]=v0(o0(P)),s[61]="AND",e[61]=ae(o0(P)),s[62]="ROL",e[62]=Ue(u(P)),s[63]="uRLA",e[63]=de(u(P)),s[64]="RTI",e[64]=ln(),s[65]="EOR",e[65]=fe(X0),s[66]="uKIL",e[66]=J0(),s[67]="uSRE",e[67]=Ce(r),s[68]="uNOP",e[68]=v0(_0),s[69]="EOR",e[69]=fe(_0),s[70]="LSR",e[70]=Fe(S),s[71]="uSRE",e[71]=Ce(S),s[72]="PHA",e[72]=an(),s[73]="EOR",e[73]=fe(s0),s[74]="LSR",e[74]=Je(),s[75]="uASR",e[75]=Gt(s0),s[76]="JMP",e[76]=dn(),s[77]="EOR",e[77]=fe(R0),s[78]="LSR",e[78]=Fe(B),s[79]="uSRE",e[79]=Ce(B),s[80]="BVC",e[80]=oe(t0,0),s[81]="EOR",e[81]=fe(E0),s[82]="uKIL",e[82]=J0(),s[83]="uSRE",e[83]=Ce(g),s[84]="uNOP",e[84]=v0(d0(P)),s[85]="EOR",e[85]=fe(d0(P)),s[86]="LSR",e[86]=Fe(D(P)),s[87]="uSRE",e[87]=Ce(D(P)),s[88]="CLI",e[88]=$0(),s[89]="EOR",e[89]=fe(o0(v)),s[90]="uNOP",e[90]=v0(e0),s[91]="uSRE",e[91]=Ce(u(v)),s[92]="uNOP",e[92]=v0(o0(P)),s[93]="EOR",e[93]=fe(o0(P)),s[94]="LSR",e[94]=Fe(u(P)),s[95]="uSRE",e[95]=Ce(u(P)),s[96]="RTS",e[96]=bn(),s[97]="ADC",e[97]=re(X0),s[98]="uKIL",e[98]=J0(),s[99]="uRRA",e[99]=he(r),s[100]="uNOP",e[100]=v0(_0),s[101]="ADC",e[101]=re(_0),s[102]="ROR",e[102]=Xe(S),s[103]="uRRA",e[103]=he(S),s[104]="PLA",e[104]=cn(),s[105]="ADC",e[105]=re(s0),s[106]="ROR",e[106]=Z0(),s[107]="uARR",e[107]=Jt(s0),s[108]="JMP",e[108]=hn(),s[109]="ADC",e[109]=re(R0),s[110]="ROR",e[110]=Xe(B),s[111]="uRRA",e[111]=he(B),s[112]="BVS",e[112]=oe(t0,1),s[113]="ADC",e[113]=re(E0),s[114]="uKIL",e[114]=J0(),s[115]="uRRA",e[115]=he(g),s[116]="uNOP",e[116]=v0(d0(P)),s[117]="ADC",e[117]=re(d0(P)),s[118]="ROR",e[118]=Xe(D(P)),s[119]="uRRA",e[119]=he(D(P)),s[120]="SEI",e[120]=Oe(),s[121]="ADC",e[121]=re(o0(v)),s[122]="uNOP",e[122]=v0(e0),s[123]="uRRA",e[123]=he(u(v)),s[124]="uNOP",e[124]=v0(o0(P)),s[125]="ADC",e[125]=re(o0(P)),s[126]="ROR",e[126]=Xe(u(P)),s[127]="uRRA",e[127]=he(u(P)),s[128]="uNOP",e[128]=v0(s0),s[129]="STA",e[129]=me(U),s[130]="uNOP",e[130]=v0(s0),s[131]="uSAX",e[131]=Ee(U),s[132]="STY",e[132]=nt(k0),s[133]="STA",e[133]=me(k0),s[134]="STX",e[134]=tt(k0),s[135]="uSAX",e[135]=Ee(k0),s[136]="DEY",e[136]=Q0(),s[137]="uNOP",e[137]=v0(s0),s[138]="TXA",e[138]=Qe(),s[139]="uANE",e[139]=$t(s0),s[140]="STY",e[140]=nt(z0),s[141]="STA",e[141]=me(z0),s[142]="STX",e[142]=tt(z0),s[143]="uSAX",e[143]=Ee(z0),s[144]="BCC",e[144]=oe(H0,0),s[145]="STA",e[145]=me(q0),s[146]="uKIL",e[146]=J0(),s[147]="uSHA",e[147]=Ct(q0),s[148]="STY",e[148]=nt(G0(P)),s[149]="STA",e[149]=me(G0(P)),s[150]="STX",e[150]=tt(G0(v)),s[151]="uSAX",e[151]=Ee(G0(v)),s[152]="TYA",e[152]=jt(),s[153]="STA",e[153]=me(K0(v)),s[154]="TXS",e[154]=Pe(),s[155]="uSHS",e[155]=tn(K0(v)),s[156]="uSHY",e[156]=rn(K0(P)),s[157]="STA",e[157]=me(K0(P)),s[158]="uSHX",e[158]=nn(K0(v)),s[159]="uSHA",e[159]=Ct(K0(v)),s[160]="LDY",e[160]=De(s0),s[161]="LDA",e[161]=ce(X0),s[162]="LDX",e[162]=we(s0),s[163]="uLAX",e[163]=_e(X0),s[164]="LDY",e[164]=De(_0),s[165]="LDA",e[165]=ce(_0),s[166]="LDX",e[166]=we(_0),s[167]="uLAX",e[167]=_e(_0),s[168]="TAY",e[168]=pe(),s[169]="LDA",e[169]=ce(s0),s[170]="TAX",e[170]=ge(),s[171]="uLXA",e[171]=qt(s0),s[172]="LDY",e[172]=De(R0),s[173]="LDA",e[173]=ce(R0),s[174]="LDX",e[174]=we(R0),s[175]="uLAX",e[175]=_e(R0),s[176]="BCS",e[176]=oe(H0,1),s[177]="LDA",e[177]=ce(E0),s[178]="uKIL",e[178]=J0(),s[179]="uLAX",e[179]=_e(E0),s[180]="LDY",e[180]=De(d0(P)),s[181]="LDA",e[181]=ce(d0(P)),s[182]="LDX",e[182]=we(d0(v)),s[183]="uLAX",e[183]=_e(d0(v)),s[184]="CLV",e[184]=I0(),s[185]="LDA",e[185]=ce(o0(v)),s[186]="TSX",e[186]=ue(),s[187]="uLAS",e[187]=Qt(o0(v)),s[188]="LDY",e[188]=De(o0(P)),s[189]="LDA",e[189]=ce(o0(P)),s[190]="LDX",e[190]=we(o0(v)),s[191]="uLAX",e[191]=_e(o0(v)),s[192]="CPY",e[192]=et(s0),s[193]="CMP",e[193]=ie(X0),s[194]="uNOP",e[194]=v0(s0),s[195]="uDCP",e[195]=le(r),s[196]="CPY",e[196]=et(_0),s[197]="CMP",e[197]=ie(_0),s[198]="DEC",e[198]=Me(S),s[199]="uDCP",e[199]=le(S),s[200]="INY",e[200]=j0(),s[201]="CMP",e[201]=ie(s0),s[202]="DEX",e[202]=ne(),s[203]="uSBX",e[203]=en(s0),s[204]="CPY",e[204]=et(R0),s[205]="CMP",e[205]=ie(R0),s[206]="DEC",e[206]=Me(B),s[207]="uDCP",e[207]=le(B),s[208]="BNE",e[208]=oe(q,0),s[209]="CMP",e[209]=ie(E0),s[210]="uKIL",e[210]=J0(),s[211]="uDCP",e[211]=le(g),s[212]="uNOP",e[212]=v0(d0(P)),s[213]="CMP",e[213]=ie(d0(P)),s[214]="DEC",e[214]=Me(D(P)),s[215]="uDCP",e[215]=le(D(P)),s[216]="CLD",e[216]=y0(),s[217]="CMP",e[217]=ie(o0(v)),s[218]="uNOP",e[218]=v0(e0),s[219]="uDCP",e[219]=le(u(v)),s[220]="uNOP",e[220]=v0(o0(P)),s[221]="CMP",e[221]=ie(o0(P)),s[222]="DEC",e[222]=Me(u(P)),s[223]="uDCP",e[223]=le(u(P)),s[224]="CPX",e[224]=qe(s0),s[225]="SBC",e[225]=te(X0),s[226]="uNOP",e[226]=v0(s0),s[227]="uISB",e[227]=be(r),s[228]="CPX",e[228]=qe(_0),s[229]="SBC",e[229]=te(_0),s[230]="INC",e[230]=Te(S),s[231]="uISB",e[231]=be(S),s[232]="INX",e[232]=ee(),s[233]="SBC",e[233]=te(s0),s[234]="NOP",e[234]=J(),s[235]="SBC",e[235]=te(s0),s[236]="CPX",e[236]=qe(R0),s[237]="SBC",e[237]=te(R0),s[238]="INC",e[238]=Te(B),s[239]="uISB",e[239]=be(B),s[240]="BEQ",e[240]=oe(q,1),s[241]="SBC",e[241]=te(E0),s[242]="uKIL",e[242]=J0(),s[243]="uISB",e[243]=be(g),s[244]="uNOP",e[244]=v0(d0(P)),s[245]="SBC",e[245]=te(d0(P)),s[246]="INC",e[246]=Te(D(P)),s[247]="uISB",e[247]=be(D(P)),s[248]="SED",e[248]=Ge(),s[249]="SBC",e[249]=te(o0(v)),s[250]="uNOP",e[250]=v0(e0),s[251]="uISB",e[251]=be(u(v)),s[252]="uNOP",e[252]=v0(o0(P)),s[253]="SBC",e[253]=te(o0(P)),s[254]="INC",e[254]=Te(u(P)),s[255]="uISB",e[255]=be(u(P));function b(){return e0(function(){X(o>127),o=o<<1&255,L(o),O(o)})}function _(){return e0(function(){k=0})}function y0(){return e0(function(){y=0})}function $0(){return e0(function(){p=0})}function I0(){return e0(function(){Y=0})}function ne(){return e0(function(){d=d-1&255,L(d),O(d)})}function Q0(){return e0(function(){x=x-1&255,L(x),O(x)})}function ee(){return e0(function(){d=d+1&255,L(d),O(d)})}function j0(){return e0(function(){x=x+1&255,L(x),O(x)})}function Je(){return e0(function(){k=o&1,o>>>=1,L(o),i=0})}function J(){return e0(function(){})}function xe(){return e0(function(){var l=o>127;o=(o<<1|k)&255,X(l),L(o),O(o)})}function Z0(){return e0(function(){var l=o&1;o=o>>>1|k<<7,X(l),L(o),O(o)})}function ve(){return e0(function(){k=1})}function Ge(){return e0(function(){y=1})}function Oe(){return e0(function(){p=1})}function ge(){return e0(function(){d=o,L(d),O(d)})}function pe(){return e0(function(){x=o,L(x),O(x)})}function ue(){return e0(function(){d=m,L(d),O(d)})}function Qe(){return e0(function(){o=d,L(o),O(o)})}function Pe(){return e0(function(){m=d})}function jt(){return e0(function(){o=x,L(o),O(o)})}function J0(){return[z,function(){V("KIL/HLT/JAM")},function(){G--}]}function v0(l){return l(function(){V("NOP/DOP")})}function re(l){return l(function(){if(y){var C=R,K=(o&15)+(C&15)+k;K>9&&(K+=6);var S0=(o>>4)+(C>>4)+(K>15?1:0)<<4;L(o+C+k&255),O(S0),P0((o^S0)&~(o^C)&128),S0>159&&(S0+=96),X(S0>255),o=(S0|K&15)&255}else{var h0=o+R+k;X(h0>255),P0((o^h0)&(R^h0)&128),o=h0&255,L(o),O(o)}})}function ae(l){return l(function(){o&=R,L(o),O(o)})}function ht(l){return l(function(){var C=R;L(o&C),P0(C&64),O(C)})}function ie(l){return l(function(){var C=o-R&255;X(o>=R),L(C),O(C)})}function qe(l){return l(function(){var C=d-R&255;X(d>=R),L(C),O(C)})}function et(l){return l(function(){var C=x-R&255;X(x>=R),L(C),O(C)})}function fe(l){return l(function(){o^=R,L(o),O(o)})}function ce(l){return l(function(){o=R,L(o),O(o)})}function we(l){return l(function(){d=R,L(d),O(d)})}function De(l){return l(function(){x=R,L(x),O(x)})}function se(l){return l(function(){o|=R,L(o),O(o)})}function te(l){return l(function(){if(y){var C=R,K=(o&15)-(C&15)-(1-k),S0=(o>>4)-(C>>4)-(K<0?1:0);K<0&&(K-=6),S0<0&&(S0-=6);var h0=o-C-(1-k);X(~h0&256),P0((o^C)&(o^h0)&128),L(h0&255),O(h0),o=(S0<<4|K&15)&255}else C=~R&255,h0=o+C+k,X(h0>255),P0((o^h0)&(C^h0)&128),o=h0&255,L(o),O(o)})}function At(l){return l(function(){V("ANC"),o&=R,L(o),i=k=o&128?1:0})}function $t(l){return l(function(){V("ANE")})}function Jt(l){return l(function(){V("ARR");var C=o&R,K=k?128:0;C=C>>>1|K,o=C,L(C),O(C);var S0=o&96;S0==96?(k=1,Y=0):S0==0?(k=0,Y=0):S0==32?(k=0,Y=1):S0==64&&(k=1,Y=1)})}function Gt(l){return l(function(){V("ASR");var C=o&R;k=C&1,C=C>>>1,o=C,L(C),i=0})}function Qt(l){return l(function(){V("LAS");var C=m&R;o=C,d=C,m=C,L(C),O(C)})}function _e(l){return l(function(){V("LAX");var C=R;o=C,d=C,L(C),O(C)})}function qt(l){return l(function(){V("LXA");var C=o&R;o=C,d=C,L(C),O(C)})}function en(l){return l(function(){V("SBX");var C=o&d,K=R,S0=C-K&255;d=S0,X(C>=K),L(S0),O(S0)})}function me(l){return l(function(){R=o})}function tt(l){return l(function(){R=d})}function nt(l){return l(function(){R=x})}function Ee(l){return l(function(){V("SAX"),R=o&d})}function Ct(l){return l(function(){V("SHA"),R=o&d&(T>>>8)+1&255})}function tn(l){return l(function(){V("SHS");var C=o&d;m=C,R=C&(T>>>8)+1&255})}function nn(l){return l(function(){V("SHX"),R=d&(T>>>8)+1&255})}function rn(l){return l(function(){V("SHY"),R=x&(T>>>8)+1&255})}function Ze(l){return l(function(){X(R>127);var C=R<<1&255;R=C,L(C),O(C)})}function Me(l){return l(function(){var C=R-1&255;R=C,L(C),O(C)})}function Te(l){return l(function(){var C=R+1&255;R=C,L(C),O(C)})}function Fe(l){return l(function(){k=R&1,R>>>=1,L(R),i=0})}function Ue(l){return l(function(){var C=R>127,K=(R<<1|k)&255;R=K,X(C),L(K),O(K)})}function Xe(l){return l(function(){var C=R&1,K=R>>>1|k<<7;R=K,X(C),L(K),O(K)})}function le(l){return l(function(){V("DCP");var C=R-1&255;R=C,C=o-C,X(C>=0),L(C),O(C)})}function be(l){return l(function(){if(V("ISB"),R=R+1&255,y){var C=R,K=(o&15)-(C&15)-(1-k),S0=(o>>4)-(C>>4)-(K<0?1:0);K<0&&(K-=6),S0<0&&(S0-=6);var h0=o-C-(1-k);X(~h0&256),P0((o^C)&(o^h0)&128),L(h0&255),O(h0),o=(S0<<4|K&15)&255}else C=~R&255,h0=o+C+k,X(h0>255),P0((o^h0)&(C^h0)&128),o=h0&255,L(o),O(o)})}function de(l){return l(function(){V("RLA");var C=R,K=k;X(C&128),C=(C<<1|K)&255,R=C,o&=C,L(C),O(C)})}function he(l){return l(function(){V("RRA");var C=R,K=k?128:0;if(X(C&1),C=C>>>1|K,R=C,y){var S0=R,h0=(o&15)+(S0&15)+k;h0>9&&(h0+=6);var ke=(o>>4)+(S0>>4)+(h0>15?1:0)<<4;L(o+S0+k&255),O(ke),P0((o^ke)&~(o^S0)&128),ke>159&&(ke+=96),X(ke>255),o=(ke|h0&15)&255}else{var He=o+R+k;X(He>255),P0((o^He)&(R^He)&128),o=He&255,L(o),O(o)}})}function Ae(l){return l(function(){V("SLO");var C=R;X(C&128),C=C<<1&255,R=C,C=o|C,o=C,L(C),O(C)})}function Ce(l){return l(function(){V("SRE");var C=R;X(C&1),C=C>>>1,R=C,C=(o^C)&255,o=C,L(C),O(C)})}function an(){return[z,A0,function(){j(o)},F]}function fn(){return[z,A0,function(){j(m0())},F]}function cn(){return[z,A0,C0,function(){o=r0(),L(o),O(o)},F]}function sn(){return[z,A0,C0,function(){N0(r0())},F]}function on(){return[z,I,C0,function(){j(a>>>8&255)},function(){j(a&255)},U0,function(){a=i0,F()}]}function xn(){return[z,a0,function(){h.debug&&h.breakpoint("BRK "+R),j(a>>>8&255)},function(){j(a&255)},function(){j(m0())},function(){i0=t.read(D0)},function(){i0|=t.read(D0+1)<<8},function(){a=i0,p=1,F()}]}function un(){return[z,a0,function(){h.debug&&h.breakpoint("IRQ "+R),j(a>>>8&255)},function(){j(a&255)},function(){j(m0()&-17)},function(){i0=t.read(D0)},function(){i0|=t.read(D0+1)<<8},function(){a=i0,F()}]}function mn(){return[z,a0,function(){h.debug&&h.breakpoint("NMI "+R),j(a>>>8&255)},function(){j(a&255)},function(){j(m0()&-17)},function(){i0=t.read(M0)},function(){i0|=t.read(M0+1)<<8},function(){a=i0,F()}]}function ln(){return[z,A0,C0,function(){N0(r0())},function(){i0=r0()},function(){i0|=r0()<<8},function(){a=i0,F()}]}function bn(){return[z,A0,C0,function(){i0=r0()},function(){i0|=r0()<<8},function(){a=i0,a0()},F]}function dn(){return[z,I,U0,function(){a=i0,F()}]}function hn(){return[z,F0,p0,l0,function(){c0(),L0()},function(){a=T,F()}]}function oe(l,C){var K;return l===q?K=function(){return N===C}:l===V0?K=function(){return i===C}:l===H0?K=function(){return k===C}:K=function(){return Y===C},[z,x0,function(){K()?(A0(),Z()):F()},function(){g0?(A0(),n0()):F()},F]}this.saveState=function(){return{PC:a-1&65535,A:o,X:d,Y:x,SP:m,N:i,V:Y,D:y,I:p,Z:N,C:k,T:G,o:u0,R:n?1:0,d:R,AD:i0,BA:T,BC:W?1:0,IA:f,bo:c,boa:g0}},this.loadState=function(l){a=l.PC+1&65535,o=l.A,d=l.X,x=l.Y,m=l.SP,i=l.N,Y=l.V,y=l.D,p=l.I,N=l.Z,k=l.C,G=l.T,u0=l.o,n=!!l.R,R=l.d,i0=l.AD,T=l.BA,W=!!l.BC,f=l.IA,c=l.bo,g0=l.boa,A=u0<0?[z]:e[u0]},this.toString=function(){return"CPU PC: "+a.toString(16)+" op: "+u0.toString()+" T: "+G+" data: "+R+`
A: `+o.toString(16)+" X: "+d.toString(16)+" Y: "+x.toString(16)+" SP: "+m.toString(16)+" N"+i+" V"+Y+" D"+y+" I"+p+" Z"+N+" C"+k+" "},this.breakpoint=function(l){if(this.trace)var C="CPU Breakpoint! "+(l?"("+l+")":"")+`
`+this.toString()};var St=[7,6,0,8,3,3,5,5,3,2,2,2,4,4,6,6,2,5,0,8,4,4,6,6,2,4,0,7,4,4,7,7,6,6,0,8,3,3,5,5,4,2,2,2,4,4,6,6,2,5,0,8,4,4,6,6,2,4,0,7,4,4,7,7,6,6,0,8,3,3,5,5,3,2,2,2,3,4,6,6,2,5,0,8,4,4,6,6,2,4,0,7,4,4,7,7,6,6,0,8,3,3,5,5,4,2,2,2,5,4,6,6,2,5,0,8,4,4,6,6,2,4,0,7,4,4,7,7,0,6,0,6,3,3,3,3,2,0,2,0,4,4,4,4,2,6,0,0,4,4,4,4,2,5,2,0,0,5,0,0,2,6,2,6,3,3,3,3,2,2,2,0,4,4,4,4,2,5,0,5,4,4,4,4,2,4,2,0,4,4,4,4,2,6,0,8,3,3,5,5,2,2,2,2,4,4,6,6,2,5,0,8,4,4,6,6,2,4,0,7,4,4,7,7,2,6,0,8,3,3,5,5,2,2,2,0,4,4,6,6,2,5,0,8,4,4,6,6,2,4,0,7,4,4,7,7],An=[0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,1,0,1,0,0,0,1,0,1,0,1,1,1,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,1,0,1,0,0,0,1,0,1,0,1,1,1,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,1,0,1,0,0,0,1,0,1,0,1,1,1,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,1,0,1,0,0,0,1,0,1,0,1,1,1,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,1,0,1,0,0,0,1,0,1,0,0,1,1,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,1,0,1,0,0,0,1,0,1,0,1,1,1,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,1,0,1,0,0,0,1,0,1,0,1,1,1,0,1],Cn=[1,2,0,2,2,2,2,2,1,2,1,2,3,3,3,3,2,2,0,2,2,2,2,2,1,3,0,3,3,3,3,3,3,2,0,2,2,2,2,2,1,2,1,2,3,3,3,3,2,2,0,2,2,2,2,2,1,3,0,3,3,3,3,3,1,2,0,2,2,2,2,2,1,2,1,2,3,3,3,3,2,2,0,2,2,2,2,2,1,3,0,3,3,3,3,3,1,2,0,2,2,2,2,2,1,2,1,2,3,3,3,3,2,2,0,2,2,2,2,2,1,3,0,3,3,3,3,3,0,2,0,2,2,2,2,2,1,0,1,0,3,3,3,3,2,2,0,0,2,2,2,3,1,3,1,0,0,3,0,0,2,2,2,2,2,2,2,2,1,2,1,0,3,3,3,3,2,2,0,2,2,2,2,2,1,3,1,0,3,3,3,3,2,2,0,2,2,2,2,2,1,2,1,2,3,3,3,3,2,2,0,2,2,2,2,2,1,3,0,3,3,3,3,3,2,2,0,2,2,2,2,2,1,2,1,0,3,3,3,3,2,2,0,2,2,2,2,2,1,3,0,3,3,3,3,3],yn=[1,2,0,0,0,2,2,0,1,2,1,0,0,3,3,0,2,2,0,0,0,2,2,0,1,3,0,0,0,3,3,0,3,2,0,0,2,2,2,0,1,2,1,0,3,3,3,0,2,2,0,0,0,2,2,0,1,3,0,0,0,3,3,0,1,2,0,0,0,2,2,0,1,2,1,0,3,3,3,0,2,2,0,0,0,2,2,0,1,3,0,0,0,3,3,0,1,2,0,0,0,2,2,0,1,2,1,0,3,3,3,0,2,2,0,0,0,2,2,0,1,3,0,0,0,3,3,0,0,2,0,0,2,2,2,0,1,0,1,0,3,3,3,0,2,2,0,0,2,2,2,0,1,3,1,0,0,3,0,0,2,2,2,0,2,2,2,0,1,2,1,0,3,3,3,0,2,2,0,0,2,2,2,0,1,3,1,0,3,3,3,0,2,2,0,0,2,2,2,0,1,2,1,0,3,3,3,0,2,2,0,0,0,2,2,0,1,3,0,0,0,3,3,0,2,2,0,0,2,2,2,0,1,2,1,0,3,3,3,0,2,2,0,0,0,2,2,0,1,3,0,0,0,3,3,0];this.getOpcodeMetadata=function(l,C){return{opcode:l,mnenomic:s[l],minCycles:St[l],maxCycles:St[l]+An[l],insnlength:Cn[l]}},this.setNMI=function(){A=mn(),G=1,a=a-1&65535},this.setIRQ=function(){p||(A=un(),G=1,a=a-1&65535)},this.getSP=function(){return m},this.getPC=function(){return a-1&65535},this.getT=function(){return G},this.isHalted=function(){return s[u0]=="uKIL"},this.isPCStable=function(){return G==0}};var Ot=class{constructor(){this.cpu=new ot;this.interruptType=0}connectMemoryBus(t){this.cpu.connectBus(t)}advanceClock(){if(this.interruptType&&this.isStable()){switch(this.interruptType){case 1:this.cpu.setNMI();break;case 2:this.cpu.setIRQ();break}this.interruptType=0}this.cpu.clockPulse()}advanceInsn(){do this.advanceClock();while(!this.isStable())}reset(){this.cpu.reset(),this.interruptType=0}interrupt(t){this.interruptType!=1&&(this.interruptType=t)}NMI(){this.interrupt(1)}IRQ(){this.interrupt(2)}getSP(){return this.cpu.getSP()}getPC(){return this.cpu.getPC()}isHalted(){return this.cpu.isHalted()}saveState(){var t=this.cpu.saveState();return t.it=this.interruptType,t}loadState(t){this.cpu.loadState(t),this.interruptType=t.it}isStable(){return this.cpu.isPCStable()}getOpcodeMetadata(t){return this.cpu.getOpcodeMetadata(t)}};var Ne=class{constructor(t){this.maxROMSize=262144;this.videoOffsetBytes=0;this.prefix=t;var n=this;this.cpu={getPC:n.getPC.bind(n),getSP:n.getSP.bind(n),isStable:n.isStable.bind(n),reset:n.reset.bind(n),saveState:()=>n.getCPUState(),loadState:()=>{console.log("loadState not implemented")},connectMemoryBus(){console.log("connectMemoryBus not implemented")}}}getImports(t){return{}}async fetchWASM(){var t=await fetch("res/"+this.prefix+".wasm");if(t.status==200||t.size){var n=await t.arrayBuffer(),a=await WebAssembly.compile(n),m=await WebAssembly.instantiate(a,this.getImports(a));this.instance=m,this.exports=m.exports}else throw new Error("could not load WASM file")}allocateBIOS(t){this.biosptr=this.exports.malloc(t.byteLength),this.biosarr=new Uint8Array(this.exports.memory.buffer,this.biosptr,t.byteLength)}async fetchBIOS(){var t=await fetch("res/"+this.prefix+".bios");if(t.status==200||t.size){var n=new Uint8Array(await t.arrayBuffer());this.allocateBIOS(n),this.loadBIOS(n)}else throw new Error("could not load BIOS file")}async initWASM(){this.sys=this.exports.machine_init(this.biosptr);let t=this.exports.machine_get_state_size();this.stateptr=this.exports.malloc(t);let n=this.exports.machine_get_controls_state_size();this.ctrlstateptr=this.exports.malloc(n);let a=this.exports.machine_get_cpu_state_size();this.cpustateptr=this.exports.malloc(a),this.romptr=this.exports.malloc(this.maxROMSize),this.statearr=new Uint8Array(this.exports.memory.buffer,this.stateptr,t),this.ctrlstatearr=new Uint8Array(this.exports.memory.buffer,this.ctrlstateptr,n),this.cpustatearr=new Uint8Array(this.exports.memory.buffer,this.cpustateptr,a);let m=4096*4;this.audioarr=new Float32Array(this.exports.memory.buffer,this.exports.machine_get_sample_buffer(),m),this.romarr=new Uint8Array(this.exports.memory.buffer,this.romptr,this.maxROMSize),console.log("machine_init",this.sys,t,n,a,m)}async loadWASM(){await this.fetchWASM(),this.exports.memory.grow(96),await this.fetchBIOS(),await this.initWASM()}getPC(){return this.exports.machine_cpu_get_pc(this.sys)}getSP(){return this.exports.machine_cpu_get_sp(this.sys)}isStable(){return this.exports.machine_cpu_is_stable(this.sys)}loadROM(t){if(t.length>this.maxROMSize)throw new _t(`Rom size too big: ${t.length} bytes`);this.romarr.set(t),this.romlen=t.length,console.log("load rom",t.length,"bytes"),this.reset()}loadBIOS(t){this.biosarr.set(t)}reset(){this.exports.machine_reset(this.sys)}read(t){return this.exports.machine_mem_read(this.sys,t&65535)}readConst(t){return this.exports.machine_mem_read(this.sys,t&65535)}write(t,n){this.exports.machine_mem_write(this.sys,t&65535,n&255)}getAudioParams(){return{sampleRate:44100,stereo:!1}}connectVideo(t){this.pixel_dest=t;var n=this.exports.machine_get_pixel_buffer(this.sys);console.log("connectVideo",n,t.length),this.pixel_src=new Uint32Array(this.exports.memory.buffer,n+this.videoOffsetBytes,t.length)}syncVideo(){this.exports.machine_update_video&&this.exports.machine_update_video(this.sys),this.pixel_dest!=null&&this.pixel_dest.set(this.pixel_src)}saveControlsState(){return this.exports.machine_save_controls_state(this.sys,this.ctrlstateptr),{controls:this.ctrlstatearr.slice(0)}}loadControlsState(t){this.ctrlstatearr.set(t.controls),this.exports.machine_load_controls_state(this.sys,this.ctrlstateptr)}connectAudio(t){this.audio=t}syncAudio(){if(this.audio!=null)for(var t=this.exports.machine_get_sample_count(),n=0;n<t;n++)this.audio.feedSample(this.audioarr[n],1)}advanceFrameClock(t,n){var a;if(t)for(a=0;a<n&&!t();a++)this.exports.machine_tick(this.sys);else this.exports.machine_exec(this.sys,n),a=n;return this.syncVideo(),this.syncAudio(),a}copyProbeData(){if(this.probe&&!(this.probe instanceof Be)){var t=this.exports.machine_get_probe_buffer_size(),n=this.exports.machine_get_probe_buffer_address(),a=new Uint32Array(this.exports.memory.buffer,n,t);this.probe.logNewFrame(),this.probe.addLogBuffer(a)}}connectProbe(t){this.probe=t}getDebugTree(){return this.saveState()}};var Et=class{constructor(t,n){this.symbolmap=t,this.debuginfo=n,this.addr2symbol=vt(t),this.addr2symbol[0]||(this.addr2symbol[0]="$00"),this.addr2symbol[65536]="__END__"}};function Se(h){return h&&typeof h.getDebugCategories=="function"}var ut=class{constructor(){this.id2bp={}}getDebugCondition(){return Object.keys(this.id2bp).length==0?null:()=>{var t=!1;for(var n in this.id2bp)this.id2bp[n].cond()&&(t=!0);return t}}},mt=class{constructor(){this.recorder=null;this.internalFiles={}}setRecorder(t){this.recorder=t}updateRecorder(){this.recorder&&this.isRunning()&&this.recorder.frameRequested()&&this.recorder.recordFrame(this.saveState())}inspect(t){return Pn(this,t)}getDebugTree(){var n;var t={};return t.state=this.saveState(),(n=this.debugSymbols)!=null&&n.debuginfo&&(t.debuginfo=this.debugSymbols.debuginfo),t}readFile(t){return this.internalFiles[t]}writeFile(t,n){return this.internalFiles[t]=n,!0}},ye=class extends mt{constructor(){super(...arguments);this.debugSavedState=null;this.debugBreakState=null;this.debugTargetClock=0;this.debugClock=0;this.breakpoints=new ut;this.frameCount=0}setBreakpoint(n,a){a?(this.breakpoints.id2bp[n]={cond:a},this.restartDebugging()):this.clearBreakpoint(n)}clearBreakpoint(n){delete this.breakpoints.id2bp[n]}hasBreakpoint(n){return this.breakpoints.id2bp[n]!=null}getDebugCallback(){return this.breakpoints.getDebugCondition()}setupDebug(n){this.onBreakpointHit=n}clearDebug(){this.debugBreakState!=null&&this.debugSavedState!=null&&this.loadState(this.debugSavedState),this.debugSavedState=null,this.debugBreakState=null,this.debugTargetClock=-1,this.debugClock=0,this.onBreakpointHit=null,this.clearBreakpoint("debug"),this.frameCount=0}setDebugCondition(n){this.setBreakpoint("debug",n)}resetDebugging(){this.debugSavedState?this.loadState(this.debugSavedState):this.debugSavedState=this.saveState(),this.debugClock=0,this.debugCallback=this.getDebugCallback(),this.debugBreakState=null}restartDebugging(){this.resetDebugging(),this.resume()}preFrame(){this.debugCallback&&!this.debugBreakState&&(this.debugSavedState=this.saveState(),this.debugTargetClock-=this.debugClock,this.debugClock=0)}postFrame(){this.debugCallback&&this.debugBreakState&&this.loadState(this.debugBreakState),this.frameCount++}pollControls(){}nextFrame(n){this.pollControls(),this.updateRecorder(),this.preFrame();var a=this.advance(n);return this.postFrame(),a}evalDebugCondition(){this.debugCallback&&!this.debugBreakState&&this.debugCallback()}wasBreakpointHit(){return this.debugBreakState!=null}breakpointHit(n,a){console.log(this.debugTargetClock,n,this.debugClock,this.isStable()),this.debugTargetClock=n,this.debugBreakState=this.saveState(),console.log("Breakpoint at clk",this.debugClock,"PC",this.debugBreakState.c.PC.toString(16)),this.pause(),this.onBreakpointHit&&this.onBreakpointHit(this.debugBreakState,a)}haltAndCatchFire(n){this.breakpointHit(this.debugClock,n)}runEval(n){this.setDebugCondition(()=>{if(++this.debugClock>=this.debugTargetClock&&this.isStable()){var a=this.getCPUState();return n(a)?(this.breakpointHit(this.debugClock),!0):!1}})}runToPC(n){this.debugTargetClock++;let a=new Set(n);this.runEval(m=>a.has(m.PC))}runUntilReturn(){var n=this.getSP();this.runEval(a=>a.SP>n)}runToFrameClock(n){this.restartDebugging(),this.debugTargetClock=n,this.runEval(()=>!0)}step(){this.runToFrameClock(this.debugClock+1)}stepBack(){var n,a,m=this.debugTargetClock;this.restartDebugging(),this.debugTargetClock=m-25,this.runEval(o=>this.debugClock<m?(n=this.saveState(),a=this.debugClock,!1):(n&&(this.loadState(n),this.debugClock=a),!0))}runToVsync(){this.restartDebugging();var n=this.frameCount;this.runEval(()=>this.frameCount>n)}};function Pn(h,t){if(h.debugSymbols){var n=h.debugSymbols.symbolmap,a=h.debugSymbols.addr2symbol;if(!n||!h.readAddress)return null;var m=n["_"+t]||n[t];if(typeof m!="number")return null;var o=h.readAddress(m);if(a&&a[m+1]!=null)return"$"+$(m,4)+" = $"+$(o,2)+" ("+o+" decimal)";{let d=h.readAddress(m+1),x=o|d<<8;return"$"+$(m,4)+" = $"+$(o,2)+" $"+$(d,2)+" ("+(x<<16>>16)+" decimal)"}}}function Ht(h){return h.endsWith("-llvm.c")?"remote:llvm-mos":h.endsWith(".c")||h.endsWith(".h")?"cc65":h.endsWith(".s")||h.endsWith(".ca65")?"ca65":h.endsWith(".dasm")?"dasm":h.endsWith(".acme")?"acme":h.endsWith(".wiz")?"wiz":h.endsWith(".ecs")?"ecs":h.endsWith(".cpp")||h.endsWith(".cc")||h.endsWith(".o64")?"oscar64":"dasm"}var Zt=class extends ye{constructor(){super(...arguments);this.debugPCDelta=-1;this.getToolForFilename=Ht}fixPC(n){return n.PC=n.PC+this.debugPCDelta&65535,n}unfixPC(n){return n.PC=n.PC-this.debugPCDelta&65535,n}getSP(){return this.getCPUState().SP}getPC(){return this.getCPUState().PC}isStable(){return!this.getCPUState().T}newCPU(n){var a=new ot;return a.connectBus(n),a}getOpcodeMetadata(n,a){return Yt(n,a)}getOriginPC(){return(this.readAddress(65532)|this.readAddress(65533)<<8)&65535}disassemble(n,a){return at(n,a(n),a(n+1),a(n+2))}getDefaultExtension(){return".a"}getDebugCategories(){return["CPU","ZPRAM","Stack"]}getDebugInfo(n,a){switch(n){case"CPU":return Vt(a.c);case"ZPRAM":return rt(a.b||a.ram,0,256);case"Stack":return Le(this,a.b||a.ram,256,511,256+a.c.SP,32)}}};function Vt(h){function t(n){var a="";return a+=n.N?" N":" -",a+=n.V?" V":" -",a+=n.D?" D":" -",a+=n.Z?" Z":" -",a+=n.C?" C":" -",a+=n.I?" I":" -",a}return"PC "+$(h.PC,4)+" "+t(h)+`
A `+$(h.A)+" "+(h.R?"":"BUSY")+`
X `+$(h.X)+`
Y `+$(h.Y)+" SP "+$(h.SP)+`
`}var $e={cycletime:[7,6,0,8,3,3,5,5,3,2,2,2,4,4,6,6,2,5,0,8,4,4,6,6,2,4,0,7,4,4,7,7,6,6,0,8,3,3,5,5,4,2,2,2,4,4,6,6,2,5,0,8,4,4,6,6,2,4,0,7,4,4,7,7,6,6,0,8,3,3,5,5,3,2,2,2,3,4,6,6,2,5,0,8,4,4,6,6,2,4,0,7,4,4,7,7,6,6,0,8,3,3,5,5,4,2,2,2,5,4,6,6,2,5,0,8,4,4,6,6,2,4,0,7,4,4,7,7,0,6,0,6,3,3,3,3,2,0,2,0,4,4,4,4,2,6,0,0,4,4,4,4,2,5,2,0,0,5,0,0,2,6,2,6,3,3,3,3,2,2,2,0,4,4,4,4,2,5,0,5,4,4,4,4,2,4,2,0,4,4,4,4,2,6,0,8,3,3,5,5,2,2,2,2,4,4,3,6,2,5,0,8,4,4,6,6,2,4,0,7,4,4,7,7,2,6,0,8,3,3,5,5,2,2,2,0,4,4,6,6,2,5,0,8,4,4,6,6,2,4,0,7,4,4,7,7],extracycles:[0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,1,0,1,0,0,0,1,0,1,0,1,1,1,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,1,0,1,0,0,0,1,0,1,0,1,1,1,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,1,0,1,0,0,0,1,0,1,0,1,1,1,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,1,0,1,0,0,0,1,0,1,0,1,1,1,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,1,0,1,0,0,0,1,0,1,0,0,1,1,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,1,0,1,0,0,0,1,0,1,0,1,1,1,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,1,0,1,0,0,0,1,0,1,0,1,1,1,0,1],insnlengths:[1,2,0,2,2,2,2,2,1,2,1,2,3,3,3,3,2,2,0,2,2,2,2,2,1,3,0,3,3,3,3,3,3,2,0,2,2,2,2,2,1,2,1,2,3,3,3,3,2,2,0,2,2,2,2,2,1,3,0,3,3,3,3,3,1,2,0,2,2,2,2,2,1,2,1,2,3,3,3,3,2,2,0,2,2,2,2,2,1,3,0,3,3,3,3,3,1,2,0,2,2,2,2,2,1,2,1,2,3,3,3,3,2,2,0,2,2,2,2,2,1,3,0,3,3,3,3,3,0,2,0,2,2,2,2,2,1,0,1,0,3,3,3,3,2,2,0,0,2,2,2,3,1,3,1,0,0,3,0,0,2,2,2,2,2,2,2,2,1,2,1,0,3,3,3,3,2,2,0,2,2,2,2,2,1,3,1,0,3,3,3,3,2,2,0,2,2,2,2,2,1,2,1,2,3,3,3,3,2,2,0,2,2,2,2,2,1,3,0,3,3,3,3,3,2,2,0,2,2,2,2,2,1,2,1,0,3,3,3,3,2,2,0,2,2,2,2,2,1,3,0,3,3,3,3,3],validinsns:[1,2,0,0,0,2,2,0,1,2,1,0,0,3,3,0,2,2,0,0,0,2,2,0,1,3,0,0,0,3,3,0,3,2,0,0,2,2,2,0,1,2,1,0,3,3,3,0,2,2,0,0,0,2,2,0,1,3,0,0,0,3,3,0,1,2,0,0,0,2,2,0,1,2,1,0,3,3,3,0,2,2,0,0,0,2,2,0,1,3,0,0,0,3,3,0,1,2,0,0,0,2,2,0,1,2,1,0,3,3,3,0,2,2,0,0,0,2,2,0,1,3,0,0,0,3,3,0,0,2,0,0,2,2,2,0,1,0,1,0,3,3,3,0,2,2,0,0,2,2,2,0,1,3,1,0,0,3,0,0,2,2,2,0,2,2,2,0,1,2,1,0,3,3,3,0,2,2,0,0,2,2,2,0,1,3,1,0,3,3,3,0,2,2,0,0,2,2,2,0,1,2,1,0,3,3,3,0,2,2,0,0,0,2,2,0,1,3,0,0,0,3,3,0,2,2,0,0,2,2,2,0,1,2,1,0,3,3,3,0,2,2,0,0,0,2,2,0,1,3,0,0,0,3,3,0]};function Yt(h,t){return{opcode:h,minCycles:$e.cycletime[h],maxCycles:$e.cycletime[h]+$e.extracycles[h],insnlength:$e.insnlengths[h]}}function Wt(h){function t(n){return Ve(n,["S","Z",,"H",,"V","N","C"],!0)}return"PC "+$(h.PC,4)+" "+t(h.AF)+" "+(h.iff1?"I":"-")+(h.iff2?"I":"-")+`
SP `+$(h.SP,4)+" IR "+$(h.IR,4)+`
IX `+$(h.IX,4)+" IY "+$(h.IY,4)+`
AF `+$(h.AF,4)+" BC "+$(h.BC,4)+`
DE `+$(h.DE,4)+" HL "+$(h.HL,4)+`
`}function fr(h){function t(n){return Ve(n,["Z","N","H","C"],!0)}return"PC "+$(h.PC,4)+" "+t(h.AF>>4)+" "+(h.ime?"I":"-")+`
SP `+$(h.SP,4)+`
AF `+$(h.AF,4)+" BC "+$(h.BC,4)+`
DE `+$(h.DE,4)+" HL "+$(h.HL,4)+`
`}var lt=class extends ye{constructor(){super(...arguments);this.waitCycles=0;this.getToolForFilename=zt}newCPU(n,a){return this._cpu=new Ye,this._cpu.connectMemoryBus(n),this._cpu.connectIOBus(a),this._cpu}getPC(){return this._cpu.getPC()}getSP(){return this._cpu.getSP()}isStable(){return!0}runCPU(n,a){if(this._cpu=n,this.waitCycles=0,this.wasBreakpointHit())return 0;var m=this.getDebugCallback(),o=0;for(this.waitCycles+=a;this.waitCycles>0;){if(m&&m()){m=null;break}var d=n.advanceInsn();o+=d,this.waitCycles-=d}return o}getDefaultExtension(){return".c"}getDebugCategories(){return["CPU","Stack"]}getDebugInfo(n,a){switch(n){case"CPU":return Wt(a.c);case"Stack":{var m=a.c.SP-1&65535,o=m&65280,d=o+255;return m==0&&(m=65536),console.log(m,o,d),Le(this,[],o,d,m,205)}}}disassemble(n,a){return st(n,a(n),a(n+1),a(n+2),a(n+3))}};function zt(h){return h.endsWith(".c")||h.endsWith(".h")?"sdcc":h.endsWith(".s")?"sdasz80":h.endsWith(".sgb")?"sdasgb":h.endsWith(".ns")?"naken":h.endsWith(".scc")?"sccz80":h.endsWith(".z")?"zmac":h.endsWith(".wiz")?"wiz":"zmac"}function bt(h){function t(n){return Ve(n,["E","F","H","I","N","Z","V","C"],!0)}return"PC "+$(h.PC,4)+" "+t(h.CC)+`
SP `+$(h.SP,4)+`
DP `+$(h.DP,2)+`
A `+$(h.A,2)+`
B `+$(h.B,2)+`
X `+$(h.X,4)+`
Y `+$(h.Y,4)+`
U `+$(h.U,4)+`
`}function Kt(h){return h.endsWith(".c")||h.endsWith(".h")?"cmoc":h.endsWith(".xasm")?"xasm6809":h.endsWith(".lwasm")?"lwasm":"cmoc"}var Mt=class extends lt{constructor(){super(...arguments);this.getToolForFilename=Kt}newCPU(n){var a=Object.create(je());return a.init(n.write,n.read,0),a}cpuStateToLongString(n){return bt(n)}disassemble(n,a){return Object.create(je()).disasm(a(n),a(n+1),a(n+2),a(n+3),a(n+4),n)}getDefaultExtension(){return".asm"}getDebugCategories(){return["CPU","Stack"]}getDebugInfo(n,a){switch(n){case"CPU":return bt(a.c);default:return super.getDebugInfo(n,a)}}};function Le(h,t,n,a,m,o,d){var x="",i=0;function Y(k){return k<t.length?t[k]:h.readAddress(k)}for(;m<a;){m++;var y=Y(m)+Y(m+1)*256;d&&(y=(y&255)<<8|(y&65280)>>8);var p=o==32?-2:-3,N=Y(y+p);N==o?(x+=`
$`+$(m)+": ",x+=$(y,4)+" "+_n(h,y,!0),m++,i=0):(i==0&&(x+=`
$`+$(m)+": "),x+=$(Y(m))+" ",++i==8&&(i=0))}return x+`
`}function _n(h,t,n){for(var a=t,m=h.debugSymbols&&h.debugSymbols.addr2symbol;m&&t>=0;){var o=m[t];if(o){var o=m[t];return n?o+" + $"+$(a-t):o}if(!n)break;t--}return""}function kn(h){return typeof h.connectVideo=="function"}function wn(h){return typeof h.connectAudio=="function"}function Dn(h){return typeof h.setKeyInput=="function"}function Tt(h){return typeof h.setPaddleInput=="function"}function xt(h){return typeof h.getRasterY=="function"}function Rn(h){return typeof h.connectProbe=="function"}function Bn(h){return typeof h.loadBIOS=="function"}function Nn(h){return typeof h.connectSerialIO=="function"}var Ie=class extends ye{constructor(t){super(),this.mainElement=t}reset(){this.machine.reset(),this.serialVisualizer!=null&&this.serialVisualizer.reset()}loadState(t){this.machine.loadState(t)}saveState(){return this.machine.saveState()}getSP(){return this.machine.cpu.getSP()}getPC(){return this.machine.cpu.getPC()}isStable(){return this.machine.cpu.isStable()}getCPUState(){return this.machine.cpu.saveState()}loadControlsState(t){this.machine.loadControlsState(t)}saveControlsState(){return this.machine.saveControlsState()}async start(){this.machine=this.newMachine();let t=this.machine;t instanceof Ne&&await t.loadWASM();var n;if(kn(t)){var a=t.getVideoParams();this.video=new pt(this.mainElement,a.width,a.height,{overscan:!!a.overscan,rotate:a.rotate|0,aspect:a.aspect}),this.video.create(),t.connectVideo(this.video.getFrameData()),Dn(t)&&(this.video.setKeyboardEvents(t.setKeyInput.bind(t)),this.poller=new wt(t.setKeyInput.bind(t))),n=a.videoFrequency}if(this.timer=new kt(n||60,this.nextFrame.bind(this)),wn(t)){var m=t.getAudioParams();this.audio=new ze(m.sampleRate),this.audio.start(),t.connectAudio(this.audio)}Tt(t)&&this.video.setupMouseEvents(),Rn(t)&&(this.probeRecorder=new Ke(t),this.startProbing=()=>(t.connectProbe(this.probeRecorder),this.probeRecorder),this.stopProbing=()=>{t.connectProbe(null)}),Bn(t)&&(this.loadBIOS=(o,d)=>{t.loadBIOS(d,o)}),Nn(t)&&(this.serialIOInterface==null?this.serialVisualizer=new dt(this.mainElement,t):t.connectSerialIO(this.serialIOInterface))}loadROM(t,n){this.machine.loadROM(n,t),this.reset()}pollControls(){this.poller&&this.poller.poll(),Tt(this.machine)&&(this.machine.setPaddleInput(0,this.video.paddle_x),this.machine.setPaddleInput(1,this.video.paddle_y)),this.machine.pollControls&&this.machine.pollControls()}advance(t){let n=this.getDebugCallback();try{var a=this.machine.advanceFrame(n);return a}finally{!t&&this.video&&(this.video.updateFrame(),this.updateVideoDebugger()),!t&&this.serialVisualizer&&this.serialVisualizer.refresh()}}updateVideoDebugger(){var t;if(!this.isRunning()&&xt(this.machine)&&this.machine.getRasterCanvasPosition){let{x:n,y:a}=this.machine.getRasterCanvasPosition();if(n>=0||a>=0){let m=(t=this.video)==null?void 0:t.getContext();m&&Pt(m,n,a,1)}}}advanceFrameClock(t,n){if(n>0)return this.machine instanceof Ne?this.machine.advanceFrameClock(t,n):this.machine.advanceFrame(()=>--n<=0)}isRunning(){return this.timer&&this.timer.isRunning()}resume(){this.timer.start(),this.audio&&this.audio.start()}pause(){this.timer.stop(),this.audio&&this.audio.stop()}runToVsync(){this.restartDebugging();var t=!1;this.runEval(()=>{if(this.getRasterScanline()>0)t=!0;else return t})}getRasterScanline(){return xt(this.machine)&&this.machine.getRasterY?this.machine.getRasterY():-1}getRasterLineClock(){return xt(this.machine)&&this.machine.getRasterX?this.machine.getRasterX():-1}readAddress(t){return this.machine.read(t)}getDebugCategories(){if(Se(this.machine))return this.machine.getDebugCategories()}getDebugInfo(t,n){return Se(this.machine)&&this.machine.getDebugInfo(t,n)}},Ft=class extends Ie{constructor(){super(...arguments);this.getOpcodeMetadata=Yt}getToolForFilename(n){return Ht(n)}disassemble(n,a){return at(n,a(n),a(n+1),a(n+2))}getDebugCategories(){return Se(this.machine)?this.machine.getDebugCategories():["CPU","ZPRAM","Stack"]}getDebugInfo(n,a){switch(n){case"CPU":return Vt(a.c);case"ZPRAM":return rt(a.b||a.ram,0,256);case"Stack":return Le(this,a.b||a.ram,256,511,256+a.c.SP,32);default:return Se(this.machine)&&this.machine.getDebugInfo(n,a)}}},Ut=class extends Ie{constructor(){super(...arguments);this.getToolForFilename=zt}getDebugCategories(){return Se(this.machine)?this.machine.getDebugCategories():["CPU","Stack"]}getDebugInfo(n,a){switch(n){case"CPU":return Wt(a.c);case"Stack":{var m=a.c.SP-1&65535,o=m&65280,d=o+255;return m==0&&(m=65536),Le(this,[],o,d,m,205)}default:return Se(this.machine)&&this.machine.getDebugInfo(n,a)}}disassemble(n,a){return st(n,a(n),a(n+1),a(n+2),a(n+3))}},Xt=class extends Ie{constructor(){super(...arguments);this.getToolForFilename=Kt}getDebugCategories(){return Se(this.machine)?this.machine.getDebugCategories():["CPU","Stack"]}getDebugInfo(n,a){switch(n){case"CPU":return bt(a.c);case"Stack":{var m=a.c.SP-1&65535,o=m&65280,d=o+255;return m==0&&(m=65536),Le(this,[],o,d,m,23,!0)}default:return super.getDebugInfo(n,a)}}disassemble(n,a){return Object.create(je()).disasm(a(n),a(n+1),a(n+2),a(n+3),a(n+4),n)}},dt=class{constructor(t,n){this.lastOutCount=-1;this.lastInCount=-1;this.device=n,this.textarea=document.createElement("textarea"),this.textarea.classList.add("transcript"),this.textarea.classList.add("transcript-style-2"),this.textarea.style.display="none",t.appendChild(this.textarea)}reset(){this.lastOutCount=0,this.lastInCount=0,this.textarea.style.display="none"}refresh(){var t="";if(this.device.serialOut.length!=this.lastOutCount){var n="";for(var a of this.device.serialOut)t!=a.op&&(n!=""&&(n+=`
`),a.op==="read"?n+="<< ":a.op==="write"&&(n+=">> "),t=a.op),a.value==10?(n+="\u21B5",t=""):n+=gt(a.value);this.textarea.value=n,this.lastOutCount=this.device.serialOut.length,this.textarea.style.display="block"}}};export{at as a,st as b,Ye as c,it as d,Dt as e,Rt as f,En as g,gn as h,Zn as i,pn as j,Bt as k,je as l,Ot as m,Ke as n,Be as o,ft as p,ct as q,Nt as r,Ne as s,Et as t,Se as u,mt as v,Pn as w,Ht as x,Zt as y,Vt as z,Yt as A,Wt as B,fr as C,lt as D,zt as E,Mt as F,Le as G,Ie as H,Ft as I,Ut as J,Xt as K};
//# sourceMappingURL=chunk-236FAHT6.js.map