Lasse Öörni's Integrated File Flexible Loader for Commodore 1541/1541-II/157x/1581 and CMD FD2000 drives.
Originally published on Covert Bitops' C64 page.
- Assemble source files with
dasm. Version 2.12.04 from Covert Bitops' Tools page has been successfully tested.
makedisktool is available from Covert Bitops' Tools page.
c1541tool is available from VICE's Web page.
- If you plan to use ByteBoozer2 crunching, get the extended version of the cruncher from here.
- To use the provided
Makefileyou need GNU
make. If you don't know where to get it you're probably using Windows, so you might want to try this one.
- Under Windows you might want to run
win32/ifflvar.batto setup your build environment, then either run
makeor any of the provided batch files.
addiffltool does not overwrite existing records whose length's LSB happens to be 0.
- Integrated Lasse's 1-bit transfer protocol from his diskdrive loader rant, for using sprites while loading (
TWOBIT_PROTOCOL = 0as per Covert Bitops' Loadersystem).
- Integrated support for loading under the I/O area and Kernal ROM (
LOAD_UNDER_IO = 1as per Covert Bitops' Loadersystem).
- Added optional buffer-less block receive support (
RECEIVE_BUFFER = 0saves 254 bytes on the C=64, with some speed trade-off).
- Added support for ByteBoozer 2.0 (which does not require a depack buffer on the C=64), Pucrunch and Exomizer files. Furthermore, linked packed files are all loaded with a single loader call.
- Integrated Lasse's drive detection (Dreamload) and added support for Commodore 1581 and CMD FD2000 drives with Lasse's help and advice.
If you need to change the VIC bank in between load requests, you might want to avoid setting $dd00 and set $dd02 instead. Example for setting $dd02, from the documentation of DreamLoad:
lda #%......xy sta $dd00
lda #0 ;only once in your init routine sta $dd00 ;don't do this while loading lda #($3f EOR %xy) ;substitute for setting the VIC sta $dd02 ;bank to %xy
- Mark sections of the code that are critical to keep in the same page in RAM.
- Add support for CMD FD4000, and SD2IEC.
It wouldn't be possible for me to contribute this project without Lasse's initial publication of his IFFL System and Loadersystem, and without a number of email exchanges I had with him and Flavio.