User Tools

Site Tools


base:io_programming

Differences

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

Link to this comparison view

Next revision
Previous revision
Next revisionBoth sides next revision
base:io_programming [2015-04-17 04:32] – external edit 127.0.0.1base:io_programming [2017-08-10 17:21] – [Keyboard and text IO] abujok
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: 2024-02-20 09:21 by erhan