base:io_programming
Table of Contents
I/O Programming
This section contains info on how to access various kinds of peripheral I/O hardware such as the keyboard, joysticks, serial devices and so on. It also contains info on communications programming, such as modem protocols.
Disk/Tape IO
- Detect Drives on IEC Bus - by Todd S. Elliott
General DOS/Kernal stuff
These are general file IO functions, not restricted to a certain type of hardware.
- DOS examples - a few sourcecodes on how to use DOS/KERNAL calls, by Graham
- How The VIC/64 Serial Bus Works - by Jim Butterfield
- Making use of the fastload/save in the cartridge - Various people
Disk IO
- Flexloader 3.0 - IRQ/Fast loader (1541 only!) by Jayce / Focus
- Disk loader with flashing border (For non-fastload) - by Richard Bayliss
- Autostarting Disk Files by TFG/MMD
- Formatting disks - Various people
- Electronic Arts Fat Tracks File Buster - by Fungus
- Hardware diagnostics - In case your 1541 drive is broken, check this.
- Drivecode - by Bitbreaker/Oxyron^Arsenic^Nuance
- Fastloaders - by Bitbreaker/Oxyron^Arsenic^Nuance
Tape IO
- IRQ-Tape Loader - aka "rant 8" - Tutorial by Laze Ristoski (Cybertronic Studios)
- Autoboot tape turbo loader - How to create an auto-booting tape turbo loader by Martin Piper
- Cult Loader - Disassembled by Fungus
- Turbo250 disassembled - The classic Turbo250 by Mr.Z/Triad disassembled by FTC/HT.
- TurboTape loader source - minimal setup to load Turbo Tape data by enthusi/Onslaught
- FreeLoad V5.0 Saver - by Paul Hughes. Used by Ocean.
Tape xfer routines
By Fungus. Either of these two shell routines is to be used with each of the transfer routines below:
- Tape transfer shell - by Fungus
- Newshell - by Fungus
The xfer routines below are to be used for reading originals using various loaders and storing them onto disk:
- Burner tape transfer 1.0 - by Fungus
- CHR Tape to Disk Transfer 1.0 - by Fungus
- CHR Load Tape Transfer 2.0 - by Fungus
- Ocean/Imagine Transfer - v1 - by Fungus
- Ocean/Imagine Transfer - v2 - by Fungus
- Ocean/Imagine Transfer - v3 - by Fungus
- Novaload Tape Transfer 1.0 - by Fungus
- Novaload Special Tape Transfer 1.0 - by Fungus
- C= Pavloda Transfer 1.0a - by Fungus
- ROM-load - by Fungus
- U.S.Gold Tape Transfer 1.0 - by Fungus
- Virgin Tape Transfer 1.0 - by Fungus
- Wildload Tape Transfer 1.0 - by Fungus
Harddrive stuff
- HD-Park-Switch - How to Patch a CMD-HD to your own needs - in Domination #17 by Ninja/The Dreams.
Keyboard and text IO
- Reading the Keyboard - by Various
- Robust String Input - by Schema
- IP Address Input - by Schema
- THREE-KEY ROLLOVER for the C=128 and C=64 - by Craig Bruce (from C=Hacking #6)
- Scanning the keyboard the correct and non KERNAL way - by TWW/CTR
- Print Stringchain - Tiny solution for printing given stringchains - by ABujok
Text manipulation and formatting
- 32 bit hexadecimal to decimal conversion - by Graham
- Hex String to Integer - hexadecimal string to integer converter by FMan
- ASCII Char to 4 bit Integer - Converts a alnum character to a value between 0 and 15 by Monte Carlos
- Integer to Hex String - integer to hexadecimal string converter by FMan
- String manipulation routines - string copying and printing routines by FMan
- Convert PETSCII/ASCII to screencodes by Mace/Secure
Joystick, mouse, paddles, koalapad, lightgun…
- Joystick Input Handling - general info and examples by tfg
- Fast Joystick Handling - By JAS
- C= 1351 Standard Mouse Routine - Converted to KickAssembler by TWW
- Multi-Adapter Support by Sokrates
MIDI IO
- Midi on the C64 - Collection of C64 related MIDI info.
Data transfer protocols
- X-Modem File Transfer Protocol - for 6551 serial port (NOT in a native C64), by Daryl Rictor - taken from www.6502.org
- Simple BASIC X-Modem Receive - A short type-in program to bootstrap transfer programs, using KERNAL RS232 routines. By White Flame.
The sourcecode for C*Base (BBS software) also contains a number of sources of transfer protocols, such as Punter and others. It is maintained by Tao/Triad and you can find it here.
base/io_programming.txt · Last modified: 2024-02-20 09:21 by erhan