User Tools

Site Tools


base:6502_6510_coding

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
base:6502_6510_coding [2015-10-18 17:28] – [Illegal opcodes] ftcbase: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:mc_al#bg_-_part_one|Beginners guide - Part 1]] - Beginners guide to machine-code and assembly-language for the 6510 by Rudi B. Stranden   * [[base:mc_al#bg_-_part_one|Beginners guide - Part 1]] - Beginners guide to machine-code and assembly-language for the 6510 by Rudi B. Stranden
   * [[base:machine_language_tutorial|Machine language tutorial]] - An incomplete series about 6510 machine language written by Karmic/HVSC.   * [[base:machine_language_tutorial|Machine language tutorial]] - An incomplete series about 6510 machine language written by Karmic/HVSC.
 +  * [[TurboAssembler 5.2 (Bacchus Version)]] — This may be useful if you plan to code on the C64 itself. Reference document by Bacchus/FLT.
 +  * [[http://forum.6502.org/viewtopic.php?f=2&t=6796|HeyMon]] - If all else fails, here's an 86-line BASIC monitor to type in, with assembler and disassembler, by White Flame.
 ====== 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
-  * {{:base:nomoresecrets-nmos6510unintendedopcodes-20142412.pdf|No More Secrets}} - Documentation of unintended opcodes by Groepaz (Version 2014-12-24).+  * {{:base:nomoresecrets-nmos6510unintendedopcodes-20212412.pdf|No More Secrets 0.96}} - Documentation of unintended opcodes by Groepaz (2021-24-12 version). ([[https://csdb.dk/release/?id=212346|No More Secrets 0.96 @CSDb]]) 
 ==== 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:memconfig|Memory Management]] - 00 and 01 can be used to switching on/off BASIC, KERNAL, and CHAR ROM.    * [[base:memconfig|Memory Management]] - 00 and 01 can be used to switching on/off BASIC, KERNAL, and CHAR ROM.
    * [[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/Performers^Nuance
   * [[Practical Memory Move Routines]] - by Bruce Clark  - taken from [[http://www.6502.org|www.6502.org]]   * [[Practical Memory Move Routines]] - by Bruce Clark  - taken from [[http://www.6502.org|www.6502.org]]
   * [[Clearing a Section of Memory]] - from 6502 Software Gourmet Guide & Cookbook - taken from [[http://www.6502.org|www.6502.org]]   * [[Clearing a Section of Memory]] - from 6502 Software Gourmet Guide & Cookbook - taken from [[http://www.6502.org|www.6502.org]]
Line 76: Line 81:
   * [[Swapping ZP data]] - small snippet to save/restore ZP data by enthusi   * [[Swapping ZP data]] - small snippet to save/restore ZP data by enthusi
   * [[Dispatch on a byte]] - Useful in interpreters and decompression, by White Flame   * [[Dispatch on a byte]] - Useful in interpreters and decompression, by White Flame
 +  * [[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
base/6502_6510_coding.1445182096.txt.gz · Last modified: 2015-10-18 17:28 by ftc