User Tools

Site Tools


base:io_programming

Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
base:io_programming [2015-07-09 14:30]
bitbreaker [Disk IO]
base:io_programming [2017-08-10 17:21]
abujok [Keyboard and text IO]
Line 1: Line 1:
 +====== 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
 +  * [[books:​hardware_diagnostics|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 [[http://​cadaver.homeftp.net/​rants/​irq-tape.htm|"​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
 +  * [[magazines:​chacking6#​three-key_rollover_for_the_c-128_and_c-64|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 ====
 +
 +  * [[Tiny .A to ASCII routine|Tiny .A to Decimal 3-Digit String Conversion]]
 +  * [[base:​32_bit_hexadecimal_to_decimal_conversion|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
 +  * [[petscii to screencode|Convert PETSCII/​ASCII to screencodes]] by Mace/Secure
 +
 +
 +===== Joystick, mouse, paddles, koalapad, lightgun… =====
 +
 +  * [[Joystick Input Handling]] - general info and examples by tfg
 +  * [[C= 1351 Standard Mouse Routine]] - Converted to KickAssembler by TWW
 +  * [[Multi-Adapter Support]] by Sokrates
 +===== MIDI IO =====
 +  * [[ midi_on_the_c64 | 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 [[http://​www.6502.org|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 [[http://​www.acc.umu.se/​~tao/​cbase|here]].
 +
  
base/io_programming.txt · Last modified: 2019-07-06 02:28 by ftc