So I was making a project in Source Coder 3, when out of nowhere, the test button stopped working! When I clicked it, it wasn't sending to the virtual calculator thing. The save button isn't working either. Help! How do I fix this?
Can you provide any steps to replicate your problem? For example, can you share the source code you are trying to build/send, what browser, what calculator and OS is loaded in jsTIfied, etc? Please also check the browser console (usually via F12) for any red errors.
I'm on a Chromebook and I use Microsoft bing as the default browser. the rom that I am using is the ti84 plus silver edition version 2.55mp.when I looked into the console, it gave me this error everytime I clicked 'test'.

Code:
Loaded Spasm module
sc3c.js?20180315a:350 Spasm ready
spasm.js:8 Uncaught ErrnoError {name: 'ErrnoError', node: undefined, errno: 44, message: 'FS error', setErrno: ƒ, …}
open @ spasm.js:8
readFile @ spasm.js:8
Spasm.assemble @ sc3c.js?20180315a:351
tools_exportproject @ sc3c.js?20180315a:388
(anonymous) @ sc3c.js?20180315a:389
setTimeout (async)
(anonymous) @ sc3c.js?20180315a:350
Promise.then (async)
k.onload @ sc3c.js?20180315a:349
load (async)
Spasm.init @ sc3c.js?20180315a:349
tools_exportproject @ sc3c.js?20180315a:389
sc3js_putfile @ sc3c.js?20180315a:494
onclick @ sc/:304
Could you please expand the Uncaught ErrnoError, if you can, such that it shows all the components of that, including (if possible) a backtrace? Thanks.
the error may be never ending, but I managed to get a fair amount of it: Loaded Spasm module
sc3c.js?20180315a:350 Spasm ready
spasm.js:8 Uncaught ErrnoError {name: 'ErrnoError', node: undefined, errno: 44, message: 'FS error', setErrno: ƒ, …}errno: 44message: "FS error"name: "ErrnoError"node: undefinedsetErrno: ƒ (errno)arguments: nullcaller: nulllength: 1name: ""prototype: constructor: ƒ (errno)arguments: nullcaller: nulllength: 1name: ""prototype: constructor: ƒ (errno)arguments: nullcaller: nulllength: 1name: ""prototype: constructor: ƒ (errno)arguments: nullcaller: nulllength: 1name: ""prototype: constructor: ƒ (errno)arguments: nullcaller: nulllength: 1name: ""prototype: constructor: ƒ (errno)arguments: nullcaller: nulllength: 1name: ""prototype: constructor: ƒ (errno)arguments: nullcaller: nulllength: 1name: ""prototype: constructor: ƒ (errno)arguments: nullcaller: nulllength: 1name: ""prototype: constructor: ƒ (errno)arguments: nullcaller: nulllength: 1name: ""prototype: constructor: ƒ (errno)arguments: nullcaller: nulllength: 1name: ""prototype: constructor: ƒ (errno)arguments: nullcaller: nulllength: 1name: ""prototype: constructor: ƒ (errno)arguments: nullcaller: nulllength: 1name: ""prototype: constructor: ƒ (errno)arguments: nullcaller: nulllength: 1name: ""prototype: constructor: ƒ (errno)arguments: nullcaller: nulllength: 1name: ""prototype: constructor: ƒ (errno)arguments: nullcaller: nulllength: 1name: ""prototype: constructor: ƒ (errno)arguments: nullcaller: nulllength: 1name: ""prototype: constructor: ƒ (errno)arguments: nullcaller: nulllength: 1name: ""prototype: constructor: ƒ (errno)arguments: nullcaller: nulllength: 1name: ""prototype: constructor: ƒ (errno)arguments: nullcaller: nulllength: 1name: ""prototype: constructor: ƒ (errno)arguments: nullcaller: nulllength: 1name: ""prototype: constructor: ƒ (errno)arguments: nullcaller: nulllength: 1name: ""prototype: constructor: ƒ (errno)arguments: nullcaller: nulllength: 1name: ""prototype: constructor: ƒ (errno)arguments: nullcaller: nulllength: 1name: ""prototype: constructor: ƒ (errno)arguments: nullcaller: nulllength: 1name: ""prototype: constructor: ƒ (errno)arguments: nullcaller: nulllength: 1name: ""prototype: constructor: ƒ (errno)arguments: nullcaller: nulllength: 1name: ""prototype: constructor: ƒ (errno)arguments: nullcaller: nulllength: 1name: ""prototype: constructor: ƒ (errno)arguments: nullcaller: nulllength: 1name: ""prototype: constructor: ƒ (errno)arguments: nullcaller: nulllength: 1name: ""prototype: constructor: ƒ (errno)arguments: nullcaller: nulllength: 1name: ""prototype: constructor: ƒ (errno)arguments: nullcaller: nulllength: 1name: ""prototype: {}[[FunctionLocation]]: spasm.js:8[[Prototype]]: ƒ ()apply: ƒ apply()arguments: (...)bind: ƒ bind()call: ƒ call()caller: (...)constructor: ƒ Function()length: 0name: ""toString: ƒ ()length: 0name: "toString"prototype: undefinedarguments: (...)caller: (...)[[FunctionLocation]]: sax.js:2[[Prototype]]: ƒ ()apply: ƒ apply()length: 2name: "apply"arguments: (...)caller: (...)[[Prototype]]: ƒ ()apply: ƒ apply()length: 2name: "apply"arguments: (...)caller: (...)[[Prototype]]: ƒ ()apply: ƒ apply()length: 2name: "apply"arguments: (...)caller: (...)[[Prototype]]: ƒ ()[[Scopes]]: Scopes[0]arguments: (...)bind: ƒ bind()call: ƒ call()caller: (...)constructor: ƒ Function()length: 0name: ""toString: ƒ ()Symbol(Symbol.hasInstance): ƒ [Symbol.hasInstance]()get arguments: ƒ ()set arguments: ƒ ()get caller: ƒ ()set caller: ƒ ()[[FunctionLocation]]: [[Prototype]]: Object[[Scopes]]: Scopes[0][[Scopes]]: Scopes[0]arguments: (...)bind: ƒ bind()call: ƒ call()caller: (...)constructor: ƒ Function()length: 0name: ""toString: ƒ ()Symbol(Symbol.hasInstance): ƒ [Symbol.hasInstance]()get arguments: ƒ ()set arguments: ƒ ()get caller: ƒ ()set caller: ƒ ()[[FunctionLocation]]: [[Prototype]]: Object[[Scopes]]: Scopes[0][[Scopes]]: Scopes[0]arguments: (...)bind: ƒ bind()call: ƒ call()caller: (...)constructor: ƒ Function()length: 0name: ""toString: ƒ ()Symbol(Symbol.hasInstance): ƒ [Symbol.hasInstance]()get arguments: ƒ ()set arguments: ƒ ()get caller: ƒ ()set caller: ƒ ()[[FunctionLocation]]: [[Prototype]]: Object[[Scopes]]: Scopes[0][[Scopes]]: Scopes[2]Symbol(Symbol.hasInstance): ƒ [Symbol.hasInstance]()get arguments: ƒ ()set arguments: ƒ ()get caller: ƒ ()set caller: ƒ ()[[FunctionLocation]]: [[Prototype]]: Object[[Scopes]]: Scopes[0][[Scopes]]: Scopes[3][[Prototype]]: Object[[FunctionLocation]]: spasm.js:8[[Prototype]]: ƒ ()[[Scopes]]: Scopes[3][[Prototype]]: Object[[FunctionLocation]]: spasm.js:8[[Prototype]]: ƒ ()[[Scopes]]: Scopes[3][[Prototype]]: Object[[FunctionLocation]]: spasm.js:8[[Prototype]]: ƒ ()[[Scopes]]: Scopes[3][[Prototype]]: Object[[FunctionLocation]]: spasm.js:8[[Prototype]]: ƒ ()[[Scopes]]: Scopes[3][[Prototype]]: Object[[FunctionLocation]]: spasm.js:8[[Prototype]]: ƒ ()[[Scopes]]: Scopes[3][[Prototype]]: Object[[FunctionLocation]]: spasm.js:8[[Prototype]]: ƒ ()[[Scopes]]: Scopes[3][[Prototype]]: Object[[FunctionLocation]]: spasm.js:8[[Prototype]]: ƒ ()[[Scopes]]: Scopes[3][[Prototype]]: Object[[FunctionLocation]]: spasm.js:8[[Prototype]]: ƒ ()[[Scopes]]: Scopes[3][[Prototype]]: Objectconstructor: ƒ Object()hasOwnProperty: ƒ hasOwnProperty()isPrototypeOf: ƒ isPrototypeOf()propertyIsEnumerable: ƒ propertyIsEnumerable()toLocaleString: ƒ toLocaleString()toString: ƒ toString()valueOf: ƒ valueOf()__defineGetter__: ƒ __defineGetter__()__defineSetter__: ƒ __defineSetter__()__lookupGetter__: ƒ __lookupGetter__()__lookupSetter__: ƒ __lookupSetter__()__proto__: (...)get __proto__: ƒ __proto__()set __proto__: ƒ __proto__()[[FunctionLocation]]: spasm.js:8[[Prototype]]: ƒ ()[[Scopes]]: Scopes[3][[Prototype]]: Object[[FunctionLocation]]: spasm.js:8[[Prototype]]: ƒ ()apply: ƒ apply()arguments: (...)bind: ƒ bind()call: ƒ call()caller: (...)constructor: ƒ Function()length: 0name: ""toString: ƒ ()Symbol(Symbol.hasInstance): ƒ [Symbol.hasInstance]()get arguments: ƒ ()set arguments: ƒ ()get caller: ƒ ()set caller: ƒ ()[[FunctionLocation]]: [[Prototype]]: Object[[Scopes]]: Scopes[0][[Scopes]]: Scopes[3][[Prototype]]: Object[[FunctionLocation]]: spasm.js:8[[Prototype]]: ƒ ()[[Scopes]]: Scopes[3][[Prototype]]: Object[[FunctionLocation]]: spasm.js:8[[Prototype]]: ƒ ()[[Scopes]]: Scopes[3][[Prototype]]: Object[[FunctionLocation]]: spasm.js:8[[Prototype]]: ƒ ()[[Scopes]]: Scopes[3][[Prototype]]: Object[[FunctionLocation]]: spasm.js:8[[Prototype]]: ƒ ()[[Scopes]]: Scopes[3][[Prototype]]: Object[[FunctionLocation]]: spasm.js:8[[Prototype]]: ƒ ()[[Scopes]]: Scopes[3][[Prototype]]: Object[[FunctionLocation]]: spasm.js:8[[Prototype]]: ƒ ()[[Scopes]]: Scopes[3][[Prototype]]: Object[[FunctionLocation]]: spasm.js:8[[Prototype]]: ƒ ()[[Scopes]]: Scopes[3][[Prototype]]: Object[[FunctionLocation]]: spasm.js:8[[Prototype]]: ƒ ()[[Scopes]]: Scopes[3][[Prototype]]: Object[[FunctionLocation]]: spasm.js:8[[Prototype]]: ƒ ()[[Scopes]]: Scopes[3][[Prototype]]: Object[[FunctionLocation]]: spasm.js:8[[Prototype]]: ƒ ()[[Scopes]]: Scopes[3][[Prototype]]: Object[[FunctionLocation]]: spasm.js:8[[Prototype]]: ƒ ()[[Scopes]]: Scopes[3][[Prototype]]: Object[[FunctionLocation]]: spasm.js:8[[Prototype]]: ƒ ()[[Scopes]]: Scopes[3][[Prototype]]: Object[[FunctionLocation]]: spasm.js:8[[Prototype]]: ƒ ()[[Scopes]]: Scopes[3][[Prototype]]: Object[[FunctionLocation]]: spasm.js:8[[Prototype]]: ƒ ()[[Scopes]]: Scopes[3][[Prototype]]: Object[[FunctionLocation]]: spasm.js:8[[Prototype]]: ƒ ()[[Scopes]]: Scopes[3][[Prototype]]: Object[[FunctionLocation]]: spasm.js:8[[Prototype]]: ƒ ()[[Scopes]]: Scopes[3][[Prototype]]: Object[[FunctionLocation]]: spasm.js:8[[Prototype]]: ƒ ()[[Scopes]]: Scopes[3][[Prototype]]: Object[[FunctionLocation]]: spasm.js:8[[Prototype]]: ƒ ()[[Scopes]]: Scopes[3][[Prototype]]: Object[[FunctionLocation]]: spasm.js:8[[Prototype]]: ƒ ()[[Scopes]]: Scopes[3][[Prototype]]: Object[[FunctionLocation]]: spasm.js:8[[Prototype]]: ƒ ()[[Scopes]]: Scopes[3]stack: "<generic error, no stack>"[[Prototype]]: <generic error, no stack>constructor: ƒ ErrnoError(errno,node)arguments: nullcaller: nulllength: 2name: "ErrnoError"prototype: <generic error, no stack>[[FunctionLocation]]: spasm.js:8[[Prototype]]: ƒ ()apply: ƒ apply()arguments: (...)bind: ƒ bind()call: ƒ call()caller: (...)constructor: ƒ Function()length: 0name: ""toString: ƒ ()Symbol(Symbol.hasInstance): ƒ [Symbol.hasInstance]()get arguments: ƒ ()set arguments: ƒ ()get caller: ƒ ()set caller: ƒ ()[[FunctionLocation]]: [[Prototype]]: Object[[Scopes]]: Scopes[0][[Scopes]]: Scopes[3]0: BlockABORT: falseENVIRONMENT_IS_NODE: falseENVIRONMENT_IS_WEB: trueENVIRONMENT_IS_WORKER: falseEXITSTATUS: 3ExceptionInfo: ƒ ExceptionInfo(excPtr)arguments: nullcaller: nulllength: 1name: "ExceptionInfo"prototype: constructor: ƒ ExceptionInfo(excPtr)[[Prototype]]: Object[[FunctionLocation]]: spasm.js:8[[Prototype]]: ƒ ()apply: ƒ apply()length: 2name: "apply"arguments: (...)caller: (...)[[Prototype]]: ƒ ()[[Scopes]]: Scopes[0]arguments: (...)bind: ƒ bind()call: ƒ call()caller: (...)constructor: ƒ Function()length: 0name: ""toString: ƒ ()Symbol(Symbol.hasInstance): ƒ [Symbol.hasInstance]()get arguments: ƒ ()set arguments: ƒ ()get caller: ƒ ()set caller: ƒ ()[[FunctionLocation]]: [[Prototype]]: Object[[Scopes]]: Scopes[0][[Scopes]]: Scopes[3]ExitStatus: ƒ ExitStatus(status)FS: {root: FSNode, mounts: Array(0), devices: {…}, streams: Array(4), nextInode: 28, …}FS_getMode: (canRead,canWrite)=> {…}FS_handledByPreloadPlugin: (byteArray,fullname,finish,onerror)=> {…}FS_modeStringToFlags: str=> {…}FS_stdin_getChar: ()=> {…}FS_stdin_getChar_buffer: []HEAP8: Int8Array(16777216) [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …]HEAP16: Int16Array(8388608) [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …]HEAP32: Int32Array(4194304) [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …]HEAPF32: Float32Array(4194304) [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …]HEAPF64: Float64Array(2097152) [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …]HEAPU8: Uint8Array(16777216) [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …]HEAPU16: Uint16Array(8388608) [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …]HEAPU32: Uint32Array(4194304) [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …]MEMFS: {ops_table: {…}, mount: ƒ, createNode: ƒ, getFileDataAsTypedArray: ƒ, expandFileStorage: ƒ, …}Module: {ready: Promise, expectedDataFileDownloads: 1, print: ƒ, printErr: ƒ, locateFile: ƒ, …}PATH: {isAbs: ƒ, splitPath: ƒ, normalizeArray: ƒ, normalize: ƒ, dirname: ƒ, …}PATH_FS: {resolve: ƒ, relative: ƒ}SYSCALLS: {DEFAULT_POLLMASK: 5, varargs: 151764, calculateAt: ƒ, doStat: ƒ, doMsync: ƒ, …}TTY: {ttys: Array(1537), stream_ops: {…}, init: ƒ, shutdown: ƒ, register: ƒ, …}UTF8ArrayToString: (heapOrArray,idx,maxBytesToRead)=> {…}UTF8Decoder: TextDecoder {encoding: 'utf-8', fatal: false, ignoreBOM: false}UTF8ToString: (ptr,maxBytesToRead)=> {…}abort: ƒ abort(what)addOnInit: ƒ addOnInit(cb)addOnPostRun: ƒ addOnPostRun(cb)addOnPreRun: ƒ addOnPreRun(cb)addRunDependency: ƒ addRunDependency(id)arguments_: []assert: ƒ assert(condition,text)asyncLoad: (url,onload,onerror,noRunDep)=> {…}callMain: ƒ callMain(args=[])callRuntimeCallbacks: callbacks=> {…}calledRun: trueconvertI32PairToI53Checked: (lo,hi)=> {…}dataURIPrefix: "data:application/octet-stream;base64,"dependenciesFulfilled: nulldoReadv: (stream,iov,iovcnt,offset)=> {…}doWritev: (stream,iov,iovcnt,offset)=> {…}err: ƒ (c)exceptionLast: 0exitJS: (status,implicit)=>{EXITSTATUS=status;_proc_exit(status)}fs: undefinedgetBinaryPromise: ƒ getBinaryPromise(binaryFile)getBinarySync: ƒ getBinarySync(file)getHeapMax: ()=>2147483648getUniqueRunDependency: ƒ getUniqueRunDependency(id)growMemory: size=> {…}handleException: e=> {…}initRandomFill: ()=> {…}initRuntime: ƒ initRuntime()instantiateArrayBuffer: ƒ instantiateArrayBuffer(binaryFile,imports,receiver)instantiateAsync: ƒ instantiateAsync(binary,binaryFile,imports,callback)intArrayFromString: ƒ intArrayFromString(stringy,dontAddNull,length)isDataURI: ƒ isDataURI(filename)isFileURI: ƒ isFileURI(filename)keepRuntimeAlive: ƒ keepRuntimeAlive()lengthBytesUTF8: str=> {…}mmapAlloc: size=>{abort()}noExitRuntime: truenodePath: undefinednowIsMonotonic: trueout: ƒ (c)postRun: ƒ postRun()preMain: ƒ preMain()preRun: ƒ preRun()preloadPlugins: []quit_: (status,toThrow)=>{throw toThrow}randomFill: view=>(randomFill=initRandomFill())(view)readAsync: (url,onload,onerror)=> {…}readBinary: undefinedreadMode: 365read_: url=> {…}readyPromiseReject: ƒ ()readyPromiseResolve: ƒ ()removeRunDependency: ƒ removeRunDependency(id)run: ƒ run(args=arguments_)runDependencies: 0runDependencyWatcher: nullruntimeInitialized: trueruntimeKeepaliveCounter: 0scriptDirectory: "https://www.cemetech.net/sc/lib/spasm/"setErrNo: value=>{HEAP32[___errno_location()>>2]=value;return value}shouldRunNow: falsestackAlloc: ƒ $w()stringToUTF8: (str,outPtr,maxBytesToWrite)=> {…}stringToUTF8Array: (str,heap,outIdx,maxBytesToWrite)=> {…}stringToUTF8OnStack: str=> {…}tempDouble: 0tempI64: (2) [0, 0]thisProgram: "./this.program"uncaughtExceptionCount: 0updateMemoryViews: ƒ updateMemoryViews()wasmBinary: undefinedwasmBinaryFile: "lib/spasm/spasm.wasm"wasmExports: {r: Memory(256), u: Table, s: ƒ, t: ƒ, v: ƒ, …}wasmImports: {e: ƒ, l: ƒ, k: ƒ, b: ƒ, o: ƒ, …}wasmMemory: Memory(256)wasmTable: Table {length: 37}writeMode: 146__ATINIT__: []__ATMAIN__: []__ATPOSTRUN__: []__ATPRERUN__: []___cxa_increment_exception_refcount: a0=> {…}___cxa_is_pointer_type: a0=>(___cxa_is_pointer_type=wasmExports["x"])(a0)___errno_location: ()=>(___errno_location=wasmExports["v"])()___wasm_call_ctors: ()=>(___wasm_call_ctors=wasmExports["s"])()_free: a0=>(_free=wasmExports["free"])(a0)_main: ƒ $t()_malloc: a0=>(_malloc=wasmExports["malloc"])(a0)_proc_exit: code=> {…}[[Prototype]]: Object1: Closure {_scriptDir: 'https://www.cemetech.net/sc/lib/spasm/spasm.js'}2: Global {window: Window, self: Window, document: document, name: '', location: Location, …}stack: "<generic error, no stack>"[[Prototype]]: Objectconstructor: ƒ Error()message: ""name: "Error"toString: ƒ toString()[[Prototype]]: Object
open @ spasm.js:8
readFile @ spasm.js:8
Spasm.assemble @ sc3c.js?20180315a:351
tools_exportproject @ sc3c.js?20180315a:388
(anonymous) @ sc3c.js?20180315a:389
setTimeout (async)
(anonymous) @ sc3c.js?20180315a:350
Promise.then (async)
k.onload @ sc3c.js?20180315a:349
load (async)
Spasm.init @ sc3c.js?20180315a:349
tools_exportproject @ sc3c.js?20180315a:389
sc3js_putfile @ sc3c.js?20180315a:494
onclick @ sc/:304
Can you share the source code you're trying to build? I suspect you might be trying to include a file that doesn't exist, although if that's the case it shouldn't be failing so ungracefully.

Code:
.nolist
#include "ti83plus.inc"
.list

.org userMem-2
.db $BB, $6D

    ld a, 20
   ld ($d000), a ;Xpos
   ld ($d001), a ;Ypos
   ld ($d002), a ;RayXPos
   ld ($d003), a ;RayYPos
   ld a, 1
   ld ($d004), a ;Angle
   ld ($d005), a ;Ray Angle
   ld ($d006), a ;placeholder
rays:
   .db 1,28,1,1
   
raycast:
   ld e, ($d005)
   ld hl, rays
   ld a, e
   rlc a
   rlc a
   sub 1
   add a, hl
   ld d, a
   
   ld hl, rays
   ld a, e
   rlc a
   rlc a
   sub 3
   add a, hl
   
move_pixel_on_y_axis:
   ld e, a
   add a, d
   ld ($d003), a
   ld a, e
   ld b, ($d002)
   ld c, ($d003)
   bcall(_IPoint)
   dec a
   cp 0
   jp nz, move_pixel_on_y_axis
   ret
Your code is invalid, so you're probably bumping into some kind of bug in SPASM with regard to these:

Code:
   ld e, ($d005)

   ld b, ($d002)
   ld c, ($d003)
You can only move between literal memory addresses and A or a 16-bit register pair; not any of the other 8-bit registers.

(I determined where the problem was by taking your code and commenting out chunks of it until the problem went away, then narrowing down the problem region.)
To add to this, you also can't do "add a, hl" as that is not a valid instruction.
Thank You So Much! Everything is working perfectly now! Very Happy
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 1
» All times are UTC - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement