base:io_programming
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
base:io_programming [2015-07-09 14:30] – [Disk IO] bitbreaker | base:io_programming [2024-02-20 09:21] (current) – [Joystick, mouse, paddles, koalapad, lightgun…] erhan | ||
---|---|---|---|
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, | ||
+ | |||
+ | ===== 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 | ||
+ | * [[base: | ||
+ | * [[Making use of the fastload/ | ||
+ | |||
+ | ==== 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: | ||
+ | * [[Drivecode]] - by Bitbreaker/ | ||
+ | * [[Fastloaders]] - by Bitbreaker/ | ||
+ | |||
+ | ==== Tape IO ==== | ||
+ | |||
+ | * [[IRQ-Tape Loader]] - aka [[http:// | ||
+ | * [[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/ | ||
+ | * [[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/ | ||
+ | * [[Ocean/ | ||
+ | * [[Ocean/ | ||
+ | * [[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: | ||
+ | * [[Scanning the keyboard the correct and non KERNAL way]] - by TWW/CTR | ||
+ | * [[Print Stringchain]] - Tiny solution for printing given stringchains - by ABujok | ||
+ | * [[Scanning the keyboard without joysticks interfere]] - by Erhan | ||
+ | ==== Text manipulation and formatting ==== | ||
+ | |||
+ | * [[Tiny .A to ASCII routine|Tiny .A to Decimal 3-Digit String Conversion]] | ||
+ | * [[base: | ||
+ | * [[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/ | ||
+ | |||
+ | |||
+ | ===== Joystick, mouse, paddles, koalapad, lightgun… ===== | ||
+ | |||
+ | * [[Joystick Input Handling]] - general info and examples by tfg | ||
+ | * [[Fast Joystick Handling]] - By JAS | ||
+ | * [[Both Joysticks Handling plus proper keyboard scan]] - by Erhan | ||
+ | * [[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:// | ||
+ | * [[Simple BASIC X-Modem Receive]] - A short type-in program to bootstrap transfer programs, using KERNAL RS232 routines. | ||
+ | |||
+ | 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:// | ||
+ | |||