8bitworkshop/gen/chunk-42IVW2OL.js

27 lines
122 KiB
JavaScript

import{D as ht,P as At,R as Ct,T as vt,U as St,V as nt,_ as gt,g as a0,j as dt,s as tt}from"./chunk-S4FPTY4A.js";var xn=[{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 rt(h,e,r,c){var m=xn[e];if(m==null)return{line:"???",nbytes:1,isaddr:!1};var o=m.mn,d=m.am,x=!1;if(d=="branch"){var a=r<128?h+2+r:h+2-(256-r);a&=65535,d="$"+a0(a,4),x=!0}else d=d.replace("aa","$"+a0(r,2)),d=d.replace("AAAA","$"+a0(r+(c<<8),4)),d.indexOf("#")<0&&d.indexOf("$")>=0&&(x=!0);return{line:m.mn+" "+d,nbytes:m.nb,isaddr:x}}function un(h){let e=h;if(!e||typeof e.mem_read!="function"||typeof e.mem_write!="function"||typeof e.io_read!="function"||typeof e.io_write!="function")throw"Z80: Core object is missing required functions.";let r=0,c=0,m=0,o=0,d=0,x=0,a=0,W=0,y=0,p=0,N=0,k=0,G=0,u0=0,A=0,R=0,L=0,F=0,z=57328,i=0,f={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},T0=0,V=0,D0=0,_=!1,S=!1,Y0=!1,t0=0;function q(){return{PC:i,SP:z,IX:A,IY:R,AF:(r<<8)+X0(),BC:(c<<8)+m,DE:(o<<8)+d,HL:(x<<8)+a,AF_:(W<<8)+W0(),BC_:(y<<8)+p,DE_:(N<<8)+k,HL_:(G<<8)+u0,IR:(L<<8)+F,im:T0,iff1:V,iff2:D0,halted:_,do_delayed_di:S,do_delayed_ei:Y0,cycle_counter:t0}}function V0(t){i=t.PC,z=t.SP,A=t.IX,R=t.IY,r=t.AF>>8&255,F0(t.AF),c=t.BC>>8&255,m=t.BC&255,o=t.DE>>8&255,d=t.DE&255,x=t.HL>>8&255,a=t.HL&255,W=t.AF_>>8&255,w0(t.AF_),y=t.BC_>>8&255,p=t.BC_&255,N=t.DE_>>8&255,k=t.DE_&255,G=t.HL_>>8&255,u0=t.HL_&255,L=t.IR>>8&255,F=t.IR&255,T0=t.im,V=t.iff1,D0=t.iff2,_=t.halted,S=t.do_delayed_di,Y0=t.do_delayed_ei,t0=t.cycle_counter}let K=function(){z=57328,i=0,r=0,F=0,F0(0),T0=0,V=0,D0=0,_=!1,S=!1,Y0=!1,t0=0},U=function(){if(_)return 1;var t=!1,b=!1;S?(S=!1,t=!0):Y0&&(Y0=!1,b=!0),F=F&128|(F&127)+1&127;var P=e.mem_read(i);x0(P),i=i+1&65535,t?(V=0,D0=0):b&&(V=1,D0=1);var y0=t0;return t0=0,y0},A0=function(t,b){if(t)return F=F&128|(F&127)+1&127,_=!1,D0=V,V=0,O0(i),i=102,t0+=11,!0;if(V){if(F=F&128|(F&127)+1&127,_=!1,V=0,D0=0,T0===0)i=i-1&65535,x0(b),i=i+1&65535,t0+=2;else if(T0===1)O0(i),i=56,t0+=13;else if(T0===2){O0(i);var P=L<<8|b;i=e.mem_read(P)|e.mem_read(P+1&65535)<<8,t0+=19}return!0}},x0=function(t){var b=function(I0){return(I0&7)==0?c:(I0&7)==1?m:(I0&7)==2?o:(I0&7)==3?d:(I0&7)==4?x:(I0&7)==5?a:(I0&7)==6?e.mem_read(a|x<<8):r};if(t===118)_=!0;else if(t>=64&&t<128){var P=b(t);(t&56)>>>3==0?c=P:(t&56)>>>3==1?m=P:(t&56)>>>3==2?o=P:(t&56)>>>3==3?d=P:(t&56)>>>3==4?x=P:(t&56)>>>3==5?a=P:(t&56)>>>3==6?e.mem_write(a|x<<8,P):(t&56)>>>3==7&&(r=P)}else if(t>=128&&t<192){var P=b(t),y0=[c0,i0,Z,w,f0,n0,M,T];y0[(t&56)>>>3](P)}else{var J0=v[t];J0()}t0+=u[t]},I=function(t){return t&=255,t&128&&(t=-((255&~t)+1)),t},X0=function(){return f.S<<7|f.Z<<6|f.Y<<5|f.H<<4|f.X<<3|f.P<<2|f.N<<1|f.C},W0=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},F0=function(t){f.S=(t&128)>>>7,f.Z=(t&64)>>>6,f.Y=(t&32)>>>5,f.H=(t&16)>>>4,f.X=(t&8)>>>3,f.P=(t&4)>>>2,f.N=(t&2)>>>1,f.C=t&1},w0=function(t){g0.S=(t&128)>>>7,g0.Z=(t&64)>>>6,g0.Y=(t&32)>>>5,g0.H=(t&16)>>>4,g0.X=(t&8)>>>3,g0.P=(t&4)>>>2,g0.N=(t&2)>>>1,g0.C=t&1},Q=function(t){f.Y=(t&32)>>>5,f.X=(t&8)>>>3},l0=function(t){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[t]},O0=function(t){z=z-1&65535,e.mem_write(z,(t&65280)>>>8),z=z-1&65535,e.mem_write(z,t&255)},b0=function(){var t=e.mem_read(z)&255;return z=z+1&65535,t|=e.mem_read(z)<<8,z=z+1&65535,t},B0=function(t){t?(i=e.mem_read(i+1&65535)|e.mem_read(i+2&65535)<<8,i=i-1&65535):i=i+2&65535},z0=function(t){if(t){t0+=5;var b=I(e.mem_read(i+1&65535));i=i+b+1&65535}else i=i+1&65535},E0=function(t){t?(t0+=7,O0(i+3&65535),i=e.mem_read(i+1&65535)|e.mem_read(i+2&65535)<<8,i=i-1&65535):i=i+2&65535},U0=function(t){t&&(t0+=6,i=b0()-1&65535)},p0=function(t){O0(i+1&65535),i=t-1&65535},c0=function(t){var b=r+t;f.S=b&128?1:0,f.Z=b&255?0:1,f.H=(t&15)+(r&15)&16?1:0,f.P=(r&128)==(t&128)&&(r&128)!=(b&128)?1:0,f.N=0,f.C=b&256?1:0,r=b&255,Q(r)},i0=function(t){var b=r+t+f.C;f.S=b&128?1:0,f.Z=b&255?0:1,f.H=(t&15)+(r&15)+f.C&16?1:0,f.P=(r&128)==(t&128)&&(r&128)!=(b&128)?1:0,f.N=0,f.C=b&256?1:0,r=b&255,Q(r)},Z=function(t){var b=r-t;f.S=b&128?1:0,f.Z=b&255?0:1,f.H=(r&15)-(t&15)&16?1:0,f.P=(r&128)!=(t&128)&&(r&128)!=(b&128)?1:0,f.N=1,f.C=b&256?1:0,r=b&255,Q(r)},w=function(t){var b=r-t-f.C;f.S=b&128?1:0,f.Z=b&255?0:1,f.H=(r&15)-(t&15)-f.C&16?1:0,f.P=(r&128)!=(t&128)&&(r&128)!=(b&128)?1:0,f.N=1,f.C=b&256?1:0,r=b&255,Q(r)},T=function(t){var b=r;Z(t),r=b,Q(t)},f0=function(t){r&=t&255,f.S=r&128?1:0,f.Z=r?0:1,f.H=1,f.P=l0(r),f.N=0,f.C=0,Q(r)},M=function(t){r=(t|r)&255,f.S=r&128?1:0,f.Z=r?0:1,f.H=0,f.P=l0(r),f.N=0,f.C=0,Q(r)},n0=function(t){r=(t^r)&255,f.S=r&128?1:0,f.Z=r?0:1,f.H=0,f.P=l0(r),f.N=0,f.C=0,Q(r)},O=function(t){var b=t+1;return f.S=b&128?1:0,f.Z=b&255?0:1,f.H=(t&15)==15?1:0,f.P=t===127?1:0,f.N=0,b&=255,Q(b),b},E=function(t){var b=t-1;return f.S=b&128?1:0,f.Z=b&255?0:1,f.H=(t&15)==0?1:0,f.P=t===128?1:0,f.N=1,b&=255,Q(b),b},_0=function(t){var b=a|x<<8,P=b+t;f.N=0,f.C=P&65536?1:0,f.H=(b&4095)+(t&4095)&4096?1:0,a=P&255,x=(P&65280)>>>8,Q(x)},H=function(t){t+=f.C;var b=a|x<<8,P=b+t;f.S=P&32768?1:0,f.Z=P&65535?0:1,f.H=(b&4095)+(t&4095)&4096?1:0,f.P=(b&32768)==(t&32768)&&(P&32768)!=(b&32768)?1:0,f.N=0,f.C=P&65536?1:0,a=P&255,x=P>>>8&255,Q(x)},r0=function(t){t+=f.C;var b=a|x<<8,P=b-t;f.S=P&32768?1:0,f.Z=P&65535?0:1,f.H=(b&4095)-(t&4095)&4096?1:0,f.P=(b&32768)!=(t&32768)&&(P&32768)!=(b&32768)?1:0,f.N=1,f.C=P&65536?1:0,a=P&255,x=P>>>8&255,Q(x)},C0=function(t){var b=e.io_read(t);return f.S=b&128?1:0,f.Z=b?0:1,f.H=0,f.P=l0(b)?1:0,f.N=0,Q(b),b},$=function(){r!==128&&(r=I(r),r=-r&255),f.S=r&128?1:0,f.Z=r?0:1,f.H=(-r&15)>0?1:0,f.P=r===128?1:0,f.N=1,f.C=r?1:0,Q(r)},m0=function(){var t=e.mem_read(a|x<<8);e.mem_write(d|o<<8,t);var b=(d|o<<8)+1;d=b&255,o=(b&65280)>>>8,b=(a|x<<8)+1,a=b&255,x=(b&65280)>>>8,b=(m|c<<8)-1,m=b&255,c=(b&65280)>>>8,f.H=0,f.P=m||c?1:0,f.N=0,f.Y=(r+t&2)>>>1,f.X=(r+t&8)>>>3},N0=function(){var t=f.C,b=e.mem_read(a|x<<8);T(b),f.C=t,f.Y=(r-b-f.H&2)>>>1,f.X=(r-b-f.H&8)>>>3;var P=(a|x<<8)+1;a=P&255,x=(P&65280)>>>8,P=(m|c<<8)-1,m=P&255,c=(P&65280)>>>8,f.P=P?1:0},Y=function(){c=E(c),e.mem_write(a|x<<8,e.io_read(c<<8|m));var t=(a|x<<8)+1;a=t&255,x=(t&65280)>>>8,f.N=1},e0=function(){e.io_write(c<<8|m,e.mem_read(a|x<<8));var t=(a|x<<8)+1;a=t&255,x=(t&65280)>>>8,c=E(c),f.N=1},s0=function(){f.N=0,f.H=0;var t=e.mem_read(a|x<<8);e.mem_write(d|o<<8,t);var b=(d|o<<8)-1;d=b&255,o=(b&65280)>>>8,b=(a|x<<8)-1,a=b&255,x=(b&65280)>>>8,b=(m|c<<8)-1,m=b&255,c=(b&65280)>>>8,f.P=m||c?1:0,f.Y=(r+t&2)>>>1,f.X=(r+t&8)>>>3},P0=function(){var t=f.C,b=e.mem_read(a|x<<8);T(b),f.C=t,f.Y=(r-b-f.H&2)>>>1,f.X=(r-b-f.H&8)>>>3;var P=(a|x<<8)-1;a=P&255,x=(P&65280)>>>8,P=(m|c<<8)-1,m=P&255,c=(P&65280)>>>8,f.P=P?1:0},R0=function(){c=E(c),e.mem_write(a|x<<8,e.io_read(c<<8|m));var t=(a|x<<8)-1;a=t&255,x=(t&65280)>>>8,f.N=1},H0=function(){e.io_write(c<<8|m,e.mem_read(a|x<<8));var t=(a|x<<8)-1;a=t&255,x=(t&65280)>>>8,c=E(c),f.N=1},o0=function(t){return f.N=0,f.H=0,f.C=(t&128)>>>7,t=(t<<1|f.C)&255,f.Z=t?0:1,f.P=l0(t),f.S=t&128?1:0,Q(t),t},d0=function(t){return f.N=0,f.H=0,f.C=t&1,t=t>>>1&127|f.C<<7,f.Z=t&255?0:1,f.P=l0(t),f.S=t&128?1:0,Q(t),t&255},Z0=function(t){f.N=0,f.H=0;var b=f.C;return f.C=(t&128)>>>7,t=(t<<1|b)&255,f.Z=t?0:1,f.P=l0(t),f.S=t&128?1:0,Q(t),t},k0=function(t){f.N=0,f.H=0;var b=f.C;return f.C=t&1,t=t>>>1&127|b<<7,f.Z=t?0:1,f.P=l0(t),f.S=t&128?1:0,Q(t),t},K0=function(t){return f.N=0,f.H=0,f.C=(t&128)>>>7,t=t<<1&255,f.Z=t?0:1,f.P=l0(t),f.S=t&128?1:0,Q(t),t},X=function(t){return f.N=0,f.H=0,f.C=t&1,t=t>>>1&127|t&128,f.Z=t?0:1,f.P=l0(t),f.S=t&128?1:0,Q(t),t},j0=function(t){return f.N=0,f.H=0,f.C=(t&128)>>>7,t=t<<1&255|1,f.Z=t?0:1,f.P=l0(t),f.S=t&128?1:0,Q(t),t},Q0=function(t){return f.N=0,f.H=0,f.C=t&1,t=t>>>1&127,f.Z=t?0:1,f.P=l0(t),f.S=0,Q(t),t},ee=function(t){f.N=0;var b=A+t;f.C=b&65536?1:0,f.H=(A&4095)+(t&4095)&4096?1:0,Q((b&65280)>>>8),A=b&65535},v=[];v[0]=function(){},v[1]=function(){i=i+1&65535,m=e.mem_read(i),i=i+1&65535,c=e.mem_read(i)},v[2]=function(){e.mem_write(m|c<<8,r)},v[3]=function(){var t=m|c<<8;t+=1,m=t&255,c=(t&65280)>>>8},v[4]=function(){c=O(c)},v[5]=function(){c=E(c)},v[6]=function(){i=i+1&65535,c=e.mem_read(i)},v[7]=function(){var t=f.S,b=f.Z,P=f.P;r=o0(r),f.S=t,f.Z=b,f.P=P},v[8]=function(){var t=r;r=W,W=t,t=X0(),F0(W0()),w0(t)},v[9]=function(){_0(m|c<<8)},v[10]=function(){r=e.mem_read(m|c<<8)},v[11]=function(){var t=m|c<<8;t-=1,m=t&255,c=(t&65280)>>>8},v[12]=function(){m=O(m)},v[13]=function(){m=E(m)},v[14]=function(){i=i+1&65535,m=e.mem_read(i)},v[15]=function(){var t=f.S,b=f.Z,P=f.P;r=d0(r),f.S=t,f.Z=b,f.P=P},v[16]=function(){c=c-1&255,z0(c!==0)},v[17]=function(){i=i+1&65535,d=e.mem_read(i),i=i+1&65535,o=e.mem_read(i)},v[18]=function(){e.mem_write(d|o<<8,r)},v[19]=function(){var t=d|o<<8;t+=1,d=t&255,o=(t&65280)>>>8},v[20]=function(){o=O(o)},v[21]=function(){o=E(o)},v[22]=function(){i=i+1&65535,o=e.mem_read(i)},v[23]=function(){var t=f.S,b=f.Z,P=f.P;r=Z0(r),f.S=t,f.Z=b,f.P=P},v[24]=function(){var t=I(e.mem_read(i+1&65535));i=i+t+1&65535},v[25]=function(){_0(d|o<<8)},v[26]=function(){r=e.mem_read(d|o<<8)},v[27]=function(){var t=d|o<<8;t-=1,d=t&255,o=(t&65280)>>>8},v[28]=function(){d=O(d)},v[29]=function(){d=E(d)},v[30]=function(){i=i+1&65535,d=e.mem_read(i)},v[31]=function(){var t=f.S,b=f.Z,P=f.P;r=k0(r),f.S=t,f.Z=b,f.P=P},v[32]=function(){z0(!f.Z)},v[33]=function(){i=i+1&65535,a=e.mem_read(i),i=i+1&65535,x=e.mem_read(i)},v[34]=function(){i=i+1&65535;var t=e.mem_read(i);i=i+1&65535,t|=e.mem_read(i)<<8,e.mem_write(t,a),e.mem_write(t+1&65535,x)},v[35]=function(){var t=a|x<<8;t+=1,a=t&255,x=(t&65280)>>>8},v[36]=function(){x=O(x)},v[37]=function(){x=E(x)},v[38]=function(){i=i+1&65535,x=e.mem_read(i)},v[39]=function(){var t=r;f.N?((f.H||(r&15)>9)&&(t-=6),(f.C||r>153)&&(t-=96)):((f.H||(r&15)>9)&&(t+=6),(f.C||r>153)&&(t+=96)),f.S=t&128?1:0,f.Z=t&255?0:1,f.H=r&16^t&16?1:0,f.P=l0(t&255),f.C=f.C||r>153?1:0,r=t&255,Q(r)},v[40]=function(){z0(!!f.Z)},v[41]=function(){_0(a|x<<8)},v[42]=function(){i=i+1&65535;var t=e.mem_read(i);i=i+1&65535,t|=e.mem_read(i)<<8,a=e.mem_read(t),x=e.mem_read(t+1&65535)},v[43]=function(){var t=a|x<<8;t-=1,a=t&255,x=(t&65280)>>>8},v[44]=function(){a=O(a)},v[45]=function(){a=E(a)},v[46]=function(){i=i+1&65535,a=e.mem_read(i)},v[47]=function(){r=~r&255,f.N=1,f.H=1,Q(r)},v[48]=function(){z0(!f.C)},v[49]=function(){z=e.mem_read(i+1&65535)|e.mem_read(i+2&65535)<<8,i=i+2&65535},v[50]=function(){i=i+1&65535;var t=e.mem_read(i);i=i+1&65535,t|=e.mem_read(i)<<8,e.mem_write(t,r)},v[51]=function(){z=z+1&65535},v[52]=function(){var t=a|x<<8;e.mem_write(t,O(e.mem_read(t)))},v[53]=function(){var t=a|x<<8;e.mem_write(t,E(e.mem_read(t)))},v[54]=function(){i=i+1&65535,e.mem_write(a|x<<8,e.mem_read(i))},v[55]=function(){f.N=0,f.H=0,f.C=1,Q(r)},v[56]=function(){z0(!!f.C)},v[57]=function(){_0(z)},v[58]=function(){i=i+1&65535;var t=e.mem_read(i);i=i+1&65535,t|=e.mem_read(i)<<8,r=e.mem_read(t)},v[59]=function(){z=z-1&65535},v[60]=function(){r=O(r)},v[61]=function(){r=E(r)},v[62]=function(){r=e.mem_read(i+1&65535),i=i+1&65535},v[63]=function(){f.N=0,f.H=f.C,f.C=f.C?0:1,Q(r)},v[192]=function(){U0(!f.Z)},v[193]=function(){var t=b0();m=t&255,c=(t&65280)>>>8},v[194]=function(){B0(!f.Z)},v[195]=function(){i=e.mem_read(i+1&65535)|e.mem_read(i+2&65535)<<8,i=i-1&65535},v[196]=function(){E0(!f.Z)},v[197]=function(){O0(m|c<<8)},v[198]=function(){i=i+1&65535,c0(e.mem_read(i))},v[199]=function(){p0(0)},v[200]=function(){U0(!!f.Z)},v[201]=function(){i=b0()-1&65535},v[202]=function(){B0(!!f.Z)},v[203]=function(){F=F&128|(F&127)+1&127,i=i+1&65535;var t=e.mem_read(i),b=(t&56)>>>3,P=t&7;if(t<64){var y0=[o0,d0,Z0,k0,K0,X,j0,Q0];P===0?c=y0[b](c):P===1?m=y0[b](m):P===2?o=y0[b](o):P===3?d=y0[b](d):P===4?x=y0[b](x):P===5?a=y0[b](a):P===6?e.mem_write(a|x<<8,y0[b](e.mem_read(a|x<<8))):P===7&&(r=y0[b](r))}else t<128?(P===0?f.Z=c&1<<b?0:1:P===1?f.Z=m&1<<b?0:1:P===2?f.Z=o&1<<b?0:1:P===3?f.Z=d&1<<b?0:1:P===4?f.Z=x&1<<b?0:1:P===5?f.Z=a&1<<b?0:1:P===6?f.Z=e.mem_read(a|x<<8)&1<<b?0:1:P===7&&(f.Z=r&1<<b?0:1),f.N=0,f.H=1,f.P=f.Z,f.S=b===7&&!f.Z?1:0,f.Y=b===5&&!f.Z?1:0,f.X=b===3&&!f.Z?1:0):t<192?P===0?c&=255&~(1<<b):P===1?m&=255&~(1<<b):P===2?o&=255&~(1<<b):P===3?d&=255&~(1<<b):P===4?x&=255&~(1<<b):P===5?a&=255&~(1<<b):P===6?e.mem_write(a|x<<8,e.mem_read(a|x<<8)&~(1<<b)):P===7&&(r&=255&~(1<<b)):P===0?c|=1<<b:P===1?m|=1<<b:P===2?o|=1<<b:P===3?d|=1<<b:P===4?x|=1<<b:P===5?a|=1<<b:P===6?e.mem_write(a|x<<8,e.mem_read(a|x<<8)|1<<b):P===7&&(r|=1<<b);t0+=g[t]},v[204]=function(){E0(!!f.Z)},v[205]=function(){O0(i+3&65535),i=e.mem_read(i+1&65535)|e.mem_read(i+2&65535)<<8,i=i-1&65535},v[206]=function(){i=i+1&65535,i0(e.mem_read(i))},v[207]=function(){p0(8)},v[208]=function(){U0(!f.C)},v[209]=function(){var t=b0();d=t&255,o=(t&65280)>>>8},v[210]=function(){B0(!f.C)},v[211]=function(){i=i+1&65535,e.io_write(r<<8|e.mem_read(i),r)},v[212]=function(){E0(!f.C)},v[213]=function(){O0(d|o<<8)},v[214]=function(){i=i+1&65535,Z(e.mem_read(i))},v[215]=function(){p0(16)},v[216]=function(){U0(!!f.C)},v[217]=function(){var t=c;c=y,y=t,t=m,m=p,p=t,t=o,o=N,N=t,t=d,d=k,k=t,t=x,x=G,G=t,t=a,a=u0,u0=t},v[218]=function(){B0(!!f.C)},v[219]=function(){i=i+1&65535,r=e.io_read(r<<8|e.mem_read(i))},v[220]=function(){E0(!!f.C)},v[221]=function(){F=F&128|(F&127)+1&127,i=i+1&65535;var t=e.mem_read(i),b=D[t];b?(b(),t0+=s[t]):(i=i-1&65535,t0+=u[0])},v[222]=function(){i=i+1&65535,w(e.mem_read(i))},v[223]=function(){p0(24)},v[224]=function(){U0(!f.P)},v[225]=function(){var t=b0();a=t&255,x=(t&65280)>>>8},v[226]=function(){B0(!f.P)},v[227]=function(){var t=e.mem_read(z);e.mem_write(z,a),a=t,t=e.mem_read(z+1&65535),e.mem_write(z+1&65535,x),x=t},v[228]=function(){E0(!f.P)},v[229]=function(){O0(a|x<<8)},v[230]=function(){i=i+1&65535,f0(e.mem_read(i))},v[231]=function(){p0(32)},v[232]=function(){U0(!!f.P)},v[233]=function(){i=a|x<<8,i=i-1&65535},v[234]=function(){B0(!!f.P)},v[235]=function(){var t=o;o=x,x=t,t=d,d=a,a=t},v[236]=function(){E0(!!f.P)},v[237]=function(){F=F&128|(F&127)+1&127,i=i+1&65535;var t=e.mem_read(i),b=B[t];b?(b(),t0+=n[t]):t0+=u[0]},v[238]=function(){i=i+1&65535,n0(e.mem_read(i))},v[239]=function(){p0(40)},v[240]=function(){U0(!f.S)},v[241]=function(){var t=b0();F0(t&255),r=(t&65280)>>>8},v[242]=function(){B0(!f.S)},v[243]=function(){S=!0},v[244]=function(){E0(!f.S)},v[245]=function(){O0(X0()|r<<8)},v[246]=function(){i=i+1&65535,M(e.mem_read(i))},v[247]=function(){p0(48)},v[248]=function(){U0(!!f.S)},v[249]=function(){z=a|x<<8},v[250]=function(){B0(!!f.S)},v[251]=function(){Y0=!0},v[252]=function(){E0(!!f.S)},v[253]=function(){F=F&128|(F&127)+1&127,i=i+1&65535;var t=e.mem_read(i),b=D[t];if(b){var P=A;A=R,b(),R=A,A=P,t0+=s[t]}else i=i-1&65535,t0+=u[0]},v[254]=function(){i=i+1&65535,T(e.mem_read(i))},v[255]=function(){p0(56)};let B=[];B[64]=function(){c=C0(c<<8|m)},B[65]=function(){e.io_write(c<<8|m,c)},B[66]=function(){r0(m|c<<8)},B[67]=function(){i=i+1&65535;var t=e.mem_read(i);i=i+1&65535,t|=e.mem_read(i)<<8,e.mem_write(t,m),e.mem_write(t+1&65535,c)},B[68]=function(){$()},B[69]=function(){i=b0()-1&65535,V=D0},B[70]=function(){T0=0},B[71]=function(){L=r},B[72]=function(){m=C0(c<<8|m)},B[73]=function(){e.io_write(c<<8|m,m)},B[74]=function(){H(m|c<<8)},B[75]=function(){i=i+1&65535;var t=e.mem_read(i);i=i+1&65535,t|=e.mem_read(i)<<8,m=e.mem_read(t),c=e.mem_read(t+1&65535)},B[76]=function(){$()},B[77]=function(){i=b0()-1&65535},B[78]=function(){T0=0},B[79]=function(){F=r},B[80]=function(){o=C0(c<<8|m)},B[81]=function(){e.io_write(c<<8|m,o)},B[82]=function(){r0(d|o<<8)},B[83]=function(){i=i+1&65535;var t=e.mem_read(i);i=i+1&65535,t|=e.mem_read(i)<<8,e.mem_write(t,d),e.mem_write(t+1&65535,o)},B[84]=function(){$()},B[85]=function(){i=b0()-1&65535,V=D0},B[86]=function(){T0=1},B[87]=function(){r=L,f.S=r&128?1:0,f.Z=r?0:1,f.H=0,f.P=D0,f.N=0,Q(r)},B[88]=function(){d=C0(c<<8|m)},B[89]=function(){e.io_write(c<<8|m,d)},B[90]=function(){H(d|o<<8)},B[91]=function(){i=i+1&65535;var t=e.mem_read(i);i=i+1&65535,t|=e.mem_read(i)<<8,d=e.mem_read(t),o=e.mem_read(t+1&65535)},B[92]=function(){$()},B[93]=function(){i=b0()-1&65535,V=D0},B[94]=function(){T0=2},B[95]=function(){r=F,f.S=r&128?1:0,f.Z=r?0:1,f.H=0,f.P=D0,f.N=0,Q(r)},B[96]=function(){x=C0(c<<8|m)},B[97]=function(){e.io_write(c<<8|m,x)},B[98]=function(){r0(a|x<<8)},B[99]=function(){i=i+1&65535;var t=e.mem_read(i);i=i+1&65535,t|=e.mem_read(i)<<8,e.mem_write(t,a),e.mem_write(t+1&65535,x)},B[100]=function(){$()},B[101]=function(){i=b0()-1&65535,V=D0},B[102]=function(){T0=0},B[103]=function(){var t=e.mem_read(a|x<<8),b=t&15,P=r&15;t=(t&240)>>>4|P<<4,r=r&240|b,e.mem_write(a|x<<8,t),f.S=r&128?1:0,f.Z=r?0:1,f.H=0,f.P=l0(r)?1:0,f.N=0,Q(r)},B[104]=function(){a=C0(c<<8|m)},B[105]=function(){e.io_write(c<<8|m,a)},B[106]=function(){H(a|x<<8)},B[107]=function(){i=i+1&65535;var t=e.mem_read(i);i=i+1&65535,t|=e.mem_read(i)<<8,a=e.mem_read(t),x=e.mem_read(t+1&65535)},B[108]=function(){$()},B[109]=function(){i=b0()-1&65535,V=D0},B[110]=function(){T0=0},B[111]=function(){var t=e.mem_read(a|x<<8),b=t&240,P=r&15;t=(t&15)<<4|P,r=r&240|b>>>4,e.mem_write(a|x<<8,t),f.S=r&128?1:0,f.Z=r?0:1,f.H=0,f.P=l0(r)?1:0,f.N=0,Q(r)},B[112]=function(){C0(c<<8|m)},B[113]=function(){e.io_write(c<<8|m,0)},B[114]=function(){r0(z)},B[115]=function(){i=i+1&65535;var t=e.mem_read(i);i=i+1&65535,t|=e.mem_read(i)<<8,e.mem_write(t,z&255),e.mem_write(t+1&65535,z>>>8&255)},B[116]=function(){$()},B[117]=function(){i=b0()-1&65535,V=D0},B[118]=function(){T0=1},B[120]=function(){r=C0(c<<8|m)},B[121]=function(){e.io_write(c<<8|m,r)},B[122]=function(){H(z)},B[123]=function(){i=i+1&65535;var t=e.mem_read(i);i=i+1&65535,t|=e.mem_read(i)<<8,z=e.mem_read(t),z|=e.mem_read(t+1&65535)<<8},B[124]=function(){$()},B[125]=function(){i=b0()-1&65535,V=D0},B[126]=function(){T0=2},B[160]=function(){m0()},B[161]=function(){N0()},B[162]=function(){Y()},B[163]=function(){e0()},B[168]=function(){s0()},B[169]=function(){P0()},B[170]=function(){R0()},B[171]=function(){H0()},B[176]=function(){m0(),(c||m)&&(t0+=5,i=i-2&65535)},B[177]=function(){N0(),!f.Z&&(c||m)&&(t0+=5,i=i-2&65535)},B[178]=function(){Y(),c&&(t0+=5,i=i-2&65535)},B[179]=function(){e0(),c&&(t0+=5,i=i-2&65535)},B[184]=function(){s0(),(c||m)&&(t0+=5,i=i-2&65535)},B[185]=function(){P0(),!f.Z&&(c||m)&&(t0+=5,i=i-2&65535)},B[186]=function(){R0(),c&&(t0+=5,i=i-2&65535)},B[187]=function(){H0(),c&&(t0+=5,i=i-2&65535)};let D=[];D[9]=function(){ee(m|c<<8)},D[25]=function(){ee(d|o<<8)},D[33]=function(){i=i+1&65535,A=e.mem_read(i),i=i+1&65535,A|=e.mem_read(i)<<8},D[34]=function(){i=i+1&65535;var t=e.mem_read(i);i=i+1&65535,t|=e.mem_read(i)<<8,e.mem_write(t,A&255),e.mem_write(t+1&65535,A>>>8&255)},D[35]=function(){A=A+1&65535},D[36]=function(){A=O(A>>>8)<<8|A&255},D[37]=function(){A=E(A>>>8)<<8|A&255},D[38]=function(){i=i+1&65535,A=e.mem_read(i)<<8|A&255},D[41]=function(){ee(A)},D[42]=function(){i=i+1&65535;var t=e.mem_read(i);i=i+1&65535,t|=e.mem_read(i)<<8,A=e.mem_read(t),A|=e.mem_read(t+1&65535)<<8},D[43]=function(){A=A-1&65535},D[44]=function(){A=O(A&255)|A&65280},D[45]=function(){A=E(A&255)|A&65280},D[46]=function(){i=i+1&65535,A=e.mem_read(i)&255|A&65280},D[52]=function(){i=i+1&65535;var t=I(e.mem_read(i)),b=e.mem_read(t+A&65535);e.mem_write(t+A&65535,O(b))},D[53]=function(){i=i+1&65535;var t=I(e.mem_read(i)),b=e.mem_read(t+A&65535);e.mem_write(t+A&65535,E(b))},D[54]=function(){i=i+1&65535;var t=I(e.mem_read(i));i=i+1&65535,e.mem_write(A+t&65535,e.mem_read(i))},D[57]=function(){ee(z)},D[68]=function(){c=A>>>8&255},D[69]=function(){c=A&255},D[70]=function(){i=i+1&65535;var t=I(e.mem_read(i));c=e.mem_read(A+t&65535)},D[76]=function(){m=A>>>8&255},D[77]=function(){m=A&255},D[78]=function(){i=i+1&65535;var t=I(e.mem_read(i));m=e.mem_read(A+t&65535)},D[84]=function(){o=A>>>8&255},D[85]=function(){o=A&255},D[86]=function(){i=i+1&65535;var t=I(e.mem_read(i));o=e.mem_read(A+t&65535)},D[92]=function(){d=A>>>8&255},D[93]=function(){d=A&255},D[94]=function(){i=i+1&65535;var t=I(e.mem_read(i));d=e.mem_read(A+t&65535)},D[96]=function(){A=A&255|c<<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(){i=i+1&65535;var t=I(e.mem_read(i));x=e.mem_read(A+t&65535)},D[103]=function(){A=A&255|r<<8},D[104]=function(){A=A&65280|c},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(){i=i+1&65535;var t=I(e.mem_read(i));a=e.mem_read(A+t&65535)},D[111]=function(){A=A&65280|r},D[112]=function(){i=i+1&65535;var t=I(e.mem_read(i));e.mem_write(A+t&65535,c)},D[113]=function(){i=i+1&65535;var t=I(e.mem_read(i));e.mem_write(A+t&65535,m)},D[114]=function(){i=i+1&65535;var t=I(e.mem_read(i));e.mem_write(A+t&65535,o)},D[115]=function(){i=i+1&65535;var t=I(e.mem_read(i));e.mem_write(A+t&65535,d)},D[116]=function(){i=i+1&65535;var t=I(e.mem_read(i));e.mem_write(A+t&65535,x)},D[117]=function(){i=i+1&65535;var t=I(e.mem_read(i));e.mem_write(A+t&65535,a)},D[119]=function(){i=i+1&65535;var t=I(e.mem_read(i));e.mem_write(A+t&65535,r)},D[124]=function(){r=A>>>8&255},D[125]=function(){r=A&255},D[126]=function(){i=i+1&65535;var t=I(e.mem_read(i));r=e.mem_read(A+t&65535)},D[132]=function(){c0(A>>>8&255)},D[133]=function(){c0(A&255)},D[134]=function(){i=i+1&65535;var t=I(e.mem_read(i));c0(e.mem_read(A+t&65535))},D[140]=function(){i0(A>>>8&255)},D[141]=function(){i0(A&255)},D[142]=function(){i=i+1&65535;var t=I(e.mem_read(i));i0(e.mem_read(A+t&65535))},D[148]=function(){Z(A>>>8&255)},D[149]=function(){Z(A&255)},D[150]=function(){i=i+1&65535;var t=I(e.mem_read(i));Z(e.mem_read(A+t&65535))},D[156]=function(){w(A>>>8&255)},D[157]=function(){w(A&255)},D[158]=function(){i=i+1&65535;var t=I(e.mem_read(i));w(e.mem_read(A+t&65535))},D[164]=function(){f0(A>>>8&255)},D[165]=function(){f0(A&255)},D[166]=function(){i=i+1&65535;var t=I(e.mem_read(i));f0(e.mem_read(A+t&65535))},D[172]=function(){n0(A>>>8&255)},D[173]=function(){n0(A&255)},D[174]=function(){i=i+1&65535;var t=I(e.mem_read(i));n0(e.mem_read(A+t&65535))},D[180]=function(){M(A>>>8&255)},D[181]=function(){M(A&255)},D[182]=function(){i=i+1&65535;var t=I(e.mem_read(i));M(e.mem_read(A+t&65535))},D[188]=function(){T(A>>>8&255)},D[189]=function(){T(A&255)},D[190]=function(){i=i+1&65535;var t=I(e.mem_read(i));T(e.mem_read(A+t&65535))},D[203]=function(){i=i+1&65535;var t=I(e.mem_read(i));i=i+1&65535;var b=e.mem_read(i),P;if(b<64){var y0=[o0,d0,Z0,k0,K0,X,j0,Q0],J0=y0[(b&56)>>>3],P=J0(e.mem_read(A+t&65535));e.mem_write(A+t&65535,P)}else{var I0=(b&56)>>>3;b<128?(f.N=0,f.H=1,f.Z=e.mem_read(A+t&65535)&1<<I0?0:1,f.P=f.Z,f.S=I0===7&&!f.Z?1:0):b<192?(P=e.mem_read(A+t&65535)&~(1<<I0)&255,e.mem_write(A+t&65535,P)):(P=e.mem_read(A+t&65535)|1<<I0,e.mem_write(A+t&65535,P))}P!==void 0&&((b&7)==0?c=P:(b&7)==1?m=P:(b&7)==2?o=P:(b&7)==3?d=P:(b&7)==4?x=P:(b&7)==5?a=P:(b&7)==7&&(r=P)),t0+=g[b]+8},D[225]=function(){A=b0()},D[227]=function(){var t=A;A=e.mem_read(z),A|=e.mem_read(z+1&65535)<<8,e.mem_write(z,t&255),e.mem_write(z+1&65535,t>>>8&255)},D[229]=function(){O0(A)},D[233]=function(){i=A-1&65535},D[249]=function(){z=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],n=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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=V0,this.reset=K,this.advanceInsn=U,this.interrupt=A0,this.getPC=()=>i,this.getSP=()=>z,this.getHalted=()=>_}var at=class{constructor(){this.retryInterrupts=!1;this.retryData=-1}buildCPU(){this.memBus&&this.ioBus&&(this.cpu=new un({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(e){this.memBus=e,this.buildCPU()}connectIOBus(e){this.ioBus=e,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(e){!this.cpu.interrupt(!1,e)&&this.retryInterrupts&&(this.retryData=e)}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(e){this.cpu.loadState(e)}isStable(){return!0}};var pt=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)}},mn=class{constructor(e){this.psg=new PsgDeviceChannel;this.curreg=0;this.master=e,this.psg.setMode(PsgDeviceChannel.MODE_SIGNED),this.psg.setDevice(PsgDeviceChannel.DEVICE_AY_3_8910),e.master.addChannel(this.psg)}reset(){for(var e=15;e>=0;e--)this.selectRegister(e),this.setData(0)}selectRegister(e){this.curreg=e&15}setData(e){this.psg.writeRegisterAY(this.curreg,e&255)}readData(){return this.psg.readRegister(this.curreg)}currentRegister(){return this.curreg}},ln=class{constructor(e){this.psg=new PsgDeviceChannel;this.master=e,this.psg.setMode(PsgDeviceChannel.MODE_SIGNED),this.psg.setDevice(PsgDeviceChannel.DEVICE_SN76489),e.master.addChannel(this.psg)}reset(){}setData(e){this.psg.writeRegisterSN(0,e&255)}};function Mn(h){for(var e=new pt,r=1;r<=h;r++){var c=new bn;e["pokey"+r]=c,e.master.addChannel(c)}return e}function Ne(h,e){for(var r=new Uint8Array(h.length*e.length),c=0,m=0;m<r.length;m++)r[m]=e[c%e.length],h[m%h.length]&&c++;return r}function Xe(h){var e=new Uint8Array(h*2);return e.fill(1,0,h),e}var bn=function(){for(var h=128,e=64,r=32,c=16,m=15,o=128,d=64,x=32,a=16,W=8,y=4,p=2,N=1,k=28,G=114,u0=15,A=31,R=511,L=131071,F=0,z=1,i=2,f=3,g0=0,T0=4,V=8,D0=12,_=127,S=1789790,Y0=1787520,t0=new Uint8Array([1]),q=new Uint8Array([0,1]),V0=new Uint8Array([1,1,0,1,1,1,0,0,0,0,1,0,1,0,0]),K=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]),U=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(1<<14),X0=0;X0<I.length;X0++)I[X0]=Math.random()>.5?1:0;var W0=Ne(I,K),F0=Ne(K,V0),w0=[W0,K,F0,K,I,q,V0,q],Q=Xe(2),l0=Xe(6),O0=Xe(31),b0=Xe(93),B0=Ne(A0,V0),z0=Ne(K,Q),E0=Ne(K,l0),U0=[t0,V0,B0,F0,Q,Q,O0,z0,U,K,O0,t0,l0,l0,b0,E0],p0=new Uint8Array(16),c0=new Float32Array(4),i0=new Float32Array(4),Z=new Float32Array(4),w=new Uint8Array(4),T=[t0,t0,t0,t0],f0,M,n0,O,E=!0;this.setBufferLength=function(H){f0=new Int32Array(H)},this.getBuffer=function(){return f0},this.setSampleRate=function(H){M=H,O=S/H};function _0(H){var r0=p0[8],C0=r0&N?G:k,$,m0=H&4,N0=m0>>1,Y=m0>>2;r0&a>>Y?(r0&d>>Y?$=p0[m0+2]*256+p0[m0+0]+7:$=(p0[m0+2]*256+p0[m0+0]+1)*C0,i0[N0+1]=O/$,i0[N0+0]=0):(r0&d>>Y?$=p0[m0+0]+4:$=(p0[m0+0]+1)*C0,i0[N0+0]=O/$,$=(p0[m0+2]+1)*C0,i0[N0+1]=O/$)}this.setRegister=function(H,r0){if(H&=15,r0&=255,p0[H]!=r0)switch(p0[H]=r0,H){case 0:case 2:case 4:case 6:case 8:E=!0;break;case 1:case 3:case 5:case 7:Z[H>>1]=r0&15,T[H>>1]=w0[r0>>5];break}},this.getRegister=function(H){return H&=15,p0[H]},this.setTIARegister=function(H,r0){switch(H){case 23:case 24:p0[(H&1)*4]=r0&31,E=!0;break;case 21:case 22:T[(H&1)*2]=U0[r0&15];break;case 25:case 26:Z[(H&1)*2]=r0&15;break}},this.generate=function(H){E&&(_0(0),_0(4),E=!1);for(var r0=0;r0<H;r0+=2){for(var C0=0,$=0;$<4;$++){var m0=i0[$],N0=Z[$];if(m0>0&&m0<1&&N0>0){var Y=T[$],e0=c0[$]+=m0;e0>Y.length&&(e0=c0[$]=e0-Math.floor(e0/Y.length)*Y.length);var s0=Y[Math.floor(e0)];s0&&(C0+=N0)}}C0*=64,f0[r0]=C0,f0[r0+1]=C0}}},Tn=function(h){var e,r,c=[],m=0;h.onmessage=function(o){o&&o.data&&o.data.samples&&r&&(c.push(o.data.samples),m+=o.data.samples.length)},this.setBufferLength=function(o){r=new Int16Array(o),m=0},this.getBuffer=function(){return r},this.setSampleRate=function(o){e=o,h.postMessage({sampleRate:o})},this.generate=function(o){if(m<o*3){r.fill(0);return}for(var d=0;d<r.length&&c.length!=0;){var x=c.shift();m-=x.length;var a=r.length-d;x.length<a?r.set(x,d):(r.set(x.slice(0,a),d),c.unshift(x.slice(a)),m+=x.length-a),d+=x.length}}},dn=function(h){var e=this,r,c,m,o,d,x,a,W,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 L=x[a],F=0;F<A.length;F++)A[F]=L[F];a=(a+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;e.context=u0,e.sr=e.context.sampleRate,e.bufferlen=2048,e.filterNode=e.context.createBiquadFilter(),e.filterNode.type="lowshelf",e.filterNode.frequency.value=100,e.filterNode.gain.value=-6,typeof e.context.createScriptProcessor=="function"?e.mixerNode=e.context.createScriptProcessor(e.bufferlen,1,1):e.mixerNode=e.context.createJavaScriptNode(e.bufferlen,1,1),e.mixerNode.module=e,e.mixerNode.onaudioprocess=p,e.compressorNode=e.context.createDynamicsCompressor(),e.mixerNode.connect(e.filterNode),e.filterNode.connect(e.compressorNode),e.compressorNode.connect(e.context.destination)}this.start=function(){if(this.context){this.context.state=="suspended"&&this.context.resume();return}if(k(),!!this.context){c=this.sr*1/h,r=0,m=0,d=0,x=[],a=1,W=0;for(var G=0;G<y;G++){var u0=new ArrayBuffer(e.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[W]=o;var u0=(W+1)%x.length;u0==a?W=Math.floor(a+y/2)%x.length:W=u0,o=x[W]}},this.feedSample=function(G,u0){if(m+=G*u0,r+=c*u0,r>=1){for(m/=r;r>=1;)this.addSingleSample(m*c),r-=1;m*=r}}},it=class{constructor(e){this.sa=new dn(e)}feedSample(e,r){this.sa.feedSample(e,r)}start(){this.sa.start()}stop(){this.sa.stop()}},hn=class{constructor(e,r,c){this.audioGain=1/8192;this.bufferLength=r*2,this.channels=e.generate?[e]:e,this.channels.forEach(m=>{m.setBufferLength(this.bufferLength),m.setSampleRate(c)})}generate(e){var r=this.bufferLength,c=this.channels.map(o=>o.getBuffer());this.channels.forEach(o=>{o.generate(r)});for(let o=0;o<r;o+=2){var m=0;c.forEach(d=>m+=d[o]),e.feedSample(m*this.audioGain,1)}}};var L0;(function(L){L[L.CLOCKS=0]="CLOCKS",L[L.EXECUTE=16777216]="EXECUTE",L[L.INTERRUPT=134217728]="INTERRUPT",L[L.ILLEGAL=150994944]="ILLEGAL",L[L.SP_PUSH=167772160]="SP_PUSH",L[L.SP_POP=184549376]="SP_POP",L[L.HAS_VALUE=268435456]="HAS_VALUE",L[L.MEM_READ=301989888]="MEM_READ",L[L.MEM_WRITE=318767104]="MEM_WRITE",L[L.IO_READ=335544320]="IO_READ",L[L.IO_WRITE=352321536]="IO_WRITE",L[L.VRAM_READ=369098752]="VRAM_READ",L[L.VRAM_WRITE=385875968]="VRAM_WRITE",L[L.DMA_READ=402653184]="DMA_READ",L[L.DMA_WRITE=419430400]="DMA_WRITE",L[L.WAIT=520093696]="WAIT",L[L.SCANLINE=2113929216]="SCANLINE",L[L.FRAME=2130706432]="FRAME"})(L0||(L0={}));var ft=class{constructor(e,r){this.idx=0;this.sl=0;this.cur_sp=-1;this.singleFrame=!0;this.m=e,this.reset(r||1048576)}start(){this.m.connectProbe(this)}stop(){this.m.connectProbe(null)}reset(e){e&&(this.buf=new Uint32Array(e)),this.sl=0,this.cur_sp=-1,this.clear()}clear(){this.idx=0}logData(e){this.log(e)}log(e){this.idx>=this.buf.length||(this.buf[this.idx++]=e)}relog(e){this.buf[this.idx-1]=e}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(e){this.idx+e.length>this.buf.length&&(e=e.slice(0,this.buf.length-this.idx)),this.buf.set(e,this.idx),this.idx+=e.length}logClocks(e){e|=0,e>0&&(this.lastOp()==0?this.relog(this.lastAddr()+e|0):this.log(e|0))}logNewScanline(){this.log(2113929216),this.sl++}logNewFrame(){this.log(2130706432),this.sl=0,this.singleFrame&&this.clear()}logExecute(e,r){this.cur_sp!==r&&(r<this.cur_sp&&this.log(167772160|r),r>this.cur_sp&&this.log(184549376|r),this.cur_sp=r),this.log(e|16777216)}logInterrupt(e){this.log(e|134217728)}logValue(e,r,c){this.log(e&65535|(r&255)<<16|c)}logRead(e,r){this.logValue(e,r,301989888)}logWrite(e,r){this.logValue(e,r,318767104)}logIORead(e,r){this.logValue(e,r,335544320)}logIOWrite(e,r){this.logValue(e,r,352321536)}logVRAMRead(e,r){this.logValue(e,r,369098752)}logVRAMWrite(e,r){this.logValue(e,r,385875968)}logIllegal(e){this.log(e|150994944)}logWait(e){this.log(e|520093696)}logDMARead(e,r){this.logValue(e,r,402653184)}logDMAWrite(e,r){this.logValue(e,r,419430400)}countEvents(e){for(var r=0,c=0;c<this.idx;c++)(this.buf[c]&4278190080)==e&&r++;return r}countClocks(){for(var e=0,r=0;r<this.idx;r++)(this.buf[r]&4278190080)==0&&(e+=this.buf[r]&65535);return e}};var He=class{logClocks(){}logNewScanline(){}logNewFrame(){}logExecute(){}logInterrupt(){}logRead(){}logWrite(){}logIORead(){}logIOWrite(){}logVRAMRead(){}logVRAMWrite(){}logIllegal(){}logWait(){}logDMARead(){}logDMAWrite(){}logData(){}addLogBuffer(e){}},_t=class{constructor(){this.inputs=new Uint8Array(32);this.nullProbe=new He;this.probe=this.nullProbe}setKeyInput(e,r,c){this.handler&&this.handler(e,r,c)}connectProbe(e){this.probe=e||this.nullProbe}reset(){this.cpu.reset()}loadROM(e,r){if(this.rom||(this.rom=new Uint8Array(this.defaultROMSize)),e.length>this.rom.length)throw new Error(`ROM too big: ${e.length} > ${this.rom.length}}`);this.rom.set(e)}loadState(e){this.cpu.loadState(e.c),this.ram.set(e.ram),this.inputs.set(e.inputs)}saveState(){return{c:this.cpu.saveState(),ram:this.ram.slice(0),inputs:this.inputs.slice(0)}}loadControlsState(e){this.inputs.set(e.inputs)}saveControlsState(){return{inputs:this.inputs.slice(0)}}advanceCPU(){var e=this.cpu,r=1;return this.cpu.isStable()&&this.probe.logExecute(this.cpu.getPC(),this.cpu.getSP()),e.advanceClock?e.advanceClock():e.advanceInsn&&(r=e.advanceInsn(1)),this.probe.logClocks(r),r}probeMemoryBus(e){return{read:r=>{let c=e.read(r);return this.probe.logRead(r,c),c},write:(r,c)=>{this.probe.logWrite(r,c),e.write(r,c)}}}connectCPUMemoryBus(e){this.cpu.connectMemoryBus(this.probeMemoryBus(e))}probeIOBus(e){return{read:r=>{let c=e.read(r);return this.probe.logIORead(r,c),c},write:(r,c)=>{this.probe.logIOWrite(r,c),e.write(r,c)}}}probeDMABus(e){return{read:r=>{let c=e.read(r);return this.probe.logDMARead(r,c),c},write:(r,c)=>{this.probe.logDMAWrite(r,c),e.write(r,c)}}}connectCPUIOBus(e){this.cpu.connectIOBus(this.probeIOBus(e))}},Pt=class extends _t{constructor(){super(...arguments);this.overscan=!1;this.rotate=0}getAudioParams(){return{sampleRate:this.sampleRate,stereo:!1}}connectAudio(e){this.audio=e}getVideoParams(){return{width:this.canvasWidth,height:this.numVisibleScanlines,aspect:this.aspectRatio,overscan:this.overscan,rotate:this.rotate}}connectVideo(e){this.pixels=e}},An=class extends Pt{advanceFrame(e){this.preFrame();var r=0,c=0;this.probe.logNewFrame(),this.frameCycles=0;for(var m=0;m<this.numTotalScanlines;m++){for(r+=this.cpuCyclesPerLine,this.scanline=m,this.startScanline();this.frameCycles<r;){if(e&&e()){m=999;break}this.frameCycles+=this.advanceCPU(),c++}this.drawScanline(),this.probe.logNewScanline(),this.probe.logClocks(Math.floor(this.frameCycles-r))}return this.postFrame(),c}preFrame(){}postFrame(){}getRasterY(){return this.scanline}getRasterX(){return this.frameCycles%this.cpuCyclesPerLine}};var kt=["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"],wt=["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","","","",""],Dt=["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 ct(h,e,r,c,m){var o,d,x,a=[e,r,c,m],W=!1;switch(d=1,e){case 203:x=Dt[r],d++;break;case 237:r>=64&&r<=127&&(x=wt[r-64]),r>=160&&r<=191&&(x=wt[r-160+64]),d++;break;case 221:case 253:var y=e==221?"ix":"iy";r==203?(x=Dt[m],a[2]=m,a[3]=c,d++):x=kt[r],x=x.replace(/[(]hl[)]/,"("+y+"+x)"),x=x.replace(/\bhl\b/,y),d++;break;default:x=kt[e];break}if((!x||!x.length)&&(x="??"),/\bxx\b/.test(x))x=x.replace(/\bxx\b/,"$"+a0(a[d]+(a[d+1]<<8),4)),d+=2,W=!0;else if(/\bx\b/.test(x)){if(x.startsWith("j")){var p=r<128?h+2+r:h+2-(256-r);p&=65535,x=x.replace(/\bx\b/,"$"+a0(p,4)),W=!0}else x=x.replace(/\bx\b/,"$"+a0(a[d],2));d+=1}return{line:x.toUpperCase(),nbytes:d,isaddr:W}}var Ve=class{constructor(e){this.maxROMSize=262144;this.videoOffsetBytes=0;this.prefix=e;var r=this;this.cpu={getPC:r.getPC.bind(r),getSP:r.getSP.bind(r),isStable:r.isStable.bind(r),reset:r.reset.bind(r),saveState:()=>r.getCPUState(),loadState:()=>{console.log("loadState not implemented")},connectMemoryBus(){console.log("connectMemoryBus not implemented")}}}getImports(e){return{}}async fetchWASM(){var e=await fetch("res/"+this.prefix+".wasm");if(e.status==200||e.size){var r=await e.arrayBuffer(),c=await WebAssembly.compile(r),m=await WebAssembly.instantiate(c,this.getImports(c));this.instance=m,this.exports=m.exports}else throw new Error("could not load WASM file")}allocateBIOS(e){this.biosptr=this.exports.malloc(e.byteLength),this.biosarr=new Uint8Array(this.exports.memory.buffer,this.biosptr,e.byteLength)}async fetchBIOS(){var e=await fetch("res/"+this.prefix+".bios");if(e.status==200||e.size){var r=new Uint8Array(await e.arrayBuffer());this.allocateBIOS(r),this.loadBIOS(r)}else throw new Error("could not load BIOS file")}async initWASM(){this.sys=this.exports.machine_init(this.biosptr);let e=this.exports.machine_get_state_size();this.stateptr=this.exports.malloc(e);let r=this.exports.machine_get_controls_state_size();this.ctrlstateptr=this.exports.malloc(r);let c=this.exports.machine_get_cpu_state_size();this.cpustateptr=this.exports.malloc(c),this.romptr=this.exports.malloc(this.maxROMSize),this.statearr=new Uint8Array(this.exports.memory.buffer,this.stateptr,e),this.ctrlstatearr=new Uint8Array(this.exports.memory.buffer,this.ctrlstateptr,r),this.cpustatearr=new Uint8Array(this.exports.memory.buffer,this.cpustateptr,c);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,e,r,c,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(e){if(e.length>this.maxROMSize)throw new vt(`Rom size too big: ${e.length} bytes`);this.romarr.set(e),this.romlen=e.length,console.log("load rom",e.length,"bytes"),this.reset()}loadBIOS(e){this.biosarr.set(e)}reset(){this.exports.machine_reset(this.sys)}read(e){return this.exports.machine_mem_read(this.sys,e&65535)}readConst(e){return this.exports.machine_mem_read(this.sys,e&65535)}write(e,r){this.exports.machine_mem_write(this.sys,e&65535,r&255)}getAudioParams(){return{sampleRate:44100,stereo:!1}}connectVideo(e){this.pixel_dest=e;var r=this.exports.machine_get_pixel_buffer(this.sys);console.log("connectVideo",r,e.length),this.pixel_src=new Uint32Array(this.exports.memory.buffer,r+this.videoOffsetBytes,e.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(e){this.ctrlstatearr.set(e.controls),this.exports.machine_load_controls_state(this.sys,this.ctrlstateptr)}connectAudio(e){this.audio=e}syncAudio(){if(this.audio!=null)for(var e=this.exports.machine_get_sample_count(),r=0;r<e;r++)this.audio.feedSample(this.audioarr[r],1)}advanceFrameClock(e,r){var c;if(e)for(c=0;c<r&&!e();c++)this.exports.machine_tick(this.sys);else this.exports.machine_exec(this.sys,r),c=r;return this.syncVideo(),this.syncAudio(),c}copyProbeData(){if(this.probe&&!(this.probe instanceof He)){var e=this.exports.machine_get_probe_buffer_size(),r=this.exports.machine_get_probe_buffer_address(),c=new Uint32Array(this.exports.memory.buffer,r,e);this.probe.logNewFrame(),this.probe.addLogBuffer(c)}}connectProbe(e){this.probe=e}getDebugTree(){return this.saveState()}};"use strict";function Ye(){var h,e,r,c,m,o,d,x,a,W,y=1,p=2,N=4,k=8,G=16,u0=32,A=64,R=128,L=65534,F=65532,z=65530,i=65528,f=65526,g0=65524,T0=65522,V=0,D0,_,S,Y0=[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],V0=function(u,n,g){a|=((u^n^g^g>>1)&128)>>6},K=function(u,n,g){a|=((u^n^g^g>>1)&32768)>>14},U=function(){return(e<<8)+r},A0=function(u){e=u>>8&255,r=u&255},x0=function(u){_(--d,u&255)},I=function(u){_(--d,u&255),_(--d,u>>8&255)},X0=function(u){_(--o,u&255)},W0=function(u){_(--o,u&255),_(--o,u>>8&255)},F0=function(){return S(d++)},w0=function(){return S(d++)*256+S(d++)},Q=function(){return S(o++)},l0=function(){return S(o++)*256+S(o++)},O0=function(u){var n=0;u&128&&(I(x),n+=2),u&64&&(I(o),n+=2),u&32&&(I(m),n+=2),u&16&&(I(c),n+=2),u&8&&(x0(W),n++),u&4&&(x0(r),n++),u&2&&(x0(e),n++),u&1&&(x0(a),n++),V+=n},b0=function(u){var n=0;u&128&&(W0(x),n+=2),u&64&&(W0(d),n+=2),u&32&&(W0(m),n+=2),u&16&&(W0(c),n+=2),u&8&&(X0(W),n++),u&4&&(X0(r),n++),u&2&&(X0(e),n++),u&1&&(X0(a),n++),V+=n},B0=function(u){var n=0;u&1&&(a=F0(),n++),u&2&&(e=F0(),n++),u&4&&(r=F0(),n++),u&8&&(W=F0(),n++),u&16&&(c=w0(),n+=2),u&32&&(m=w0(),n+=2),u&64&&(o=w0(),n+=2),u&128&&(x=w0(),n+=2),V+=n},z0=function(u){var n=0;u&1&&(a=Q(),n++),u&2&&(e=Q(),n++),u&4&&(r=Q(),n++),u&8&&(W=Q(),n++),u&16&&(c=l0(),n+=2),u&32&&(m=l0(),n+=2),u&64&&(d=l0(),n+=2),u&128&&(x=l0(),n+=2),V+=n},E0=function(u){switch(u&15){case 0:return U();case 1:return c;case 2:return m;case 3:return o;case 4:return d;case 5:return x;case 8:return e;case 9:return r;case 10:return a;case 11:return W;default:return null}},U0=function(u,n){switch(u&15){case 0:A0(n);return;case 1:c=n;return;case 2:m=n;return;case 3:o=n;return;case 4:d=n;return;case 5:x=n;return;case 8:e=n;return;case 9:r=n;return;case 10:a=n;return;case 11:W=n;return;default:return}},p0=function(u,n){var g=u&136;(g==128||g==8)&&(g=0),n?(g=E0(u>>4),U0(u>>4,E0(u)),U0(u,g)):U0(u,E0(u>>4))},c0=function(u){return u>127?u-256:u},i0=function(u){return u>32767?u-65536:u},Z=function(){var u=S(x++);return x&=65535,u},w=function(){var u=S(x++);x&=65535;var n=S(x++);return x&=65535,u*256+n},T=function(u){var n=S(u++);u&=65535;var g=S(u++);return u&=65535,n*256+g},f0=function(u,n){_(u++,n>>8&255),u&=65535,_(u,n&255)},M=function(){var u=Z(),n;switch(u&96){case 0:n=c;break;case 32:n=m;break;case 64:n=o;break;case 96:n=d;break}var g=null,s=null,t;if(u&128){switch(u&15){case 0:s=n,g=n+1,V+=2;break;case 1:s=n,g=n+2,V+=3;break;case 2:g=n-1,s=g,V+=2;break;case 3:g=n-2,s=g,V+=3;break;case 4:s=n;break;case 5:s=n+c0(r),V+=1;break;case 6:s=n+c0(e),V+=1;break;case 7:s=0;break;case 8:s=n+c0(Z()),V+=1;break;case 9:s=n+i0(w()),V+=4;break;case 10:s=0;break;case 11:V+=4,s=n+U();break;case 12:t=c0(Z()),s=x+t,V+=1;break;case 13:t=i0(w()),s=x+t,V+=5;break;case 14:s=0;break;case 15:V+=5,s=w();break}s&=65535,u&16&&(s=S(s)*256+S(s+1&65535),V+=3)}else{var b=u&31;b>15&&(b-=32),s=n+b,V+=1}if(g!==null)switch(u&96){case 0:c=g;break;case 32:m=g;break;case 64:o=g;break;case 96:d=g;break}return s&65535},n0=function(u){a&=~(N|k),u===0&&(a|=N),u&32768&&(a|=k)},O=function(u){return u++,u&=255,a&=~(N|p|k),a|=q[u],(u===0||u==128)&&(a|=p),u},E=function(u){return u--,u&=255,a&=~(N|p|k),a|=q[u],(u===127||u==255)&&(a|=p),u},_0=function(u,n){var g=u-n;return a&=~(y|N|p|k),a|=q[g&255],g&256&&(a|=y),V0(u,n,g),g&255},H=function(u,n){var g=u-n;return a&=~(y|N|p|k),(g&65535)==0&&(a|=N),g&32768&&(a|=k),g&65536&&(a|=y),K(u,n,g),g&65535},r0=function(u,n){var g=u+n;return a&=~(u0|y|N|p|k),a|=q[g&255],g&256&&(a|=y),V0(u,n,g),(g^u^n)&16&&(a|=u0),g&255},C0=function(u,n){var g=u+n;return a&=~(y|N|p|k),(g&65535)==0&&(a|=N),g&32768&&(a|=k),g&65536&&(a|=y),K(u,n,g),g&65535},$=function(u,n){var g=u+n+(a&y);return a&=~(u0|y|N|p|k),a|=q[g&255],g&256&&(a|=y),V0(u,n,g),(g^u^n)&16&&(a|=u0),g&255},m0=function(u,n){var g=u-n-(a&y);return a&=~(y|N|p|k),a|=q[g&255],g&256&&(a|=y),V0(u,n,g),g&255},N0=function(u,n){var g=u-n;a&=~(y|N|p|k),a|=q[g&255],g&256&&(a|=y),V0(u,n,g)},Y=function(u,n){var g=u-n;a&=~(y|N|p|k),(g&65535)==0&&(a|=N),g&32768&&(a|=k),g&65536&&(a|=y),K(u,n,g)},e0=function(u){return a&=~(y|N|p|k),u==128&&(a|=p),u=(~u&255)+1,u===0&&(a|=N),u&128&&(a|=k|y),u},s0=function(u){return a&=~(N|y|k),u&1&&(a|=y),u>>=1,u===0&&(a|=N),u&255},P0=function(u){return a&=~(N|y|k),u&1&&(a|=y),u=u&128|u>>1,a|=q[u],u},R0=function(u){var n=u;return a&=~(N|y|k|p),u&128&&(a|=y),u<<=1,a|=q[u],(u^n)&128&&(a|=p),u},H0=function(u){var n=u,g=a&y;return a&=~(N|y|k|p),u&128&&(a|=y),u=u<<1|g,a|=q[u],(u^n)&128&&(a|=p),u},o0=function(u){var n=a&y;return a&=~(N|y|k),u&1&&(a|=y),u=u>>1|n<<7,a|=q[u],u},d0=function(u,n){return a&=~(N|k|p),u^=n,a|=q[u],u},Z0=function(u,n){return a&=~(N|k|p),u|=n,a|=q[u],u},k0=function(u,n){return a&=~(N|k|p),u&=n,a|=q[u],u},K0=function(u){return a&=~(N|k|p),u^=255,a|=q[u],a|=y,u},X=function(){return W*256+Z()},j0=function(){var u=V,n=null,g=null,s=x,t=Z();switch(V+=Y0[t],t){case 0:n=X(),_(n,e0(S(n)));break;case 3:n=X(),_(n,K0(S(n)));break;case 4:n=X(),_(n,s0(S(n)));break;case 6:n=X(),_(n,o0(S(n)));break;case 7:n=X(),_(n,P0(S(n)));break;case 8:n=X(),_(n,R0(S(n)));break;case 9:n=X(),_(n,H0(S(n)));break;case 10:n=X(),_(n,E(S(n)));break;case 12:n=X(),_(n,O(S(n)));break;case 13:n=X(),g=S(n),a&=~(N|k|p),a|=q[g];break;case 14:n=X(),x=n;break;case 15:n=X(),_(n,0),a&=~(y|k|p),a|=N;break;case 18:break;case 19:break;case 22:n=i0(w()),x+=n;break;case 23:n=i0(w()),I(x),x+=n;break;case 25:var b=0,P=e&240,y0=e&15;(y0>9||a&32)&&(b|=6),P>128&&y0>9&&(b|=96),(P>144||a&1)&&(b|=96),n=b+e,a&=~(y|k|N|p),n&256&&(a|=y),e=n&255,a|=q[e];break;case 26:a|=Z();break;case 28:a&=Z();break;case 29:e=r&128?255:0,n0(U()),a&=~p;break;case 30:g=Z(),p0(g,!0);break;case 31:g=Z(),p0(g,!1);break;case 32:n=c0(Z()),x+=n;break;case 33:n=c0(Z());break;case 34:n=c0(Z()),a&(y|N)||(x+=n);break;case 35:n=c0(Z()),a&(y|N)&&(x+=n);break;case 36:n=c0(Z()),a&y||(x+=n);break;case 37:n=c0(Z()),a&y&&(x+=n);break;case 38:n=c0(Z()),a&N||(x+=n);break;case 39:n=c0(Z()),a&N&&(x+=n);break;case 40:n=c0(Z()),a&p||(x+=n);break;case 41:n=c0(Z()),a&p&&(x+=n);break;case 42:n=c0(Z()),a&k||(x+=n);break;case 43:n=c0(Z()),a&k&&(x+=n);break;case 44:n=c0(Z()),a&k^(a&p)<<2||(x+=n);break;case 45:n=c0(Z()),a&k^(a&p)<<2&&(x+=n);break;case 46:n=c0(Z()),a&k^(a&p)<<2||a&N||(x+=n);break;case 47:n=c0(Z()),(a&k^(a&p)<<2||a&N)&&(x+=n);break;case 48:c=M(),c===0?a|=N:a&=~N;break;case 49:m=M(),m===0?a|=N:a&=~N;break;case 50:d=M();break;case 51:o=M();break;case 52:O0(Z());break;case 53:B0(Z());break;case 54:b0(Z());break;case 55:z0(Z());break;case 57:x=w0();break;case 58:c+=r;break;case 59:a=F0(),a&R&&(V+=9,e=F0(),r=F0(),W=F0(),c=w0(),m=w0(),o=w0()),x=w0();break;case 60:a&=Z();break;case 61:n=e*r,n===0?a|=N:a&=~N,n&128?a|=y:a&=~y,A0(n);break;case 63:a|=R,I(x),I(o),I(m),I(c),x0(W),x0(r),x0(e),x0(a),a|=G|A,x=T(z);break;case 64:e=e0(e);break;case 67:e=K0(e);break;case 68:e=s0(e);break;case 70:e=o0(e);break;case 71:e=P0(e);break;case 72:e=R0(e);break;case 73:e=H0(e);break;case 74:e=E(e);break;case 76:e=O(e);break;case 77:a&=~(N|k|p),a|=q[e];break;case 79:e=0,a&=~(k|p|y),a|=N;break;case 80:r=e0(r);break;case 83:r=K0(r);break;case 84:r=s0(r);break;case 86:r=o0(r);break;case 87:r=P0(r);break;case 88:r=R0(r);break;case 89:r=H0(r);break;case 90:r=E(r);break;case 92:r=O(r);break;case 93:a&=~(N|k|p),a|=q[r];break;case 95:r=0,a&=~(k|p|y),a|=N;break;case 96:n=M(),_(n,e0(S(n)));break;case 99:n=M(),_(n,K0(S(n)));break;case 100:n=M(),_(n,s0(S(n)));break;case 102:n=M(),_(n,o0(S(n)));break;case 103:n=M(),_(n,P0(S(n)));break;case 104:n=M(),_(n,R0(S(n)));break;case 105:n=M(),_(n,H0(S(n)));break;case 106:n=M(),_(n,E(S(n)));break;case 108:n=M(),_(n,O(S(n)));break;case 109:n=M(),g=S(n),a&=~(N|k|p),a|=q[g];break;case 110:n=M(),x=n;break;case 111:n=M(),_(n,0),a&=~(y|k|p),a|=N;break;case 112:n=w(),_(n,e0(S(n)));break;case 115:n=w(),_(n,K0(S(n)));break;case 116:n=w(),_(n,s0(S(n)));break;case 118:n=w(),_(n,o0(S(n)));break;case 119:n=w(),_(n,P0(S(n)));break;case 120:n=w(),_(n,R0(S(n)));break;case 121:n=w(),_(n,H0(S(n)));break;case 122:n=w(),_(n,E(S(n)));break;case 124:n=w(),_(n,O(S(n)));break;case 125:n=w(),g=S(n),a&=~(N|k|p),a|=q[g];break;case 126:n=w(),x=n;break;case 127:n=w(),_(n,0),a&=~(y|k|p),a|=N;break;case 128:e=_0(e,Z());break;case 129:N0(e,Z());break;case 130:e=m0(e,Z());break;case 131:A0(H(U(),w()));break;case 132:e=k0(e,Z());break;case 133:k0(e,Z());break;case 134:e=Z(),a&=~(N|k|p),a|=q[e];break;case 136:e=d0(e,Z());break;case 137:e=$(e,Z());break;case 138:e=Z0(e,Z());break;case 139:e=r0(e,Z());break;case 140:Y(c,w());break;case 141:n=c0(Z()),I(x),x+=n;break;case 142:c=w(),n0(c),a&=~p;break;case 144:n=X(),e=_0(e,S(n));break;case 145:n=X(),N0(e,S(n));break;case 146:n=X(),e=m0(e,S(n));break;case 147:n=X(),A0(H(U(),T(n)));break;case 148:n=X(),e=k0(e,S(n));break;case 149:n=X(),k0(e,S(n));break;case 150:n=X(),e=S(n),a&=~(N|k|p),a|=q[e];break;case 151:n=X(),_(n,e),a&=~(N|k|p),a|=q[e];break;case 152:n=X(),e=d0(e,S(n));break;case 153:n=X(),e=$(e,S(n));break;case 154:n=X(),e=Z0(e,S(n));break;case 155:n=X(),e=r0(e,S(n));break;case 156:n=X(),Y(c,T(n));break;case 157:n=X(),I(x),x=n;break;case 158:n=X(),c=T(n),n0(c),a&=~p;break;case 159:n=X(),f0(n,c),n0(c),a&=~p;break;case 160:n=M(),e=_0(e,S(n));break;case 161:n=M(),N0(e,S(n));break;case 162:n=M(),e=m0(e,S(n));break;case 163:n=M(),A0(H(U(),T(n)));break;case 164:n=M(),e=k0(e,S(n));break;case 165:n=M(),k0(e,S(n));break;case 166:n=M(),e=S(n),a&=~(N|k|p),a|=q[e];break;case 167:n=M(),_(n,e),a&=~(N|k|p),a|=q[e];break;case 168:n=M(),e=d0(e,S(n));break;case 169:n=M(),e=$(e,S(n));break;case 170:n=M(),e=Z0(e,S(n));break;case 171:n=M(),e=r0(e,S(n));break;case 172:n=M(),Y(c,T(n));break;case 173:n=M(),I(x),x=n;break;case 174:n=M(),c=T(n),n0(c),a&=~p;break;case 175:n=M(),f0(n,c),n0(c),a&=~p;break;case 176:n=w(),e=_0(e,S(n));break;case 177:n=w(),N0(e,S(n));break;case 178:n=w(),e=m0(e,S(n));break;case 179:n=w(),A0(H(U(),T(n)));break;case 180:n=w(),e=k0(e,S(n));break;case 181:n=w(),k0(e,S(n));break;case 182:n=w(),e=S(n),a&=~(N|k|p),a|=q[e];break;case 183:n=w(),_(n,e),a&=~(N|k|p),a|=q[e];break;case 184:n=w(),e=d0(e,S(n));break;case 185:n=w(),e=$(e,S(n));break;case 186:n=w(),e=Z0(e,S(n));break;case 187:n=w(),e=r0(e,S(n));break;case 188:n=w(),Y(c,T(n));break;case 189:n=w(),I(x),x=n;break;case 190:n=w(),c=T(n),n0(c),a&=~p;break;case 191:n=w(),f0(n,c),n0(c),a&=~p;break;case 192:r=_0(r,Z());break;case 193:N0(r,Z());break;case 194:r=m0(r,Z());break;case 195:A0(C0(U(),w()));break;case 196:r=k0(r,Z());break;case 197:k0(r,Z());break;case 198:r=Z(),a&=~(N|k|p),a|=q[r];break;case 200:r=d0(r,Z());break;case 201:r=$(r,Z());break;case 202:r=Z0(r,Z());break;case 203:r=r0(r,Z());break;case 204:n=w(),A0(n),n0(n),a&=~p;break;case 206:o=w(),n0(o),a&=~p;break;case 208:n=X(),r=_0(r,S(n));break;case 209:n=X(),N0(r,S(n));break;case 210:n=X(),r=m0(r,S(n));break;case 211:n=X(),A0(C0(U(),T(n)));break;case 212:n=X(),r=k0(r,S(n));break;case 213:n=X(),k0(r,S(n));break;case 214:n=X(),r=S(n),a&=~(N|k|p),a|=q[r];break;case 215:n=X(),_(n,r),a&=~(N|k|p),a|=q[r];break;case 216:n=X(),r=d0(r,S(n));break;case 217:n=X(),r=$(r,S(n));break;case 218:n=X(),r=Z0(r,S(n));break;case 219:n=X(),r=r0(r,S(n));break;case 220:n=X(),g=T(n),A0(g),n0(g),a&=~p;break;case 221:n=X(),f0(n,U()),a&=~p;break;case 222:n=X(),o=T(n),n0(o),a&=~p;break;case 223:n=X(),f0(n,o),n0(o),a&=~p;break;case 224:n=M(),r=_0(r,S(n));break;case 225:n=M(),N0(r,S(n));break;case 226:n=M(),r=m0(r,S(n));break;case 227:n=M(),A0(C0(U(),T(n)));break;case 228:n=M(),r=k0(r,S(n));break;case 229:n=M(),k0(r,S(n));break;case 230:n=M(),r=S(n),a&=~(N|k|p),a|=q[r];break;case 231:n=M(),_(n,r),a&=~(N|k|p),a|=q[r];break;case 232:n=M(),r=d0(r,S(n));break;case 233:n=M(),r=$(r,S(n));break;case 234:n=M(),r=Z0(r,S(n));break;case 235:n=M(),r=r0(r,S(n));break;case 236:n=M(),g=T(n),A0(g),n0(g),a&=~p;break;case 237:n=M(),f0(n,U()),a&=~p;break;case 238:n=M(),o=T(n),n0(o),a&=~p;break;case 239:n=M(),f0(n,o),n0(o),a&=~p;break;case 240:n=w(),r=_0(r,S(n));break;case 241:n=w(),N0(r,S(n));break;case 242:n=w(),r=m0(r,S(n));break;case 243:n=w(),A0(C0(U(),T(n)));break;case 244:n=w(),r=k0(r,S(n));break;case 245:n=w(),k0(r,S(n));break;case 246:n=w(),r=S(n),a&=~(N|k|p),a|=q[r];break;case 247:n=w(),_(n,r),a&=~(N|k|p),a|=q[r];break;case 248:n=w(),r=d0(r,S(n));break;case 249:n=w(),r=$(r,S(n));break;case 250:n=w(),r=Z0(r,S(n));break;case 251:n=w(),r=r0(r,S(n));break;case 252:n=w(),g=T(n),A0(g),n0(g),a&=~p;break;case 253:n=w(),f0(n,U()),a&=~p;break;case 254:n=w(),o=T(n),n0(o),a&=~p;break;case 255:n=w(),f0(n,o),n0(o),a&=~p;break;case 16:switch(t=Z(),V+=t0[t],t){case 33:n=i0(w());break;case 34:n=i0(w()),a&(y|N)||(x+=n);break;case 35:n=i0(w()),a&(y|N)&&(x+=n);break;case 36:n=i0(w()),a&y||(x+=n);break;case 37:n=i0(w()),a&y&&(x+=n);break;case 38:n=i0(w()),a&N||(x+=n);break;case 39:n=i0(w()),a&N&&(x+=n);break;case 40:n=i0(w()),a&p||(x+=n);break;case 41:n=i0(w()),a&p&&(x+=n);break;case 42:n=i0(w()),a&k||(x+=n);break;case 43:n=i0(w()),a&k&&(x+=n);break;case 44:n=i0(w()),a&k^(a&p)<<2||(x+=n);break;case 45:n=i0(w()),a&k^(a&p)<<2&&(x+=n);break;case 46:n=i0(w()),a&k^(a&p)<<2||a&N||(x+=n);break;case 47:n=i0(w()),(a&k^(a&p)<<2||a&N)&&(x+=n);break;case 63:a|=R,I(x),I(o),I(m),I(c),x0(W),x0(r),x0(e),x0(a),a|=G|A,x=T(g0);break;case 131:Y(U(),w());break;case 140:Y(m,w());break;case 142:m=w(),n0(m),a&=~p;break;case 147:n=X(),Y(U(),T(n));break;case 156:n=X(),Y(m,T(n));break;case 158:n=X(),m=T(n),n0(m),a&=~p;break;case 159:n=X(),f0(n,m),n0(m),a&=~p;break;case 163:n=M(),Y(U(),T(n));break;case 172:n=M(),Y(m,T(n));break;case 174:n=M(),m=T(n),n0(m),a&=~p;break;case 175:n=M(),f0(n,m),n0(m),a&=~p;break;case 179:n=w(),Y(U(),T(n));break;case 188:n=w(),Y(m,T(n));break;case 190:n=w(),m=T(n),n0(m),a&=~p;break;case 191:n=w(),f0(n,m),n0(m),a&=~p;break;case 206:d=w(),n0(d),a&=~p;break;case 222:n=X(),d=T(n),n0(d),a&=~p;break;case 223:n=X(),f0(n,d),n0(d),a&=~p;break;case 238:n=M(),d=T(n),n0(d),a&=~p;break;case 239:n=M(),f0(n,d),n0(d),a&=~p;break;case 254:n=w(),d=T(n),n0(d),a&=~p;break;case 255:n=w(),f0(n,d),n0(d),a&=~p;break}break;case 17:switch(t=Z(),V+=t0[t],t){case 63:a|=R,I(x),I(o),I(m),I(c),x0(W),x0(r),x0(e),x0(a),a|=G|A,x=T(T0);break;case 131:Y(o,w());break;case 140:Y(d,w());break;case 147:n=X(),Y(o,T(n));break;case 156:n=X(),Y(d,T(n));break;case 163:n=M(),Y(o,T(n));break;case 172:n=M(),Y(d,T(n));break;case 179:n=w(),Y(o,T(n));break;case 188:n=w(),Y(d,T(n));break}break}return e&=255,r&=255,a&=255,W&=255,c&=65535,m&=65535,o&=65535,d&=65535,x&=65535,V-u},Q0=function(){x=T(L),W=0,a|=A|G,V=0,e=r=W=c=m=o=d=0},ee=[[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"]],v={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,n,g,s,t,b){var P=function(le,Je){for(var ke=le.toString(16);ke.length<Je;)ke="0"+ke;return ke.toUpperCase()},y0=function(le){return P(le&255,2)},J0=function(le){return P(le,4)},I0,re,q0,te=ee[u];if(u===16){if(te=B[n],te===void 0)return["???",2];u=n,n=g,g=s,s=t}if(u===17){if(te=v[n],te===void 0)return["???",2];u=n,n=g,g=s,s=t}var $0=te[0],je=te[1],J=te[2];switch(je){case 0:break;case 1:J+=" $"+y0(n);break;case 2:break;case 3:J+=" #$"+J0(n*256+g<32768?n*256+g+b:n*256+g+b-65536);break;case 4:J+=" #$"+y0(n);break;case 5:J+=" #$"+J0(n<128?n+b+2:n+b-254);break;case 6:J+=" ";var me=n,M0=["X","Y","U","S"][(me&96)>>5];if(!(me&128)){var pe=me&31;pe>15&&(pe=pe-32),J+=pe+","+M0;break}var $e=me&16,Ie=me&15,_e=g>127?g-256:g,Pe=g*256+s>32767?g*256+s-65536:g*256+s;if($e)switch(Ie){case 0:J+="???";break;case 1:J+="[,"+M0+"++]";break;case 2:J+="???";break;case 3:J+="[,--"+M0+"]";break;case 4:J+="[,"+M0+"]";break;case 5:J+="[B,"+M0+"]";break;case 6:J+="[A,"+M0+"]";break;case 7:J+="???";break;case 8:J+="["+_e+","+M0+"]",$0++;break;case 9:J+="["+Pe+","+M0+"]",$0+=2;break;case 10:J+="???";break;case 11:J+="[D,"+M0+"]";break;case 12:J+="["+_e+",PC]",$0++;break;case 13:J+="["+Pe+",PC]",$0+=2;break;case 14:J+="???";break;case 15:J+="[$"+J0(g*256+s)+"]",$0+=2;break}else switch(Ie){case 0:J+=","+M0+"+";break;case 1:J+=","+M0+"++";break;case 2:J+=",-"+M0;break;case 3:J+=",--"+M0;break;case 4:J+=","+M0;break;case 5:J+="B,"+M0;break;case 6:J+="A,"+M0;break;case 7:J+="???";break;case 8:J+=_e+","+M0,$0++;break;case 9:J+=Pe+","+M0,$0+=2;break;case 10:J+="???";break;case 11:J+="D,"+M0;break;case 12:J+=_e+",PC",$0++;break;case 13:J+=Pe+",PC",$0+=2;break;case 14:J+="???";break;case 15:J+="$"+J0(g*256+s),$0+=2;break}break;case 7:J+=" $"+J0(n*256+g);break;case 8:J+=" #$"+J0(n*256+g);break;case 10:for(I0=["PC","U","Y","X","DP","B","A","CC"],re=[],q0=0;q0<8;q0++)(n&1)!=0&&re.push(I0[7-q0]),n>>=1;J+=" "+re.join(",");break;case 11:for(I0=["PC","S","Y","X","DP","B","A","CC"],re=[],q0=0;q0<8;q0++)(n&1)!=0&&re.push(I0[7-q0]),n>>=1;J+=" "+re.join(",");break;case 20:I0=["D","X","Y","U","S","PC","?","?","A","B","CC","DP","?","?","?","?"],J+=" "+I0[n>>4]+","+I0[n&15];break}return{line:J,nbytes:$0}};return{steps:function(u){for(;u>0;)u-=j0()},runFrame:function(u){for(;V<u;)j0()},advanceInsn:function(){return j0()},T:function(){return V},getTstates:function(){return V},setTstates:function(u){V=u},reset:Q0,init:function(u,n,g){_=u,S=n,h=g,Q0()},getPC:function(){return x},getSP:function(){return d},saveState:function(){return{PC:x,SP:d,U:o,A:e,B:r,X:c,Y:m,DP:W,CC:a,T:V}},loadState:function(u){x=u.PC,d=u.SP,o=u.U,e=u.A,r=u.B,c=u.X,m=u.Y,W=u.DP,a=u.CC,V=u.T},firq:function(){a&A||(I(x),a&=~R,x0(a),a|=G|A,x=T(f),V+=9)},interrupt:function(){a&G||(I(x),I(o),I(m),I(c),x0(W),x0(r),x0(e),a|=R,x0(a),a|=G,x=T(i),V+=18)},nmi:function(){I(x),I(o),I(m),I(c),x0(W),x0(r),x0(e),a|=R,x0(a),a|=G|A,x=T(F),V+=18},set:function(u,n){switch(u.toUpperCase()){case"PC":x=n;return;case"A":e=n;return;case"B":r=n;return;case"X":c=n;return;case"Y":m=n;return;case"SP":d=n;return;case"U":o=n;return;case"FLAGS":a=n;return}},flagsToString:function(){for(var u="",n="EFHINZVC",g=0;g<8;g++){var s=a&128>>g;s===0?u+=n[g].toLowerCase():u+=n[g]}return u},disasm:D,isStable:function(){return!0}}}var st=function(){var h=this;this.powerOn=function(){this.reset()},this.powerOff=function(){},this.clockPulse=function(){!r||(G++,A[G]())},this.connectBus=function(l){e=l},this.setRDY=function(l){r=l},this.isRDY=function(){return r},this.reset=function(){p=1,G=-1,A=[K],c=e.read(V)|e.read(V+1)<<8,this.setRDY(!0)};var e,r=!1,c=0,m=0,o=0,d=0,x=0,a=0,W=0,y=0,p=0,N=0,k=0,G=-1,u0=-1,A,R=0,L=0,F=0,z=!1,i=0,f=0,g0=0;let T0=65530,V=65532,D0=65534,_=0,S=1,Y0=7,t0=6,q=1,V0=0;this.debug=!1,this.trace=!1;var K=function(){u0=e.read(c),A=t[u0],G=0,c++},U=K,A0=function(){e.read(c)},x0=function(){f=e.read(c),c++},I=function(){L=e.read(c),c++},X0=function(){L|=e.read(c)<<8,c++},W0=function(){L=e.read(F)},F0=function(){L|=e.read(F)<<8},w0=function(){F=e.read(c),c++},Q=function(){F|=e.read(c)<<8,c++},l0=function(){F=e.read(i)},O0=function(){F|=e.read(i)<<8},b0=function(){var l=(F&255)+d;z=l>255,F=F&65280|l&255},B0=function(){var l=(F&255)+x;z=l>255,F=F&65280|l&255},z0=function(){var l=(F&255)+1;z=l>255,F=F&65280|l&255},E0=function(){z&&(F=F+256&65535)},U0=function(){i=e.read(c),c++},p0=function(){i|=e.read(c)<<8,c++},c0=function(){var l=(i&255)+1;i=i&65280|l&255},i0=function(){R=e.read(c),c++},Z=function(){R=e.read(L)},w=function(){R=e.read(F)},T=function(){e.write(L,R)},f0=function(){e.write(F,R)},M=function(){var l=c&255,C=l+f&255;f>127?g0=C>l?-256:0:g0=C<l?256:0,c=c&65280|C},n0=function(){c=c+g0&65535},O=function(l){N=l===0?1:0},E=function(l){a=l&128?1:0},_0=function(l){W=l?1:0},H=function(l){k=l?1:0},r0=function(){return m=m+1&255,e.read(256+m)},C0=function(){return e.read(256+m)},$=function(l){e.write(256+m,l),m=m-1&255},m0=function(){return a<<7|W<<6|48|y<<3|p<<2|N<<1|k},N0=function(l){a=l>>>7,W=l>>>6&1,y=l>>>3&1,p=l>>>2&1,N=l>>>1&1,k=l&1},Y=function(l){h.debug&&h.breakpoint("Illegal Opcode: "+l)},e0=function(l){return[K,A0,function(){l(),U()}]},s0=function(l){return[K,i0,function(){l(),U()}]},P0=function(l){return[K,I,Z,function(){l(),U()}]},R0=function(l){return[K,I,X0,Z,function(){l(),U()}]},H0=function(l){return[K,w0,w,function(){b0(),W0()},function(){z0(),F0()},Z,function(){l(),U()}]},o0=function(l){var C=l===_?b0:B0;return function(j){return[K,w0,Q,function(){C(),w(),E0()},function(){z?w():(j(),U())},function(){j(),U()}]}},d0=function(l){var C=l===_?b0:B0;return function(j){return[K,w0,w,function(){C(),w()},function(){j(),U()}]}},Z0=function(l){return[K,U0,l0,function(){c0(),O0()},function(){B0(),w(),E0()},function(){z?w():(l(),U())},function(){l(),U()}]},k0=function(l){return[K,I,function(){l(),T()},U]},K0=function(l){return[K,I,X0,function(){l(),T()},U]},X=function(l){return[K,w0,w,function(){b0(),W0()},function(){z0(),F0()},function(){l(),T()},U]},j0=function(l){var C=l===_?b0:B0;return function(j){return[K,w0,Q,function(){C(),w(),E0()},function(){j(),f0()},U]}},Q0=function(l){var C=l===_?b0:B0;return function(j){return[K,w0,w,function(){C(),j(),f0()},U]}},ee=function(l){return[K,U0,l0,function(){c0(),O0()},function(){B0(),w(),E0()},function(){l(),f0()},U]},v=function(l){return[K,I,Z,T,function(){l(),T()},U]},B=function(l){return[K,I,X0,Z,T,function(){l(),T()},U]},D=function(l){var C=l===_?b0:B0;return function(j){return[K,w0,w,function(){C(),w()},f0,function(){j(),f0()},U]}},u=function(l){var C=l===_?b0:B0;return function(j){return[K,w0,Q,function(){C(),w(),E0()},w,f0,function(){j(),f0()},U]}},n=function(l){return[K,w0,w,function(){b0(),W0()},function(){z0(),F0()},Z,T,function(){l(),T()},U]},g=function(l){return[K,U0,l0,function(){c0(),O0()},function(){B0(),w(),E0()},w,f0,function(){l(),f0()},U]},s=new Array(256),t=new Array(256);s[0]="BRK",t[0]=en(),s[1]="ORA",t[1]=oe(H0),s[2]="uKIL",t[2]=G0(),s[3]="uSLO",t[3]=ve(n),s[4]="uNOP",t[4]=S0(P0),s[5]="ORA",t[5]=oe(P0),s[6]="ASL",t[6]=Oe(v),s[7]="uSLO",t[7]=ve(v),s[8]="PHP",t[8]=Jt(),s[9]="ORA",t[9]=oe(s0),s[10]="ASL",t[10]=b(),s[11]="uANC",t[11]=mt(s0),s[12]="uNOP",t[12]=S0(R0),s[13]="ORA",t[13]=oe(R0),s[14]="ASL",t[14]=Oe(B),s[15]="uSLO",t[15]=ve(B),s[16]="BPL",t[16]=xe(Y0,0),s[17]="ORA",t[17]=oe(Z0),s[18]="uKIL",t[18]=G0(),s[19]="uSLO",t[19]=ve(g),s[20]="uNOP",t[20]=S0(d0(_)),s[21]="ORA",t[21]=oe(d0(_)),s[22]="ASL",t[22]=Oe(D(_)),s[23]="uSLO",t[23]=ve(D(_)),s[24]="CLC",t[24]=P(),s[25]="ORA",t[25]=oe(o0(S)),s[26]="uNOP",t[26]=S0(e0),s[27]="uSLO",t[27]=ve(u(S)),s[28]="uNOP",t[28]=S0(o0(_)),s[29]="ORA",t[29]=oe(o0(_)),s[30]="ASL",t[30]=Oe(u(_)),s[31]="uSLO",t[31]=ve(u(_)),s[32]="JSR",t[32]=qt(),s[33]="AND",t[33]=ie(H0),s[34]="uKIL",t[34]=G0(),s[35]="uRLA",t[35]=Ae(n),s[36]="BIT",t[36]=ut(P0),s[37]="AND",t[37]=ie(P0),s[38]="ROL",t[38]=Te(v),s[39]="uRLA",t[39]=Ae(v),s[40]="PLP",t[40]=Qt(),s[41]="AND",t[41]=ie(s0),s[42]="ROL",t[42]=me(),s[43]="uANC",t[43]=mt(s0),s[44]="BIT",t[44]=ut(R0),s[45]="AND",t[45]=ie(R0),s[46]="ROL",t[46]=Te(B),s[47]="uRLA",t[47]=Ae(B),s[48]="BMI",t[48]=xe(Y0,1),s[49]="AND",t[49]=ie(Z0),s[50]="uKIL",t[50]=G0(),s[51]="uRLA",t[51]=Ae(g),s[52]="uNOP",t[52]=S0(d0(_)),s[53]="AND",t[53]=ie(d0(_)),s[54]="ROL",t[54]=Te(D(_)),s[55]="uRLA",t[55]=Ae(D(_)),s[56]="SEC",t[56]=pe(),s[57]="AND",t[57]=ie(o0(S)),s[58]="uNOP",t[58]=S0(e0),s[59]="uRLA",t[59]=Ae(u(S)),s[60]="uNOP",t[60]=S0(o0(_)),s[61]="AND",t[61]=ie(o0(_)),s[62]="ROL",t[62]=Te(u(_)),s[63]="uRLA",t[63]=Ae(u(_)),s[64]="RTI",t[64]=rn(),s[65]="EOR",t[65]=ce(H0),s[66]="uKIL",t[66]=G0(),s[67]="uSRE",t[67]=Se(n),s[68]="uNOP",t[68]=S0(P0),s[69]="EOR",t[69]=ce(P0),s[70]="LSR",t[70]=Me(v),s[71]="uSRE",t[71]=Se(v),s[72]="PHA",t[72]=$t(),s[73]="EOR",t[73]=ce(s0),s[74]="LSR",t[74]=je(),s[75]="uASR",t[75]=Ht(s0),s[76]="JMP",t[76]=fn(),s[77]="EOR",t[77]=ce(R0),s[78]="LSR",t[78]=Me(B),s[79]="uSRE",t[79]=Se(B),s[80]="BVC",t[80]=xe(t0,0),s[81]="EOR",t[81]=ce(Z0),s[82]="uKIL",t[82]=G0(),s[83]="uSRE",t[83]=Se(g),s[84]="uNOP",t[84]=S0(d0(_)),s[85]="EOR",t[85]=ce(d0(_)),s[86]="LSR",t[86]=Me(D(_)),s[87]="uSRE",t[87]=Se(D(_)),s[88]="CLI",t[88]=J0(),s[89]="EOR",t[89]=ce(o0(S)),s[90]="uNOP",t[90]=S0(e0),s[91]="uSRE",t[91]=Se(u(S)),s[92]="uNOP",t[92]=S0(o0(_)),s[93]="EOR",t[93]=ce(o0(_)),s[94]="LSR",t[94]=Me(u(_)),s[95]="uSRE",t[95]=Se(u(_)),s[96]="RTS",t[96]=an(),s[97]="ADC",t[97]=ae(H0),s[98]="uKIL",t[98]=G0(),s[99]="uRRA",t[99]=Ce(n),s[100]="uNOP",t[100]=S0(P0),s[101]="ADC",t[101]=ae(P0),s[102]="ROR",t[102]=Fe(v),s[103]="uRRA",t[103]=Ce(v),s[104]="PLA",t[104]=Gt(),s[105]="ADC",t[105]=ae(s0),s[106]="ROR",t[106]=M0(),s[107]="uARR",t[107]=Xt(s0),s[108]="JMP",t[108]=cn(),s[109]="ADC",t[109]=ae(R0),s[110]="ROR",t[110]=Fe(B),s[111]="uRRA",t[111]=Ce(B),s[112]="BVS",t[112]=xe(t0,1),s[113]="ADC",t[113]=ae(Z0),s[114]="uKIL",t[114]=G0(),s[115]="uRRA",t[115]=Ce(g),s[116]="uNOP",t[116]=S0(d0(_)),s[117]="ADC",t[117]=ae(d0(_)),s[118]="ROR",t[118]=Fe(D(_)),s[119]="uRRA",t[119]=Ce(D(_)),s[120]="SEI",t[120]=Ie(),s[121]="ADC",t[121]=ae(o0(S)),s[122]="uNOP",t[122]=S0(e0),s[123]="uRRA",t[123]=Ce(u(S)),s[124]="uNOP",t[124]=S0(o0(_)),s[125]="ADC",t[125]=ae(o0(_)),s[126]="ROR",t[126]=Fe(u(_)),s[127]="uRRA",t[127]=Ce(u(_)),s[128]="uNOP",t[128]=S0(s0),s[129]="STA",t[129]=be(X),s[130]="uNOP",t[130]=S0(s0),s[131]="uSAX",t[131]=Le(X),s[132]="STY",t[132]=et(k0),s[133]="STA",t[133]=be(k0),s[134]="STX",t[134]=qe(k0),s[135]="uSAX",t[135]=Le(k0),s[136]="DEY",t[136]=q0(),s[137]="uNOP",t[137]=S0(s0),s[138]="TXA",t[138]=Je(),s[139]="uANE",t[139]=Ut(s0),s[140]="STY",t[140]=et(K0),s[141]="STA",t[141]=be(K0),s[142]="STX",t[142]=qe(K0),s[143]="uSAX",t[143]=Le(K0),s[144]="BCC",t[144]=xe(V0,0),s[145]="STA",t[145]=be(ee),s[146]="uKIL",t[146]=G0(),s[147]="uSHA",t[147]=lt(ee),s[148]="STY",t[148]=et(Q0(_)),s[149]="STA",t[149]=be(Q0(_)),s[150]="STX",t[150]=qe(Q0(S)),s[151]="uSAX",t[151]=Le(Q0(S)),s[152]="TYA",t[152]=Ft(),s[153]="STA",t[153]=be(j0(S)),s[154]="TXS",t[154]=ke(),s[155]="uSHS",t[155]=zt(j0(S)),s[156]="uSHY",t[156]=jt(j0(_)),s[157]="STA",t[157]=be(j0(_)),s[158]="uSHX",t[158]=Kt(j0(S)),s[159]="uSHA",t[159]=lt(j0(S)),s[160]="LDY",t[160]=Be(s0),s[161]="LDA",t[161]=se(H0),s[162]="LDX",t[162]=Re(s0),s[163]="uLAX",t[163]=we(H0),s[164]="LDY",t[164]=Be(P0),s[165]="LDA",t[165]=se(P0),s[166]="LDX",t[166]=Re(P0),s[167]="uLAX",t[167]=we(P0),s[168]="TAY",t[168]=Pe(),s[169]="LDA",t[169]=se(s0),s[170]="TAX",t[170]=_e(),s[171]="uLXA",t[171]=Yt(s0),s[172]="LDY",t[172]=Be(R0),s[173]="LDA",t[173]=se(R0),s[174]="LDX",t[174]=Re(R0),s[175]="uLAX",t[175]=we(R0),s[176]="BCS",t[176]=xe(V0,1),s[177]="LDA",t[177]=se(Z0),s[178]="uKIL",t[178]=G0(),s[179]="uLAX",t[179]=we(Z0),s[180]="LDY",t[180]=Be(d0(_)),s[181]="LDA",t[181]=se(d0(_)),s[182]="LDX",t[182]=Re(d0(S)),s[183]="uLAX",t[183]=we(d0(S)),s[184]="CLV",t[184]=I0(),s[185]="LDA",t[185]=se(o0(S)),s[186]="TSX",t[186]=le(),s[187]="uLAS",t[187]=Vt(o0(S)),s[188]="LDY",t[188]=Be(o0(_)),s[189]="LDA",t[189]=se(o0(_)),s[190]="LDX",t[190]=Re(o0(S)),s[191]="uLAX",t[191]=we(o0(S)),s[192]="CPY",t[192]=Qe(s0),s[193]="CMP",t[193]=fe(H0),s[194]="uNOP",t[194]=S0(s0),s[195]="uDCP",t[195]=de(n),s[196]="CPY",t[196]=Qe(P0),s[197]="CMP",t[197]=fe(P0),s[198]="DEC",t[198]=Ee(v),s[199]="uDCP",t[199]=de(v),s[200]="INY",t[200]=$0(),s[201]="CMP",t[201]=fe(s0),s[202]="DEX",t[202]=re(),s[203]="uSBX",t[203]=Wt(s0),s[204]="CPY",t[204]=Qe(R0),s[205]="CMP",t[205]=fe(R0),s[206]="DEC",t[206]=Ee(B),s[207]="uDCP",t[207]=de(B),s[208]="BNE",t[208]=xe(q,0),s[209]="CMP",t[209]=fe(Z0),s[210]="uKIL",t[210]=G0(),s[211]="uDCP",t[211]=de(g),s[212]="uNOP",t[212]=S0(d0(_)),s[213]="CMP",t[213]=fe(d0(_)),s[214]="DEC",t[214]=Ee(D(_)),s[215]="uDCP",t[215]=de(D(_)),s[216]="CLD",t[216]=y0(),s[217]="CMP",t[217]=fe(o0(S)),s[218]="uNOP",t[218]=S0(e0),s[219]="uDCP",t[219]=de(u(S)),s[220]="uNOP",t[220]=S0(o0(_)),s[221]="CMP",t[221]=fe(o0(_)),s[222]="DEC",t[222]=Ee(u(_)),s[223]="uDCP",t[223]=de(u(_)),s[224]="CPX",t[224]=Ge(s0),s[225]="SBC",t[225]=ne(H0),s[226]="uNOP",t[226]=S0(s0),s[227]="uISB",t[227]=he(n),s[228]="CPX",t[228]=Ge(P0),s[229]="SBC",t[229]=ne(P0),s[230]="INC",t[230]=Ze(v),s[231]="uISB",t[231]=he(v),s[232]="INX",t[232]=te(),s[233]="SBC",t[233]=ne(s0),s[234]="NOP",t[234]=J(),s[235]="SBC",t[235]=ne(s0),s[236]="CPX",t[236]=Ge(R0),s[237]="SBC",t[237]=ne(R0),s[238]="INC",t[238]=Ze(B),s[239]="uISB",t[239]=he(B),s[240]="BEQ",t[240]=xe(q,1),s[241]="SBC",t[241]=ne(Z0),s[242]="uKIL",t[242]=G0(),s[243]="uISB",t[243]=he(g),s[244]="uNOP",t[244]=S0(d0(_)),s[245]="SBC",t[245]=ne(d0(_)),s[246]="INC",t[246]=Ze(D(_)),s[247]="uISB",t[247]=he(D(_)),s[248]="SED",t[248]=$e(),s[249]="SBC",t[249]=ne(o0(S)),s[250]="uNOP",t[250]=S0(e0),s[251]="uISB",t[251]=he(u(S)),s[252]="uNOP",t[252]=S0(o0(_)),s[253]="SBC",t[253]=ne(o0(_)),s[254]="INC",t[254]=Ze(u(_)),s[255]="uISB",t[255]=he(u(_));function b(){return e0(function(){H(o>127),o=o<<1&255,O(o),E(o)})}function P(){return e0(function(){k=0})}function y0(){return e0(function(){y=0})}function J0(){return e0(function(){p=0})}function I0(){return e0(function(){W=0})}function re(){return e0(function(){d=d-1&255,O(d),E(d)})}function q0(){return e0(function(){x=x-1&255,O(x),E(x)})}function te(){return e0(function(){d=d+1&255,O(d),E(d)})}function $0(){return e0(function(){x=x+1&255,O(x),E(x)})}function je(){return e0(function(){k=o&1,o>>>=1,O(o),a=0})}function J(){return e0(function(){})}function me(){return e0(function(){var l=o>127;o=(o<<1|k)&255,H(l),O(o),E(o)})}function M0(){return e0(function(){var l=o&1;o=o>>>1|k<<7,H(l),O(o),E(o)})}function pe(){return e0(function(){k=1})}function $e(){return e0(function(){y=1})}function Ie(){return e0(function(){p=1})}function _e(){return e0(function(){d=o,O(d),E(d)})}function Pe(){return e0(function(){x=o,O(x),E(x)})}function le(){return e0(function(){d=m,O(d),E(d)})}function Je(){return e0(function(){o=d,O(o),E(o)})}function ke(){return e0(function(){m=d})}function Ft(){return e0(function(){o=x,O(o),E(o)})}function G0(){return[K,function(){Y("KIL/HLT/JAM")},function(){G--}]}function S0(l){return l(function(){Y("NOP/DOP")})}function ae(l){return l(function(){if(y){var C=R,j=(o&15)+(C&15)+k;j>9&&(j+=6);var v0=(o>>4)+(C>>4)+(j>15?1:0)<<4;O(o+C+k&255),E(v0),_0((o^v0)&~(o^C)&128),v0>159&&(v0+=96),H(v0>255),o=(v0|j&15)&255}else{var h0=o+R+k;H(h0>255),_0((o^h0)&(R^h0)&128),o=h0&255,O(o),E(o)}})}function ie(l){return l(function(){o&=R,O(o),E(o)})}function ut(l){return l(function(){var C=R;O(o&C),_0(C&64),E(C)})}function fe(l){return l(function(){var C=o-R&255;H(o>=R),O(C),E(C)})}function Ge(l){return l(function(){var C=d-R&255;H(d>=R),O(C),E(C)})}function Qe(l){return l(function(){var C=x-R&255;H(x>=R),O(C),E(C)})}function ce(l){return l(function(){o^=R,O(o),E(o)})}function se(l){return l(function(){o=R,O(o),E(o)})}function Re(l){return l(function(){d=R,O(d),E(d)})}function Be(l){return l(function(){x=R,O(x),E(x)})}function oe(l){return l(function(){o|=R,O(o),E(o)})}function ne(l){return l(function(){if(y){var C=R,j=(o&15)-(C&15)-(1-k),v0=(o>>4)-(C>>4)-(j<0?1:0);j<0&&(j-=6),v0<0&&(v0-=6);var h0=o-C-(1-k);H(~h0&256),_0((o^C)&(o^h0)&128),O(h0&255),E(h0),o=(v0<<4|j&15)&255}else C=~R&255,h0=o+C+k,H(h0>255),_0((o^h0)&(C^h0)&128),o=h0&255,O(o),E(o)})}function mt(l){return l(function(){Y("ANC"),o&=R,O(o),a=k=o&128?1:0})}function Ut(l){return l(function(){Y("ANE")})}function Xt(l){return l(function(){Y("ARR");var C=o&R,j=k?128:0;C=C>>>1|j,o=C,O(C),E(C);var v0=o&96;v0==96?(k=1,W=0):v0==0?(k=0,W=0):v0==32?(k=0,W=1):v0==64&&(k=1,W=1)})}function Ht(l){return l(function(){Y("ASR");var C=o&R;k=C&1,C=C>>>1,o=C,O(C),a=0})}function Vt(l){return l(function(){Y("LAS");var C=m&R;o=C,d=C,m=C,O(C),E(C)})}function we(l){return l(function(){Y("LAX");var C=R;o=C,d=C,O(C),E(C)})}function Yt(l){return l(function(){Y("LXA");var C=o&R;o=C,d=C,O(C),E(C)})}function Wt(l){return l(function(){Y("SBX");var C=o&d,j=R,v0=C-j&255;d=v0,H(C>=j),O(v0),E(v0)})}function be(l){return l(function(){R=o})}function qe(l){return l(function(){R=d})}function et(l){return l(function(){R=x})}function Le(l){return l(function(){Y("SAX"),R=o&d})}function lt(l){return l(function(){Y("SHA"),R=o&d&(F>>>8)+1&255})}function zt(l){return l(function(){Y("SHS");var C=o&d;m=C,R=C&(F>>>8)+1&255})}function Kt(l){return l(function(){Y("SHX"),R=d&(F>>>8)+1&255})}function jt(l){return l(function(){Y("SHY"),R=x&(F>>>8)+1&255})}function Oe(l){return l(function(){H(R>127);var C=R<<1&255;R=C,O(C),E(C)})}function Ee(l){return l(function(){var C=R-1&255;R=C,O(C),E(C)})}function Ze(l){return l(function(){var C=R+1&255;R=C,O(C),E(C)})}function Me(l){return l(function(){k=R&1,R>>>=1,O(R),a=0})}function Te(l){return l(function(){var C=R>127,j=(R<<1|k)&255;R=j,H(C),O(j),E(j)})}function Fe(l){return l(function(){var C=R&1,j=R>>>1|k<<7;R=j,H(C),O(j),E(j)})}function de(l){return l(function(){Y("DCP");var C=R-1&255;R=C,C=o-C,H(C>=0),O(C),E(C)})}function he(l){return l(function(){if(Y("ISB"),R=R+1&255,y){var C=R,j=(o&15)-(C&15)-(1-k),v0=(o>>4)-(C>>4)-(j<0?1:0);j<0&&(j-=6),v0<0&&(v0-=6);var h0=o-C-(1-k);H(~h0&256),_0((o^C)&(o^h0)&128),O(h0&255),E(h0),o=(v0<<4|j&15)&255}else C=~R&255,h0=o+C+k,H(h0>255),_0((o^h0)&(C^h0)&128),o=h0&255,O(o),E(o)})}function Ae(l){return l(function(){Y("RLA");var C=R,j=k;H(C&128),C=(C<<1|j)&255,R=C,o&=C,O(C),E(C)})}function Ce(l){return l(function(){Y("RRA");var C=R,j=k?128:0;if(H(C&1),C=C>>>1|j,R=C,y){var v0=R,h0=(o&15)+(v0&15)+k;h0>9&&(h0+=6);var De=(o>>4)+(v0>>4)+(h0>15?1:0)<<4;O(o+v0+k&255),E(De),_0((o^De)&~(o^v0)&128),De>159&&(De+=96),H(De>255),o=(De|h0&15)&255}else{var Ue=o+R+k;H(Ue>255),_0((o^Ue)&(R^Ue)&128),o=Ue&255,O(o),E(o)}})}function ve(l){return l(function(){Y("SLO");var C=R;H(C&128),C=C<<1&255,R=C,C=o|C,o=C,O(C),E(C)})}function Se(l){return l(function(){Y("SRE");var C=R;H(C&1),C=C>>>1,R=C,C=(o^C)&255,o=C,O(C),E(C)})}function $t(){return[K,A0,function(){$(o)},U]}function Jt(){return[K,A0,function(){$(m0())},U]}function Gt(){return[K,A0,C0,function(){o=r0(),O(o),E(o)},U]}function Qt(){return[K,A0,C0,function(){N0(r0())},U]}function qt(){return[K,I,C0,function(){$(c>>>8&255)},function(){$(c&255)},X0,function(){c=L,U()}]}function en(){return[K,i0,function(){h.debug&&h.breakpoint("BRK "+R),$(c>>>8&255)},function(){$(c&255)},function(){$(m0())},function(){L=e.read(D0)},function(){L|=e.read(D0+1)<<8},function(){c=L,p=1,U()}]}function tn(){return[K,i0,function(){h.debug&&h.breakpoint("IRQ "+R),$(c>>>8&255)},function(){$(c&255)},function(){$(m0()&~16)},function(){L=e.read(D0)},function(){L|=e.read(D0+1)<<8},function(){c=L,U()}]}function nn(){return[K,i0,function(){h.debug&&h.breakpoint("NMI "+R),$(c>>>8&255)},function(){$(c&255)},function(){$(m0()&~16)},function(){L=e.read(T0)},function(){L|=e.read(T0+1)<<8},function(){c=L,U()}]}function rn(){return[K,A0,C0,function(){N0(r0())},function(){L=r0()},function(){L|=r0()<<8},function(){c=L,U()}]}function an(){return[K,A0,C0,function(){L=r0()},function(){L|=r0()<<8},function(){c=L,i0()},U]}function fn(){return[K,I,X0,function(){c=L,U()}]}function cn(){return[K,U0,p0,l0,function(){c0(),O0()},function(){c=F,U()}]}function xe(l,C){var j;return l===q?j=function(){return N===C}:l===Y0?j=function(){return a===C}:l===V0?j=function(){return k===C}:j=function(){return W===C},[K,x0,function(){j()?(A0(),M()):U()},function(){g0?(A0(),n0()):U()},U]}this.saveState=function(){return{PC:c-1&65535,A:o,X:d,Y:x,SP:m,N:a,V:W,D:y,I:p,Z:N,C:k,T:G,o:u0,R:r?1:0,d:R,AD:L,BA:F,BC:z?1:0,IA:i,bo:f,boa:g0}},this.loadState=function(l){c=l.PC+1&65535,o=l.A,d=l.X,x=l.Y,m=l.SP,a=l.N,W=l.V,y=l.D,p=l.I,N=l.Z,k=l.C,G=l.T,u0=l.o,r=!!l.R,R=l.d,L=l.AD,F=l.BA,z=!!l.BC,i=l.IA,f=l.bo,g0=l.boa,A=u0<0?[K]:t[u0]},this.toString=function(){return"CPU PC: "+c.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"+a+" V"+W+" D"+y+" I"+p+" Z"+N+" C"+k+" "},this.breakpoint=function(l){if(this.trace)var C="CPU Breakpoint! "+(l?"("+l+")":"")+`
`+this.toString()};var bt=[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],sn=[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],on=[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],Ln=[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:bt[l],maxCycles:bt[l]+sn[l],insnlength:on[l]}},this.setNMI=function(){A=nn(),G=1,c=c-1&65535},this.setIRQ=function(){p||(A=tn(),G=1,c=c-1&65535)},this.getSP=function(){return m},this.getPC=function(){return c-1&65535},this.getT=function(){return G},this.isHalted=function(){return s[u0]=="uKIL"},this.isPCStable=function(){return G==0}},ue;(function(c){c[c.None=0]="None",c[c.NMI=1]="NMI",c[c.IRQ=2]="IRQ"})(ue||(ue={}));var Cn=class{constructor(){this.cpu=new st;this.interruptType=0}connectMemoryBus(e){this.cpu.connectBus(e)}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(e){this.interruptType!=1&&(this.interruptType=e)}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 e=this.cpu.saveState();return e.it=this.interruptType,e}loadState(e){this.cpu.loadState(e),this.interruptType=e.it}isStable(){return this.cpu.isPCStable()}getOpcodeMetadata(e){return this.cpu.getOpcodeMetadata(e)}};var vn=class{constructor(e,r){this.symbolmap=e,this.debuginfo=r,this.addr2symbol=dt(e),this.addr2symbol[0]||(this.addr2symbol[0]="$00"),this.addr2symbol[65536]="__END__"}};function ge(h){return h&&typeof h.getDebugCategories=="function"}var Rt=class{constructor(){this.id2bp={}}getDebugCondition(){return Object.keys(this.id2bp).length==0?null:()=>{var e=!1;for(var r in this.id2bp)this.id2bp[r].cond()&&(e=!0);return e}}},Bt=class{constructor(){this.recorder=null;this.internalFiles={}}setRecorder(e){this.recorder=e}updateRecorder(){this.recorder&&this.isRunning()&&this.recorder.frameRequested()&&this.recorder.recordFrame(this.saveState())}inspect(e){return Sn(this,e)}getDebugTree(){var r;var e={};return e.state=this.saveState(),((r=this.debugSymbols)==null?void 0:r.debuginfo)&&(e.debuginfo=this.debugSymbols.debuginfo),e}readFile(e){return this.internalFiles[e]}writeFile(e,r){return this.internalFiles[e]=r,!0}},We=class extends Bt{constructor(){super(...arguments);this.debugSavedState=null;this.debugBreakState=null;this.debugTargetClock=0;this.debugClock=0;this.breakpoints=new Rt;this.frameCount=0}setBreakpoint(e,r){r?(this.breakpoints.id2bp[e]={cond:r},this.restartDebugging()):this.clearBreakpoint(e)}clearBreakpoint(e){delete this.breakpoints.id2bp[e]}hasBreakpoint(e){return this.breakpoints.id2bp[e]!=null}getDebugCallback(){return this.breakpoints.getDebugCondition()}setupDebug(e){this.onBreakpointHit=e}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(e){this.setBreakpoint("debug",e)}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(e){this.pollControls(),this.updateRecorder(),this.preFrame();var r=this.advance(e);return this.postFrame(),r}evalDebugCondition(){this.debugCallback&&!this.debugBreakState&&this.debugCallback()}wasBreakpointHit(){return this.debugBreakState!=null}breakpointHit(e,r){console.log(this.debugTargetClock,e,this.debugClock,this.isStable()),this.debugTargetClock=e,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,r)}haltAndCatchFire(e){this.breakpointHit(this.debugClock,e)}runEval(e){this.setDebugCondition(()=>{if(++this.debugClock>=this.debugTargetClock&&this.isStable()){var r=this.getCPUState();return e(r)?(this.breakpointHit(this.debugClock),!0):!1}})}runToPC(e){this.debugTargetClock++,this.runEval(r=>r.PC==e)}runUntilReturn(){var e=this.getSP();this.runEval(r=>r.SP>e)}runToFrameClock(e){this.restartDebugging(),this.debugTargetClock=e,this.runEval(()=>!0)}step(){this.runToFrameClock(this.debugClock+1)}stepBack(){var e,r,c=this.debugTargetClock;this.restartDebugging(),this.debugTargetClock=c-25,this.runEval(m=>this.debugClock<c?(e=this.saveState(),r=this.debugClock,!1):(e&&(this.loadState(e),this.debugClock=r),!0))}runToVsync(){this.restartDebugging();var e=this.frameCount;this.runEval(()=>this.frameCount>e)}};function Sn(h,e){if(!!h.debugSymbols){var r=h.debugSymbols.symbolmap,c=h.debugSymbols.addr2symbol;if(!r||!h.readAddress)return null;var m=r["_"+e]||r[e];if(typeof m!="number")return null;var o=h.readAddress(m);if(c&&c[m+1]!=null)return"$"+a0(m,4)+" = $"+a0(o,2)+" ("+o+" decimal)";{let d=h.readAddress(m+1),x=o|d<<8;return"$"+a0(m,4)+" = $"+a0(o,2)+" $"+a0(d,2)+" ("+(x<<16>>16)+" decimal)"}}}function Nt(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":"dasm"}var gn=class extends We{constructor(){super(...arguments);this.debugPCDelta=-1;this.getToolForFilename=Nt}fixPC(e){return e.PC=e.PC+this.debugPCDelta&65535,e}unfixPC(e){return e.PC=e.PC-this.debugPCDelta&65535,e}getSP(){return this.getCPUState().SP}getPC(){return this.getCPUState().PC}isStable(){return!this.getCPUState().T}newCPU(e){var r=new st;return r.connectBus(e),r}getOpcodeMetadata(e,r){return It(e,r)}getOriginPC(){return(this.readAddress(65532)|this.readAddress(65533)<<8)&65535}disassemble(e,r){return rt(e,r(e),r(e+1),r(e+2))}getDefaultExtension(){return".a"}getDebugCategories(){return["CPU","ZPRAM","Stack"]}getDebugInfo(e,r){switch(e){case"CPU":return yt(r.c);case"ZPRAM":return nt(r.b||r.ram,0,256);case"Stack":return ye(this,r.b||r.ram,256,511,256+r.c.SP,32)}}};function yt(h){function e(r){var c="";return c+=r.N?" N":" -",c+=r.V?" V":" -",c+=r.D?" D":" -",c+=r.Z?" Z":" -",c+=r.C?" C":" -",c+=r.I?" I":" -",c}return"PC "+a0(h.PC,4)+" "+e(h)+`
A `+a0(h.A)+" "+(h.R?"":"BUSY")+`
X `+a0(h.X)+`
Y `+a0(h.Y)+" SP "+a0(h.SP)+`
`}var ze={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 It(h,e){return{opcode:h,minCycles:ze.cycletime[h],maxCycles:ze.cycletime[h]+ze.extracycles[h],insnlength:ze.insnlengths[h]}}function Lt(h){function e(r){return tt(r,["S","Z",,"H",,"V","N","C"],!0)}return"PC "+a0(h.PC,4)+" "+e(h.AF)+" "+(h.iff1?"I":"-")+(h.iff2?"I":"-")+`
SP `+a0(h.SP,4)+" IR "+a0(h.IR,4)+`
IX `+a0(h.IX,4)+" IY "+a0(h.IY,4)+`
AF `+a0(h.AF,4)+" BC "+a0(h.BC,4)+`
DE `+a0(h.DE,4)+" HL "+a0(h.HL,4)+`
`}var Ot=class extends We{constructor(){super(...arguments);this.waitCycles=0;this.getToolForFilename=Et}newCPU(e,r){return this._cpu=new at,this._cpu.connectMemoryBus(e),this._cpu.connectIOBus(r),this._cpu}getPC(){return this._cpu.getPC()}getSP(){return this._cpu.getSP()}isStable(){return!0}runCPU(e,r){if(this._cpu=e,this.waitCycles=0,this.wasBreakpointHit())return 0;var c=this.getDebugCallback(),m=0;for(this.waitCycles+=r;this.waitCycles>0;){if(c&&c()){c=null;break}var o=e.advanceInsn();m+=o,this.waitCycles-=o}return m}getDefaultExtension(){return".c"}getDebugCategories(){return["CPU","Stack"]}getDebugInfo(e,r){switch(e){case"CPU":return Lt(r.c);case"Stack":{var c=r.c.SP-1&65535,m=c&65280,o=m+255;return c==0&&(c=65536),console.log(c,m,o),ye(this,[],m,o,c,205)}}}disassemble(e,r){return ct(e,r(e),r(e+1),r(e+2),r(e+3))}};function Et(h){return h.endsWith(".c")||h.endsWith(".h")?"sdcc":h.endsWith(".s")?"sdasz80":h.endsWith(".ns")?"naken":h.endsWith(".scc")?"sccz80":h.endsWith(".z")?"zmac":h.endsWith(".wiz")?"wiz":"zmac"}function ot(h){function e(r){return tt(r,["E","F","H","I","N","Z","V","C"],!0)}return"PC "+a0(h.PC,4)+" "+e(h.CC)+`
SP `+a0(h.SP,4)+`
DP `+a0(h.DP,2)+`
A `+a0(h.A,2)+`
B `+a0(h.B,2)+`
X `+a0(h.X,4)+`
Y `+a0(h.Y,4)+`
U `+a0(h.U,4)+`
`}function Zt(h){return h.endsWith(".c")||h.endsWith(".h")?"cmoc":h.endsWith(".xasm")?"xasm6809":h.endsWith(".lwasm")?"lwasm":"cmoc"}var pn=class extends Ot{constructor(){super(...arguments);this.getToolForFilename=Zt}newCPU(e){var r=Object.create(Ye());return r.init(e.write,e.read,0),r}cpuStateToLongString(e){return ot(e)}disassemble(e,r){return Object.create(Ye()).disasm(r(e),r(e+1),r(e+2),r(e+3),r(e+4),e)}getDefaultExtension(){return".asm"}getDebugCategories(){return["CPU","Stack"]}getDebugInfo(e,r){switch(e){case"CPU":return ot(r.c);default:return super.getDebugInfo(e,r)}}};function ye(h,e,r,c,m,o,d){var x="",a=0;function W(k){return k<e.length?e[k]:h.readAddress(k)}for(;m<c;){m++;var y=W(m)+W(m+1)*256;d&&(y=(y&255)<<8|(y&65280)>>8);var p=o==32?-2:-3,N=W(y+p);N==o?(x+=`
$`+a0(m)+": ",x+=a0(y,4)+" "+_n(h,y,!0),m++,a=0):(a==0&&(x+=`
$`+a0(m)+": "),x+=a0(W(m))+" ",++a==8&&(a=0))}return x+`
`}function _n(h,e,r){for(var c=e,m=h.debugSymbols&&h.debugSymbols.addr2symbol;m&&e>=0;){var o=m[e];if(o){var o=m[e];return r?o+" + $"+a0(c-e):o}if(!r)break;e--}return""}function Pn(h){return typeof h.connectVideo=="function"}function kn(h){return typeof h.connectAudio=="function"}function wn(h){return typeof h.setKeyInput=="function"}function Mt(h){return typeof h.setPaddleInput=="function"}function xt(h){return typeof h.getRasterY=="function"}function Dn(h){return typeof h.connectProbe=="function"}function Rn(h){return typeof h.loadBIOS=="function"}function Bn(h){return typeof h.connectSerialIO=="function"}var Ke=class extends We{constructor(e){super();this.mainElement=e}reset(){this.machine.reset(),this.serialVisualizer!=null&&this.serialVisualizer.reset()}loadState(e){this.machine.loadState(e)}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(e){this.machine.loadControlsState(e)}saveControlsState(){return this.machine.saveControlsState()}async start(){this.machine=this.newMachine();let e=this.machine;e instanceof Ve&&await e.loadWASM();var r;if(Pn(e)){var c=e.getVideoParams();this.video=new At(this.mainElement,c.width,c.height,{overscan:!!c.overscan,rotate:c.rotate|0,aspect:c.aspect}),this.video.create(),e.connectVideo(this.video.getFrameData()),wn(e)&&(this.video.setKeyboardEvents(e.setKeyInput.bind(e)),this.poller=new gt(e.setKeyInput.bind(e))),r=c.videoFrequency}if(this.timer=new St(r||60,this.nextFrame.bind(this)),kn(e)){var m=e.getAudioParams();this.audio=new it(m.sampleRate),this.audio.start(),e.connectAudio(this.audio)}Mt(e)&&this.video.setupMouseEvents(),Dn(e)&&(this.probeRecorder=new ft(e),this.startProbing=()=>(e.connectProbe(this.probeRecorder),this.probeRecorder),this.stopProbing=()=>{e.connectProbe(null)}),Rn(e)&&(this.loadBIOS=(o,d)=>{e.loadBIOS(d,o)}),Bn(e)&&(this.serialIOInterface==null?this.serialVisualizer=new Tt(this.mainElement,e):e.connectSerialIO(this.serialIOInterface))}loadROM(e,r){this.machine.loadROM(r,e),this.reset()}pollControls(){this.poller&&this.poller.poll(),Mt(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(e){let r=this.getDebugCallback();var c=this.machine.advanceFrame(r);return!e&&this.video&&(this.video.updateFrame(),this.updateVideoDebugger()),!e&&this.serialVisualizer&&this.serialVisualizer.refresh(),c}updateVideoDebugger(){var e;if(!this.isRunning()&&xt(this.machine)&&this.machine.getRasterCanvasPosition){let{x:r,y:c}=this.machine.getRasterCanvasPosition();if(r>=0||c>=0){let m=(e=this.video)==null?void 0:e.getContext();m&&Ct(m,r,c,1)}}}advanceFrameClock(e,r){if(r>0)return this.machine instanceof Ve?this.machine.advanceFrameClock(e,r):this.machine.advanceFrame(()=>--r<=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 e=!1;this.runEval(()=>{if(this.getRasterScanline()>0)e=!0;else return e})}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(e){return this.machine.read(e)}getDebugCategories(){if(ge(this.machine))return this.machine.getDebugCategories()}getDebugInfo(e,r){return ge(this.machine)&&this.machine.getDebugInfo(e,r)}},Nn=class extends Ke{constructor(){super(...arguments);this.getOpcodeMetadata=It}getToolForFilename(e){return Nt(e)}disassemble(e,r){return rt(e,r(e),r(e+1),r(e+2))}getDebugCategories(){return ge(this.machine)?this.machine.getDebugCategories():["CPU","ZPRAM","Stack"]}getDebugInfo(e,r){switch(e){case"CPU":return yt(r.c);case"ZPRAM":return nt(r.b||r.ram,0,256);case"Stack":return ye(this,r.b||r.ram,256,511,256+r.c.SP,32);default:return ge(this.machine)&&this.machine.getDebugInfo(e,r)}}},yn=class extends Ke{constructor(){super(...arguments);this.getToolForFilename=Et}getDebugCategories(){return ge(this.machine)?this.machine.getDebugCategories():["CPU","Stack"]}getDebugInfo(e,r){switch(e){case"CPU":return Lt(r.c);case"Stack":{var c=r.c.SP-1&65535,m=c&65280,o=m+255;return c==0&&(c=65536),ye(this,[],m,o,c,205)}default:return ge(this.machine)&&this.machine.getDebugInfo(e,r)}}disassemble(e,r){return ct(e,r(e),r(e+1),r(e+2),r(e+3))}},In=class extends Ke{constructor(){super(...arguments);this.getToolForFilename=Zt}getDebugCategories(){return ge(this.machine)?this.machine.getDebugCategories():["CPU","Stack"]}getDebugInfo(e,r){switch(e){case"CPU":return ot(r.c);case"Stack":{var c=r.c.SP-1&65535,m=c&65280,o=m+255;return c==0&&(c=65536),ye(this,[],m,o,c,23,!0)}default:return super.getDebugInfo(e,r)}}disassemble(e,r){return Object.create(Ye()).disasm(r(e),r(e+1),r(e+2),r(e+3),r(e+4),e)}},Tt=class{constructor(e,r){this.lastOutCount=-1;this.lastInCount=-1;this.device=r,this.textarea=document.createElement("textarea"),this.textarea.classList.add("transcript"),this.textarea.classList.add("transcript-style-2"),this.textarea.style.display="none",e.appendChild(this.textarea)}reset(){this.lastOutCount=0,this.lastInCount=0,this.textarea.style.display="none"}refresh(){var e="";if(this.device.serialOut.length!=this.lastOutCount){var r="";for(var c of this.device.serialOut)e!=c.op&&(r!=""&&(r+=`
`),c.op==="read"?r+="<< ":c.op==="write"&&(r+=">> "),e=c.op),c.value==10?(r+="\u21B5",e=""):r+=ht(c.value);this.textarea.value=r,this.lastOutCount=this.device.serialOut.length,this.textarea.style.display="block"}}};export{rt as a,ct as b,at as c,pt as d,mn as e,ln as f,Mn as g,bn as h,Tn as i,dn as j,hn as k,L0 as l,ft as m,He as n,_t as o,Pt as p,An as q,Ve as r,Ye as s,Cn as t,vn as u,ge as v,Bt as w,Sn as x,Nt as y,gn as z,yt as A,It as B,Lt as C,Ot as D,Et as E,pn as F,ye as G,Ke as H,Nn as I,yn as J,In as K};
//# sourceMappingURL=chunk-42IVW2OL.js.map