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-01-31 20:44] – [General stuff] karmic | 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/ | ||
* [[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:// | ||
Line 76: | Line 81: | ||
* [[Swapping ZP data]] - small snippet to save/ | * [[Swapping ZP data]] - small snippet to save/ | ||
* [[Dispatch on a byte]] - Useful in interpreters and decompression, | * [[Dispatch on a byte]] - Useful in interpreters and decompression, | ||
+ | * [[Rotate byte and act on 1-bits]] - Invented by Hoogo, written by FTC | ||
* [[Decoding bitstreams]] for fun and profit, by lft. | * [[Decoding bitstreams]] for fun and profit, by lft. | ||
* [[Protecting against soft-resets]] - by Karmic/HF | * [[Protecting against soft-resets]] - by Karmic/HF |
base/6502_6510_coding.1454269449.txt.gz · Last modified: 2016-01-31 20:44 by karmic