diff --git a/CONFIG.md b/CONFIG.md index 9b0c565f..befc3550 100644 --- a/CONFIG.md +++ b/CONFIG.md @@ -175,6 +175,12 @@ Enable this option if you are using a tape interface adapter with some audio sig Enable this option if you are using a tape interface adapter lacking tape motor control (most likely every adapter currently being sold) - this will eliminate the need to quickly press space when the program header information gets displayed. Note: if you are using a cassette player with REM port, and your adapter is connected to this port too, than you do not need this option. +## Additional storage + +### `UNIT_SDCARD`, `UNIT_FLOPPY`, `UNIT_RAMDISK` + +MEGA65 specific pseudo-IEC devices, handled by internal DOS (work in progress). If set to 0, given unit is disabled. Otherwise - assigns IEC unit number to the given storage. + ## Sound support The original Commodore 64 had one SID sound chip installed. However, mods exists to add more of them for improved sound capabilities. Emulators and FPGA machines typically allow to simulate more than one too. Unfortunately, there is no standard regarding how these additional chips are visible in the processor address space, and there is no sane way to detect it - thus, it has to be configurable. diff --git a/bin/basic_generic.rom b/bin/basic_generic.rom index 32eca360..30d54dee 100644 Binary files a/bin/basic_generic.rom and b/bin/basic_generic.rom differ diff --git a/bin/basic_generic_crt.rom b/bin/basic_generic_crt.rom index a6049934..f8eff4df 100644 Binary files a/bin/basic_generic_crt.rom and b/bin/basic_generic_crt.rom differ diff --git a/bin/basic_ultimate64.rom b/bin/basic_ultimate64.rom index 3577d018..d5158567 100644 Binary files a/bin/basic_ultimate64.rom and b/bin/basic_ultimate64.rom differ diff --git a/bin/extrom_generic_crt.crt b/bin/extrom_generic_crt.crt index 9d781b6c..7827e060 100644 Binary files a/bin/extrom_generic_crt.crt and b/bin/extrom_generic_crt.crt differ diff --git a/bin/kernal_generic.rom b/bin/kernal_generic.rom index 07fc29f2..252077d2 100644 Binary files a/bin/kernal_generic.rom and b/bin/kernal_generic.rom differ diff --git a/bin/kernal_generic_crt.rom b/bin/kernal_generic_crt.rom index 055f732c..dcbb525a 100644 Binary files a/bin/kernal_generic_crt.rom and b/bin/kernal_generic_crt.rom differ diff --git a/bin/kernal_ultimate64.rom b/bin/kernal_ultimate64.rom index 47b43718..3ecb2aec 100644 Binary files a/bin/kernal_ultimate64.rom and b/bin/kernal_ultimate64.rom differ diff --git a/bin/mega65.rom b/bin/mega65.rom index d31d6a97..b5c42ccf 100644 Binary files a/bin/mega65.rom and b/bin/mega65.rom differ diff --git a/bin/mega65_orfont.rom b/bin/mega65_orfont.rom index a3c548c2..b106ad9a 100644 Binary files a/bin/mega65_orfont.rom and b/bin/mega65_orfont.rom differ diff --git a/src/,,config_mega65.s b/src/,,config_mega65.s index 77ba1b80..d9fadbe2 100644 --- a/src/,,config_mega65.s +++ b/src/,,config_mega65.s @@ -91,8 +91,8 @@ ; --- Built-in DOS configuration ;; #CONFIG# UNIT_SDCARD 28 -;; #CONFIG# UNIT_FLOPPY 29 ; work in progress -;; #CONFIG# UNIT_RAMDISK 0 ; do not change, DOS is not implemented yet +;; #CONFIG# UNIT_FLOPPY 29 +;; #CONFIG# UNIT_RAMDISK 0 ; do not change, ram disk is not implemented yet ; --- Debug options diff --git a/src/dos_m65/filesystem_cbm/fs_cbm_nextfileblock.s b/src/dos_m65/filesystem_cbm/fs_cbm_nextfileblock.s index 27403902..8d2c2803 100644 --- a/src/dos_m65/filesystem_cbm/fs_cbm_nextfileblock.s +++ b/src/dos_m65/filesystem_cbm/fs_cbm_nextfileblock.s @@ -29,13 +29,17 @@ fs_cbm_nextfileblock: @common_chk: - bne @common_load + bne fs_cbm_nextfileblock_common_load + + ; FALLTROUGH + +fs_cbm_nextfileblock_eof: lda #$00 ; end of file sec rts -@common_load: +fs_cbm_nextfileblock_common_load: sta PAR_TRACK stx PAR_SECTOR @@ -87,10 +91,14 @@ fs_cbm_nextfileblock_got_ts: ; Less than a full sector is used - lda SHARED_BUF_1+$100+0 + lda SHARED_BUF_1+$100+1 @not_full_buf: + dec + cmp #$FF + beq fs_cbm_nextfileblock_eof + sta FD_ACPTR_LEN+0 ; FALLTROUGH