Difference between revisions of "Source Codes"
From CPCWiki - THE Amstrad CPC encyclopedia!
(→Devices) |
(added programming articles) |
||
Line 22: | Line 22: | ||
*[[Programming:Random Number Generator|Random Number Generator]] | *[[Programming:Random Number Generator|Random Number Generator]] | ||
*[[Programming:Sin/Cos calculation|Sin/Cos calculation]] | *[[Programming:Sin/Cos calculation|Sin/Cos calculation]] | ||
+ | |||
+ | == CP/M == | ||
+ | *[[Programming:A simple 'Hello World' program for CP/M using BDOS|A simple 'Hello World' program for CP/M using BDOS]] | ||
+ | *[[Programming:Executing firmware functions from within CP/M 2.1|Executing firmware functions from within CP/M 2.1]] | ||
+ | *[[Programming:Executing firmware functions from within CP/M 2.1 or CP/M plus|Executing firmware functions from within CP/M 2.1 or CP/M plus]] | ||
+ | *[[Programming:Executing firmware functions from within CP/M 2.1|Executing firmware functions from within CP/M 2.1]] | ||
+ | *[[Programming:Executing firmware functions from within CP/M plus|Executing firmware functions from within CP/M plus]] | ||
== CPC Plus == | == CPC Plus == | ||
Line 36: | Line 43: | ||
*[[Programming:Program to save the ROM of the Multiface 2|Program to save the ROM of the Multiface 2]] | *[[Programming:Program to save the ROM of the Multiface 2|Program to save the ROM of the Multiface 2]] | ||
*[[Programming:SYMBiFACE II|SYMBiFACE II]] | *[[Programming:SYMBiFACE II|SYMBiFACE II]] | ||
+ | |||
+ | == File access == | ||
+ | *[[Programming:An example to read a file byte-by-byte|An example to read a file byte-by-byte]] | ||
+ | *[[Programming:An example to write a file byte-by-byte|An example to write a file byte-by-byte]] | ||
+ | *[[Programming:A simple file copier using firmware functions (copies byte-by-byte)|A simple file copier using firmware functions (copies byte-by-byte)]] | ||
+ | *[[Programming:Loading a file|Loading a file]] | ||
+ | *[[Programming:Saving a file|Saving a file]] | ||
== Floppy disk == | == Floppy disk == | ||
+ | *[[Programming:A simple disc copier using BDOS functions|A simple disc copier using BDOS functions]] | ||
+ | *[[Programming:A simple disc formatter using BDOS functions|A simple disc formatter using BDOS functions]] | ||
+ | *[[Programming:An example loader|An example loader]] | ||
*[[Programming:Detecting an Amstrad or Vortex disc controler|Detecting an Amstrad or Vortex disc controler]] | *[[Programming:Detecting an Amstrad or Vortex disc controler|Detecting an Amstrad or Vortex disc controler]] | ||
+ | *[[Programming:Formatting a track on a disc|Formatting a track on a disc]] | ||
+ | *[[Programming:Reading a sector from a disc|Reading a sector from a disc]] | ||
+ | *[[Programming:Writing a sector to disc|Writing a sector to disc]] | ||
== Graphics == | == Graphics == | ||
Line 44: | Line 64: | ||
*[[Programming:Display a 8-bit number in hex|Display a 8-bit number in hex]] | *[[Programming:Display a 8-bit number in hex|Display a 8-bit number in hex]] | ||
*[[Programming:Display a byte as a 3-digit decimal number|Display a byte as a 3-digit decimal number]] | *[[Programming:Display a byte as a 3-digit decimal number|Display a byte as a 3-digit decimal number]] | ||
+ | *[[Programming:Distorting the screen using register 2 of the CRTC (Horizontal Sync Position)|Distorting the screen using register 2 of the CRTC (Horizontal Sync Position)]] | ||
*[[Programming:Fast plot|Fast plot]] | *[[Programming:Fast plot|Fast plot]] | ||
*[[Programming:Fast Sprites|Fast Sprites]] by [[User:Executioner|Executioner]] | *[[Programming:Fast Sprites|Fast Sprites]] by [[User:Executioner|Executioner]] | ||
*[[Programming:Hardware scrolling|Hardware Scrolling]] by [[User:Executioner|Executioner]] | *[[Programming:Hardware scrolling|Hardware Scrolling]] by [[User:Executioner|Executioner]] | ||
*[[Programming:Hardware scrolling 2|Hardware Scrolling 2]] | *[[Programming:Hardware scrolling 2|Hardware Scrolling 2]] | ||
+ | *[[Programming:Hardware scrolling the screen horizontally byte-by-byte using the CRTC|Hardware scrolling the screen horizontally byte-by-byte using the CRTC]] | ||
+ | *[[Programming:Hardware scrolling the screen using the CRTC|Hardware scrolling the screen using the CRTC]] | ||
*[[Programming:Overscan|Overscan]] | *[[Programming:Overscan|Overscan]] | ||
+ | *[[Programming:Plotting a sprite using character matrices|Plotting a sprite using character matrices]] | ||
== Keyboard == | == Keyboard == | ||
*[[Programming:Keyboard scanning|Keyboard scanning]] | *[[Programming:Keyboard scanning|Keyboard scanning]] | ||
+ | |||
+ | == Other routines == | ||
+ | *[[Programming:An example boot sector (executed with rsx command CPM)|An example boot sector (executed with rsx command CPM)]] | ||
+ | *[[Programming:An example to define a RSX|An example to define a RSX]] | ||
+ | *[[Programming:Calling a RSX from outside of BASIC|Calling a RSX from outside of BASIC]] | ||
+ | *[[Programming:Dumping the data of BASIC or AMSDOS or an expansion rom|Dumping the data of BASIC or AMSDOS or an expansion rom]] | ||
+ | *[[Programming:Dumping the data of the lower rom|Dumping the data of the lower rom]] |
Revision as of 18:05, 13 March 2007
This article contains source codes and programming examples. You may also have a look at
Contents
Assembler
Algorithms
- CPC OS floating point routines
- CRC16
- CRC32
- Integer Division
- Integer Multiplication
- Fast Square Root
- Filling memory with a byte
- Square Root
- Precalculated square
- Random Number Generator
- Sin/Cos calculation
CP/M
- A simple 'Hello World' program for CP/M using BDOS
- Executing firmware functions from within CP/M 2.1
- Executing firmware functions from within CP/M 2.1 or CP/M plus
- Executing firmware functions from within CP/M 2.1
- Executing firmware functions from within CP/M plus
CPC Plus
- Hardware sprites
- Horizontal scroll
- RLE hardware sprites
- Screen splitting
- Unlocking ASIC
- Vertical scroll
Devices
File access
- An example to read a file byte-by-byte
- An example to write a file byte-by-byte
- A simple file copier using firmware functions (copies byte-by-byte)
- Loading a file
- Saving a file
Floppy disk
- A simple disc copier using BDOS functions
- A simple disc formatter using BDOS functions
- An example loader
- Detecting an Amstrad or Vortex disc controler
- Formatting a track on a disc
- Reading a sector from a disc
- Writing a sector to disc
Graphics
- Display a 8-bit number in binary
- Display a 8-bit number in hex
- Display a byte as a 3-digit decimal number
- Distorting the screen using register 2 of the CRTC (Horizontal Sync Position)
- Fast plot
- Fast Sprites by Executioner
- Hardware Scrolling by Executioner
- Hardware Scrolling 2
- Hardware scrolling the screen horizontally byte-by-byte using the CRTC
- Hardware scrolling the screen using the CRTC
- Overscan
- Plotting a sprite using character matrices