#!/usr/bin/env node const fs = require('fs'); const WavDecoder = require("wav-decoder"); const parseOptions = require("./parseOptions"); const { ACI } = require("./aci"); function samples2phases(samples) { let phases = []; // quantize data let s = samples.map(e=> e<0 ? 0 : 1); let counter = 0; let last_state = 0; for(let i=0;i mid_point) bits.push(1); else bits.push(0); } return bits; } function bits2bytes(bits) { let bytes = []; for(let t=0; t> 8) & 0xff; let lo = (start_address >> 0) & 0xff; bytes = [ lo, hi, ...bytes]; let prgFile = new Uint8Array(bytes); let prgName = `${options.output}.prg`; fs.writeFileSync(prgName, prgFile); console.log(`file "${prgName}" generated (it has two bytes header start address)`); } else { let binFile = new Uint8Array(bytes); let binName = `${options.output}.bin`; fs.writeFileSync(binName, binFile); console.log(`no address specified, writing raw binary`); console.log(`file "${binName}" generated`); }