apple1-videocard-lib/demos/sdcard/README.md

117 lines
3.9 KiB
Markdown
Raw Normal View History

2022-03-17 11:42:42 +00:00
# SD CARD
- all numbers must be provided in hexadecimal format unless specified
- arguments in `[]` brackets means they are optional
- nested paths are allowed with the `/` character, e.g. `/`, `/foder1/foo`
- no path given implies current working directory
## TAGGED FILE NAMES
File names containing a tag `#` character have a special meaning: the part after the `#`
indicates the file type (two characters) and the hex loading address (4 characters).
`#06` for plain binary files
`#F1` for BASIC programs
2022-03-30 09:57:03 +00:00
`#F8` for Applesoft BASIC lite programs
2022-03-17 11:42:42 +00:00
E.g.:
`BASIC#06E000` is binary file named `BASIC` that loads at address `$E000`.
`STARTREK#F10300` is a BASIC program named `STARTREK` that loads at address `$0300`.
2022-03-30 09:57:03 +00:00
`LEMO#F80801` is a AppleSoft BASIC program named `LEMO` that loads at address `$0801`.
2022-03-17 11:42:42 +00:00
2022-03-30 09:57:03 +00:00
Tagged file names are used by the `LOAD`, `RUN`, `SAVE`, `ASAVE` and `DIR` commands to simplify working with files. For example to execute the above files, it's enough to type:
2022-03-17 11:42:42 +00:00
```
LOAD BASIC
RUN STARTREK
```
## COMMANDS
`READ filename startaddress`
Reads a binary file from the SD card and loads it in memory at the specified address.
`WRITE filename startaddress endaddress`
Writes the memory range from `startaddress` to `endaddress` (inclusive) in a file on the SD card.
`TYPE filename`
Reads the specified ASCII file from the SD card and prints it on the screen. Press any key to stop the printing and return to the command prompt.
`DUMP filename [start] [end]`
Reads the specified binary file from the SD card and prints it on the screen in hexadecimal format. `start` and `end` are optional and are used to print a smaller portion of the file. Press any key to stop the printing and return to the command prompt.
`LOAD filename`
Loads a file from the SD card. `filename` refers to a "tagged file name" described above. For convenience, `filename` can be partially given, the first matching file will be loaded.
2022-03-21 13:15:57 +00:00
`SAVE filename [start] [end]`
2022-03-17 11:42:42 +00:00
Saves a file to the SD card. If `start` and `end` are specified, a binary file with tag `#06` will be created with the memory content from the address range `start`-`end` (included).
If `start` and `end` are not specified, the BASIC program currently loaded in memory will be created with the corresponding `#F1` tag.
2022-03-30 09:57:03 +00:00
`ASAVE filename`
Saves a AppleSoft BASIC lite file to the SD card. The program currently loaded in memory will be created with the corresponding `#F8` tag.
2022-03-17 11:42:42 +00:00
`RUN filename`
Same as `LOAD` but runs the file after loading it. Binary files are exectuted at the starting address specified in the file name tag; BASIC files are `RUN` from the BASIC interpreter.
`DEL filename`
`RM filename`
Deletes a file from the SD card.
`DIR [path]`
`LS [path]`
Lists the files from the specified directory, or from the current directory if no path is given. `LS` has a shorter but quicker output format. Press any key to stop the file listing and return to the command prompt.
`CD path`
Changes the current working directory to the specified path. The current directory is also shown in the command prompt.
`MD path`
`MKDIR path`
Creates the specified directory.
`RD path`
`RMDIR path`
Removes the specified directory. The directory to remove must be empty (no files or directories within).
`PWD`
Prints on the screen the current working directory.
`BAS`
Prints `LOMEM` and `HIMEM` pointers from the BASIC program currently loaded in memory.
2022-03-30 09:57:03 +00:00
`address R`
2022-03-17 11:42:42 +00:00
2022-03-30 09:57:03 +00:00
Runs the program loaded at the specified memory address. Useful addresses:
`6000R` AppleSoft BASIC cold start (needed at least once)
`6003R` AppleSoft BASIC warm start (do not destroy the BASIC program in RAM)
`E000R` Integer BASIC cold start
`EFECR` Integer BASIC "RUN" command (can be used as a warm entry point)
`8000R` SD card OS command prompt
2022-03-17 11:42:42 +00:00
`TIME value`
Set the internal timeout value used in the I/O operations with the SD cards.
`TEST`
Internal test.
`EXIT`
Exits to the WOZ monitor
2022-02-07 07:50:35 +00:00