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
Last revisionBoth sides next revision
base:6502_6510_coding [2017-11-16 01:59] – [Illegal opcode tricks] cruzerbase:6502_6510_coding [2023-10-20 07:47] – [Machine-code and Assembly-language] 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 a slow 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]] - by Cruzer/CML+  * [[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   * [[Shift bits and throw carry away with ALR]] - by Cruzer/CML
 +
  
 ====== The Addresses 00 and 01 ====== ====== The Addresses 00 and 01 ======
Line 56: 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 67: 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://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]]
base/6502_6510_coding.txt · Last modified: 2023-10-20 08:14 by white_flame