-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
6a75f97
commit 3a2af99
Showing
1 changed file
with
5 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,23 +1,23 @@ | ||
# Flexible EasyFlash Loader | ||
EasyFlash loader with usage examples, demonstrating a rather useful scenario involving: | ||
- IRQ-driven tune playback while loading, and | ||
- moving data under I/O while handling IRQ requests. | ||
- moving data under ROM and I/O while handling IRQ requests. | ||
|
||
## Notes | ||
- Assemble source files with [ACME cross-assembler](https://sourceforge.net/projects/acme-crossass/). Version 0.96.4 has been successfully tested. | ||
- To use the provided `Makefile` you need GNU `make`. | ||
|
||
## CRT image | ||
To create the CRT image, the tool `bin2efcrt` is used. This is invoked with a relative path, `../tools`: simply build this tool first and then come back to this example.\ | ||
To test the cartridge in a *recent* version of [VICE Emulator](http://vice-emu.sourceforge.net), run `x64 -cartcrt loader.crt` or attach it using "File => Attach cartridge image... => CRT Image...". You can also write it to your EasyFlash. | ||
To test the cartridge in a *recent* version of [VICE Emulator](http://vice-emu.sourceforge.net), run `x64 -cartcrt tst_loader.crt` or attach it using "File => Attach cartridge image... => CRT Image...". You can also write it to your EasyFlash. | ||
|
||
## Loading under I/O directly | ||
The "load_under_io" folder provides *replacement* files for loading directly under I/O, which is discouraged as it involves quite some overhead (to backup/restore $01 and the I flag). | ||
## Loading under ROM and I/O directly | ||
The "load_under_io" folder provides *replacement* files for loading directly under ROM and I/O, which is discouraged as it involves quite some overhead (to backup/restore $01 and the I flag). | ||
|
||
## Productions that use this loader | ||
This loader was used to put together my [EasyFlash version of Last Ninja 2](https://csdb.dk/release/?id=167043). | ||
|
||
## Left as an exercise | ||
- Refactor the project structure to make examples "pluggable" into the main loader. | ||
- Make good use of empty areas within the first two memory banks. | ||
- Add support for data crunchers. The drawback here is that decrunching increases loading times. | ||
- Add support for data crunchers. The drawback here is that decrunching increases loading times. |