pskupinski / 65816.js Goto Github PK
View Code? Open in Web Editor NEWA JavaScript 65816 Microprocessor Emulator
A JavaScript 65816 Microprocessor Emulator
This project's goal is to fully emulate the 65816 microprocessor in JavaScript. After achieving that goal the next step will be to create a new branch that will focus on emulating the SNES. Any CPU related improvements that aren't specific to the SNES will be merged back. Here is a short example of how to use the emulator: var cpu = new CPU_65816(); cpu.load_binary("18fba9ff", 0x8000); // Load the program at 0x8000 in memory cpu.execute(0x8000); // Execute starting at 0x8000
STA(d,S),Y instead of storing data where expected, loads it from the correct location but then mistakenly uses it as an address and stores A at some random spot in memory.
Right now the emulator only takes strings. There should also be support for loading a binary from a given URL and interpreting that.
https://github.com/mozilla/pdf.js/blob/master/src/core.js#L28 - is a good example of this functionality.
Tests need to be added to allow for an individual to measure performance gains or regressions against a previous version.
SEP #$30
LDA #1
XBA
LDX #3
TXA
REP #$30
STA $700
Observed:
[$701]:[$700] contains $0003
Expected:
[$701]:[$700] should contain $0103. An 8-bit transfer should not touch the high bits of the register.
As of right now 189 tests fail on both IE6 and IE9 showing that some sort of investigation into why should be done.
A serious effort needs to be put into cutting down the number of lines of code in cpu.js.
A great deal of code follows a similar pattern and could be turned into generic, reusable functions and customized for the operation being performed. The focus should be on writing a library of functions for the different addressing modes and using those instead of using roughly the same code in plenty of places.
For many instructions there do not exist any unit tests at all and this needs to be resolved.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.