Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -234,6 +234,7 @@ endif
DRIVER_SOURCES= \
drv/drv1541.bin \
drv/drv1571.bin \
drv/drv1571burst.bin \
drv/drv1581.bin \
input/joydrv.bin \
input/amigamse.bin \
Expand Down Expand Up @@ -270,6 +271,7 @@ ALL_BINS= \
$(BUILD_DIR)/kernal/kernal.bin \
$(BUILD_DIR)/drv/drv1541.bin \
$(BUILD_DIR)/drv/drv1571.bin \
$(BUILD_DIR)/drv/drv1571burst.bin \
$(BUILD_DIR)/drv/drv1581.bin \
$(BUILD_DIR)/input/joydrv.bin \
$(BUILD_DIR)/input/amigamse.bin \
Expand Down Expand Up @@ -307,7 +309,7 @@ $(BUILD_DIR)/$(D64_RESULT): $(BUILD_DIR)/kernal_compressed.prg
else \
echo format geos,00 d64 $@ | $(C1541) >/dev/null; \
echo write $< geos128 | $(C1541) $@ >/dev/null; \
if [ -e $(DESKTOP_CVT) ]; then echo geoswrite $(DESKTOP_CVT) | $(C1541) $@; fi >/dev/null; \
if [ -e "$(DESKTOP_CVT)" ]; then echo geoswrite "$(DESKTOP_CVT)" | $(C1541) $@; fi >/dev/null; \
echo \*\*\* Created fresh $@.; \
fi;
else
Expand Down Expand Up @@ -382,6 +384,9 @@ $(BUILD_DIR)/drv/drv1541.bin: $(BUILD_DIR)/drv/drv1541.o drv/drv1541.cfg $(DEPS)
$(BUILD_DIR)/drv/drv1571.bin: $(BUILD_DIR)/drv/drv1571.o drv/drv1571.cfg $(DEPS)
$(LD) -C drv/drv1571.cfg $(BUILD_DIR)/drv/drv1571.o -o $@

$(BUILD_DIR)/drv/drv1571burst.bin: $(BUILD_DIR)/drv/drv1571burst.o drv/drv1571burst.cfg $(DEPS)
$(LD) -C drv/drv1571burst.cfg $(BUILD_DIR)/drv/drv1571burst.o -o $@

$(BUILD_DIR)/drv/drv1581.bin: $(BUILD_DIR)/drv/drv1581.o drv/drv1581.cfg $(DEPS)
$(LD) -C drv/drv1581.cfg $(BUILD_DIR)/drv/drv1581.o -o $@

Expand Down
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ Without pucrunch/c1541, you can still build an uncompressed KERNAL binary image.
Run `make` to build the original "BSW" GEOS for C64. This will create the following files in directory `build/bsw`:

* raw KERNAL components: `kernal.bin`, `lokernal.bin`, `init.bin`
* disk drive drivers: `drv1541.bin`, `drv1571.bin`, `drv1581.bin`
* disk drive drivers: `drv1541.bin`, `drv1571.bin`, `drv1571burst.bin`, `drv1581.bin`
* input drivers: `amigamse.bin`, `joydrv.bin`, `lightpen.bin`, `mse1351.bin`, `koalapad.bin`, `pcanalog.bin`
* combined KERNAL image (`SYS 49155`): `kernal_combined.prg`
* compressed KERNAL image (`RUN`): `kernal_compressed.prg`
Expand Down Expand Up @@ -114,6 +114,7 @@ By default, the KERNAL image will contain the Commodore 1541 disk driver (`drv15

Supported drives are `drv1541`, `drv1571` and `drv1581`. Supported input devices are `amigamse`, `joydrv`, `koalapad`, `lightpen`, `mse1351` and `pcanalog`.

For C128, with `VARIANT=bsw128` you can also choose to use `DRIVE=drv1571burst` to use native DOS Burst Command Instruction Set instead of speed loader.

## Customization

Expand Down
2 changes: 2 additions & 0 deletions config.inc
Original file line number Diff line number Diff line change
Expand Up @@ -170,6 +170,8 @@ REUPresent = 1
DRV_TYPE = 1 ; DRV_1541
.elseif .defined(drv1571)
DRV_TYPE = 2; DRV_1571
.elseif .defined(drv1571burst)
DRV_TYPE = 2; DRV_1571
.elseif .defined(drv1581)
DRV_TYPE = 3; DRV_1581
.else
Expand Down
11 changes: 11 additions & 0 deletions drv/drv1571burst.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
MEMORY {
DISK_BASE: start = $9000, size = $0D80, file = %O;

DRIVE0300: start = $0300, size = $0500;
}

SEGMENTS {
drv1571: load = DISK_BASE, type = ro;
drv1571_drivecode: load = DISK_BASE, run = DRIVE0300, type = ro;
drv1571_b: load = DISK_BASE, type = ro;
}
Loading