neo6502x

neo6502x

7 devlogs
8h 9m
Created by 3rr0rc0d3z3r0

An emulator for the MOS Technology 6502 processor.

Timeline

Added function to parse memory modes and set up the current instructions to use that for parsing memory modes. Also worked on basic boiler plates for various load instructions such as LDA(load accumulator).

Update attachment

I added two shift instructions which are ASL and ROL(bitshift left and right respectively).

Update attachment

I worked on adding the different boolean operators which is a lot harder than you might think. I need to check for the addressing mode on each operation and set the two operands for the operation before it even happens which is a huge pain. I made one bool_ops function which will do a different boolean operation depending on the params passed in and then added wrapper functions which will just call it with the correct params for that operation.

Update attachment

I did some more research into the addressing modes of the 6502 and built a simple type for it. Right now, progress is a bit slow since I am still getting used to the interesting quirks of this microprocessor.

Update attachment

Did a bit more research on the 6502 to learn about how it works and whatnot. It's actually a really fascinating processor with some very interesting tradeoffs that paid off well for the time period and made it as interesting as it is today. The stack is actually only 256 bytes which meant it can't be used as it is today. There is also a really cool indexing system which can allow for really easy array operations and is honestly genius for the time period.

Update attachment

Added a bit more of the basic boilerplate needed for the project such as the status flags and the basic structure for the vm.

Update attachment
3rr0rc0d3z3r0 3rr0rc0d3z3r0 about 2 months ago
yes i just saw the mistake of including cstdint and stdint.h(blame the lsp)

Initialized the project and set up the build system, README, as well as basic boilerplate with 6502's instructions.

Update attachment