--------
sd2brwse
--------
2008 Hannu Nuotio

SD/MMC card browser for MMC2IEC with sd2iec.


Changelog
---------
v.0.5 - 8.11.2008
 - bugfix: load end address was ignored
 - using kernal screen clear to save some bytes

v.0.4 - 7.11.2008
 - added d71/d81 support

v.0.3 - 20.4.2008
 - bugfix: "cd to root" didn't work
 - bugfix: previous position is reset at start

v.0.2 - 15.3.2008
 - added "quit to basic"
 - smaller size
 - added "minimal" configure option

v.0.1 - 14.3.2008
 - first version with readme.txt :)


Files
-----
sd2brwse*.prg     - precompiled versions (see "Versions")
sd2brwse.a        - the main source file
config.def        - configuration file
Makefile          - for easier development
readme.txt        - this file


Versions
--------
sd2brwse.prg is the basic version that:
 - autodetects the device number
 - uses normal keybindings (see "Controls")
 - has all the features

Explanation of the suffixes:
 - "dtv" = maps controls to C64DTV buttons (see "Controls")
 -  "8"  = uses hardcoded device number 8
 - "min" = minimal version for fast loading


Controls
--------
Note: Selecting the first entry ("<-") returns back 
to the previous directory.

Joystick in port 2:
UP    - previous program
DOWN  - next program
LEFT  - previous page
RIGHT - next page
FIRE  - load and run selected program

Keyboard: (if dtvbuttons = 0)
CRUP    - previous program
CRDOWN  - next program
CRLEFT  - previous page
CRRIGHT - next page
ENTER   - load and run selected program or change directory
BACKSPC - exit to previous directory
F1      - jump to first program
F3      - jump to last program
F7      - quit to basic

C64DTV: (if dtvbuttons = 1)
UP    - previous program
DOWN  - next program
LEFT  - previous page
RIGHT - next page
L     - load and run selected program or change directory
R     - exit to previous directory
A     - jump to first program
B     - jump to last program
D     - quit to basic


Compiling
---------
acme --cpu 6502 -f cbm -o sd2brwse.prg sd2brwse.asm

Requires ACME v.0.91 from
http://www.esw-heim.tu-clausthal.de/~marco/smorbrod/acme/


Customizing
-----------
Modify (some of) the constants. Refer to comments.

Setting the constant "firmware" to 0 skips the first
two entries in subdirectories (which are "." and ".."
in sd2iec versions up to 0.5.1).

Setting the constant "dtvbuttons" to 1 remaps some 
of the controls to the special buttons in C64DTV.
"sd2brwse_dtv.prg" is a precompiled example of this.

Setting the constant "hwdevicenum" to 0 makes 
sd2brwse "autodetect" (lda $ba) the device number.
Setting a non-zero value hardcodes the device number to 
the specified value. This is mostly for installing sd2brwse 
to the DTV flash.

Setting the constant "minimal" to 1 removes many
features to save space (and still remain functional).

