source
source - basic
source - basic - firmware
- Running BASIC programs from assembly - [highlighted] - [original]
source - cartridge
source - cartridge - amstrad_plus
- Saving the system cartridge of the Amstrad plus - [highlighted] - [original]
- How to setup an Amstrad Plus/GX4000 cartridge to be useable on the Amstrad CSD - [highlighted] - [original]
- An example setup for an Amstrad Plus/GX4000 cartridge - [highlighted] - [original]
source - colours
- Example shows more than 4 colours in mode 1 with a sprite that moves over the regions where the colour changes. 2 common colours between regions and 2 colours changed each region - [highlighted] - [original]
- Example shows more than 4 colours in mode 1 with a sprite that moves over the regions where the colour changes. 3 common colours between regions and 1 colour is changed (like Switchblade on CPC does) - [highlighted] - [original]
source - colours - amstrad_plus
source - colours - amstrad_plus - test
- Setting Colours using CPC method and testing correct result is seen in ASIC ram - [highlighted] - [original]
source - colours - firmware
- Using the firmware to display more than 16 colours on screen - [highlighted] - [original]
- Shows how to setup different palette in each interrupt region and shows how graphics spanning this region will change colour - [highlighted] - [original]
source - cpm
- A simple 'Hello World' program for CP/M using BDOS - [highlighted] - [original]
- A simple 'Hello World' program for CP/M using BIOS - [highlighted] - [original]
source - cpm - firmware
- Executing firmware functions from within CP/M 2.1 - [highlighted] - [original]
- Executing firmware functions from within CP/M+ - [highlighted] - [original]
- Executing firmware functions from within CP/M 2.1 or C/PM+ - [highlighted] - [original]
source - demo
- Distorting the screen using register 2 of the CRTC (Horizontal Sync Position) - [highlighted] - [original]
- Software scrolling a message - [highlighted] - [original]
- Scrolling message using hardware scroll - [highlighted] - [original]
- Scrolling message using software (LDI) - [highlighted] - [original]
source - disc
- Using the firmware to load one file at a time from a list of files and then repeat (disc) - [highlighted] - [original]
source - disc - firmware
- Catalog a disc and retrieve a directory listing - [highlighted] - [original]
- Reading a sector from a disc - [highlighted] - [original]
- Writing a sector to disc - [highlighted] - [original]
- Formatting a track on a disc - [highlighted] - [original]
- An example loader - [highlighted] - [original]
- A simple disc copier using BDOS functions - [highlighted] - [original]
- A simple disc formatter using BDOS functions - [highlighted] - [original]
- A simple file copier using firmware functions (copies byte-by-byte) - [highlighted] - [original]
- Reading and writing the boot sector of a SYSTEM/VENDOR disc - [highlighted] - [original]
- An example boot sector (executed with |CPM) - [highlighted] - [original]
source - disc - firmware - hack
- Loading a file - [highlighted] - [original]
- Saving a file - [highlighted] - [original]
source - disc - hardware
- Detecting a Amstrad or Vortex floppy disc controller - [highlighted] - [original]
- Shows how to load data from disc by talking to NEC765 disc controller directly - [highlighted] - [original]
source - double_buffer
source - double_buffer - firmware
- Hardware double buffering using the firmware (demonstrates MC SCREEN OFFSET and SCR SET POSITION) - [highlighted] - [original]
source - double_buffer - hardware
- Double buffered overscan screen example - [highlighted] - [original]
- Double buffered screen example (no drawing code) - [highlighted] - [original]
- Double buffered screen (fixed frame rate and no drawing code) - [highlighted] - [original]
- Double buffered screen (variable frame rate and no drawing code) - [highlighted] - [original]
source - file
source - file - firmware
- Loading a file - [highlighted] - [original]
- Saving a file - [highlighted] - [original]
- An example to write a file byte-by-byte - [highlighted] - [original]
- An example to read a file byte-by-byte - [highlighted] - [original]
source - firmware
- Autotyping any string in BASIC - [highlighted] - [original]
source - fps
- Fixed frame rate (25Hz) - [highlighted] - [original]
- Variable frame rate (50hz max) - [highlighted] - [original]
source - generated
source - interlace
- Fake interlace producing a fake 640x400 display - [highlighted] - [original]
source - interrupt
- Source code to show how to use Z80 Interrupt mode 2 (IM 2) on the CPC and KC Compact - [highlighted] - [original]
- CPC Raster interrupts (example 1) - [highlighted] - [original]
- CPC Raster interrupts (example 2) - [highlighted] - [original]
- CPC Raster interrupts (example 3) - [highlighted] - [original]
- CPC Raster interrupts (example 4) - [highlighted] - [original]
- CPC Raster interrupts (example 5) - [highlighted] - [original]
- CPC Raster Interrupts (with a delay to fine tune mode/colour changes) - [highlighted] - [original]
- Example shows how to sync with the screen to make a stable raster - [highlighted] - [original]
source - interrupt - amstrad_plus
- Source code to show how to use Z80 Interrupt mode 2 (IM 2) on the Amstrad Plus - [highlighted] - [original]
- Using Interrupt mode 0 (IM0) on Plus - [highlighted] - [original]
- Using Interrupt mode 0 (IM0) on Plus (2) - [highlighted] - [original]
- Confirming the undocumented IM0 instructions using Amstrad Plus - [highlighted] - [original]
source - interrupt - firmware
- Example of a 50Hz (Vsync) interrupt using firmware - [highlighted] - [original]
source - interrupt - hardware
- Border colours indicating the interrupt position and how the vsync relates to the position - [highlighted] - [original]
- A test program you can use to resize and position the CPCs screen in addition the interrupt positions are shown - [highlighted] - [original]
source - keyboard
- Example of a BAD keyboard scanning routine which doesn't work on Amstrad plus - [highlighted] - [original]
- Associating a string with a key using KM SET EXPAND and KM SET SET TRANSLATE - [highlighted] - [original]
source - keyboard - hardware
- Scanning the keyboard and joysticks - [highlighted] - [original]
source - lines
source - lines - firmware
source - menu
- Cliff Lawsons menu code found on Amstrad PP8 discs - [highlighted] - [original]
source - multiface2
- Dumping the Multiface 2 ROM data - [highlighted] - [original]
- Example of how to install your own code into the Multiface 2 RAM - [highlighted] - [original]
source - overscan
source - pixel_plot
source - pixel_plot - firmware
- (Plot 1) Plotting a single pixel using firmware graphics functions - [highlighted] - [original]
- (Plot 2) Plotting a single pixel using firmware screen functions and SCR PIXELS - [highlighted] - [original]
- (Plot 3) Plotting a single pixel using firmware screen functions without SCR PIXELS - [highlighted] - [original]
- (Plot 4) Plotting a single pixel using firmware screen functions without SCR INK ENCODE and SCR PIXELS - [highlighted] - [original]
- Plot4 but for mode 1 - [highlighted] - [original]
- Plot4 but for mode 2 - [highlighted] - [original]
- Plot5 example - [highlighted] - [original]
source - plot
source - plot - cpm
source - ram
- Memory check code used in 'Batman Forever' demo - [highlighted] - [original]
- DkTronics compatible RAM discovery - [highlighted] - [original]
source - raster
- Simple Raster Example 1 - [highlighted] - [original]
- Simple Split Raster Example 1 - [highlighted] - [original]
- A horizontal scrolling split raster - [highlighted] - [original]
source - raster - amstrad_plus
- Simple Raster Example 2 (uses Amstrad Plus features) - [highlighted] - [original]
- Simple Raster Example 3 (uses Amstrad Plus features) - [highlighted] - [original]
source - rom
- Dumping the data of the lower rom (operating system) - [highlighted] - [original]
- Dumping the data of BASIC or AMSDOS or an expansion rom - [highlighted] - [original]
- Example ROM showing how you can patch firmware functions to make a filesystem that works with BASIC - [highlighted] - [original]
source - rsx
source - rsx - firmware
- Calling a RSX from outside of BASIC - [highlighted] - [original]
- Calling KL LOG EXT twice to register more than one RSX - [highlighted] - [original]
- An example to define a RSX - [highlighted] - [original]
source - screen_split
- Example vertical-split/rupture - [highlighted] - [original]
source - screen_split - amstrad_plus
- Splitting the screen using the Amstrad plus hardware - [highlighted] - [original]
source - scroll
- Hardware scrolling the screen using the CRTC - [highlighted] - [original]
- Hardware scrolling the screen horizontally byte-by-byte using the CRTC - [highlighted] - [original]
- Scrolling overscan screen - [highlighted] - [original]
- Scrolling example - [highlighted] - [original]
- Scrolling example - [highlighted] - [original]
- Scrolling example - [highlighted] - [original]
- Scrolling example - [highlighted] - [original]
source - scroll - amstrad_plus
- Hardware scrolling the screen vertically using the CRTC and Amstrad plus pixel hardware scroll - [highlighted] - [original]
- Hardware scrolling the screen horizontally using the CRTC and Amstrad plus pixel hardware scroll - [highlighted] - [original]
- Scrolling a mode 0 screen with mode 2 pixel sized movement - [highlighted] - [original]
- Scroll screen vertically - [highlighted] - [original]
- Scrolling pixel by pixel - [highlighted] - [original]
source - scroll - amstrad_plus - test
- Scrolling mid-line (mode 2) - [highlighted] - [original]
- Scrolling mid-line 32K overscan screen - [highlighted] - [original]
source - scroll - firmware
- Software scrolling a rectangular area up/down 8 pixels at a time using SCR SW ROLL - [highlighted] - [original]
- Hardware scrolling screen up/down 8 pixels at a time using SCR HW ROLL - [highlighted] - [original]
source - sound
- Play sampled sound using Digiblaster Amdrum or AY-3-8912 sound chip - [highlighted] - [original]
- Amstrad CPC player to be used with midi2ay tool - [highlighted] - [original]
source - sprite
- A procedure to generate a pixel mask used for drawing masked sprites - [highlighted] - [original]
- Rotovision/Bitplane sprites example as used in Ghosts and Goblins - [highlighted] - [original]
- Masked sprites in mode 0 (drawing left to right and top to bottom) - [highlighted] - [original]
- Preshifted sprites in mode 1 - [highlighted] - [original]
- Drawing a sprite on an overscan screen (32K overscan) - [highlighted] - [original]
- Masked sprites in mode 0 (drawing bottom to top and left to right) - [highlighted] - [original]
- Masked sprites in mode 0 (drawing bottom to top and right to left) - [highlighted] - [original]
- Drawing a sprite on a Sinclair Spectrum sized screen - [highlighted] - [original]
- Shows how to draw a compressed sprite on the screen - [highlighted] - [original]
- Shows how to draw a compiled sprite on the screen - [highlighted] - [original]
source - sprite - amstrad_plus
- Setup Amstrad Plus sprites - [highlighted] - [original]
- RLE hardware sprites (a method for fast update of animating hardware sprites) - [highlighted] - [original]
- Cutting Plus sprites where a split screen occurs (using sprite magnification) - [highlighted] - [original]
- Cutting Plus sprites where a split screen occurs (using border) - [highlighted] - [original]
source - sprite - firmware
- Plotting a sprite using character matrices - [highlighted] - [original]
- Plotting a sprite using the firmware screen functions (demonstrates many firmware SCR functions) - [highlighted] - [original]
- Draw a sprite using firmware GRA functions (by CPM User) - [highlighted] - [original]
- Example of SCR FILL BOX firmware function used to draw a sprite supplied by cpm_user) - [highlighted] - [original]
source - tape
source - tape - hardware
- Modified tape loader originally from Topo Software - [highlighted] - [original]
source - test
source - test - amstrad_plus
- Source to show the interrupt clear bug of the -amstrad_plus ASIC - [highlighted] - [original]
source - test - kccompact
- Reprogramming the Z8536 CIO of the KC Compact to interrupt every scan-line - [highlighted] - [original]
source - test - psg
- Source code to show that some registers always return 0 in some bits - [highlighted] - [original]
- Source code to show it is possible to store data in PSG register 14 and 15 (port A and port B) - [highlighted] - [original]
- Source code to show it is possible to store data in PSG register 14 and 15 even if the port has been set to input - [highlighted] - [original]
- Source code to show that when a port is read in output mode; the data read will be ANDed with the inputs to that port - [highlighted] - [original]
- Source code to show 0x0ff is always returned when reading PSG port B - [highlighted] - [original]
source - text
- Drawing a 6x8 font - [highlighted] - [original]
- Draw text message to a mode 2 screen direct without using firmware but reading char pixel data from OS rom - [highlighted] - [original]
source - text - firmware
- Drawing a 6x8 font using firmware in mode 1 - [highlighted] - [original]
- How to patch the firmware to draw using your own font (example 6x8) - [highlighted] - [original]
source - tilemap
- Drawing a tilemap in mode 0 - [highlighted] - [original]
source - video_mode
source - video_mode - firmware
- Using the firmware to display more than one mode on screen - [highlighted] - [original]
- Using the firmware to toggle between two screens two palettes and two modes. Perfect for simulating video modes with more colours or resolution. - [highlighted] - [original]
- More accurate multi-modes (664/6128 only) - [highlighted] - [original]
- Most accurate multi-modes - [highlighted] - [original]
source - video_mode - hardware
- Multiple video modes at the same time using the hardware - [highlighted] - [original]
source - z80
- A procedure to display a 8-bit number as binary - [highlighted] - [original]
- A procedure to display a 8-bit number as hex - [highlighted] - [original]
- A procedure to display a 8-bit number as decimal - [highlighted] - [original]
- Filling memory with a byte - [highlighted] - [original]