base:6502_6510_coding
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
base:6502_6510_coding [2016-04-16 11:23] – [General stuff] bitbreaker | base:6502_6510_coding [2023-10-20 08:14] (current) – huh, it's not actually that slow compared to others' attempt white_flame | ||
---|---|---|---|
Line 7: | Line 7: | ||
* [[base: | * [[base: | ||
* [[base: | * [[base: | ||
+ | * [[TurboAssembler 5.2 (Bacchus Version)]] — This may be useful if you plan to code on the C64 itself. Reference document by Bacchus/ | ||
+ | * [[http:// | ||
====== Instruction set and Addressing modes ====== | ====== Instruction set and Addressing modes ====== | ||
Line 41: | Line 43: | ||
* [[Extra Instructions Of The 65XX Series CPU]] - Overview article by Adam Vardy from 1995 - quite old by now | * [[Extra Instructions Of The 65XX Series CPU]] - Overview article by Adam Vardy from 1995 - quite old by now | ||
- | * {{: | + | * {{: |
==== Illegal opcode tricks ==== | ==== Illegal opcode tricks ==== | ||
A collection articles and routines that exemplify particular aspects of some illegal opcode. | A collection articles and routines that exemplify particular aspects of some illegal opcode. | ||
Line 47: | Line 50: | ||
* [[Decrease X register by more than 1]] - by FTC/HT | * [[Decrease X register by more than 1]] - by FTC/HT | ||
* [[Some words about the ANC opcode]] - by FTC/HT | * [[Some words about the ANC opcode]] - by FTC/HT | ||
+ | * [[Use SHY as sty,x or SHX as stx,y|Store X Indexed by Y and Vice-Versa With SHX/SHY]] - by Cruzer/CML | ||
+ | * [[Shift bits and throw carry away with ALR]] - by Cruzer/CML | ||
Line 55: | Line 60: | ||
* [[base: | * [[base: | ||
* [[Datasette]] | * [[Datasette]] | ||
- | * [[Unused Bits]] - The upper, unused bits show some unexpected behavior. FIXME | ||
* [[RAM beneath $00 and $01]] | * [[RAM beneath $00 and $01]] | ||
Line 66: | Line 70: | ||
* [[Speeding up and optimising demo routines]] - by conrad | * [[Speeding up and optimising demo routines]] - by conrad | ||
* [[Speedcode]] by Cruzer/CML | * [[Speedcode]] by Cruzer/CML | ||
- | * [[Loops vs unrolled]] by Bitbreaker/Oxyron^Nuance | + | * [[Loops vs unrolled]] by Bitbreaker/Performers^Nuance |
- | * [[Advanced optimizing]] - Tricks to save cycles, including use of illegal opcodes - by Bitbreaker/Oxyron^Nuance | + | * [[Advanced optimizing]] - Tricks to save cycles, including use of illegal opcodes - by Bitbreaker/Performers^Nuance |
- | * [[Launching long tasks from IRQ handler]] - by Bitbreaker/Oxyron^Nuance | + | * [[Launching long tasks from IRQ handler]] - by Bitbreaker/Performers^Nuance |
- | * [[Variable speedcode runlength]] - by Bitbreaker/Oxyron* | + | * [[Variable speedcode runlength]] - by Bitbreaker/Performers^Nuance |
* [[Practical Memory Move Routines]] - by Bruce Clark - taken from [[http:// | * [[Practical Memory Move Routines]] - by Bruce Clark - taken from [[http:// | ||
* [[Clearing a Section of Memory]] - from 6502 Software Gourmet Guide & Cookbook - taken from [[http:// | * [[Clearing a Section of Memory]] - from 6502 Software Gourmet Guide & Cookbook - taken from [[http:// |
base/6502_6510_coding.1460798596.txt.gz · Last modified: 2016-04-16 11:23 by bitbreaker