I've been extending Dave McMurtrie's implementation of IEC disk support for the KIM-1 (from the ca65 port Nils Andres, a.k.a. netzherpes). I've added long file names, sending arbitrary commands to the disk, directory listing, verify and add a jump-table based interface, and used that to add disk support to Corsham's xKIM monitor and Microsoft's KB9. Here is a video of it working:
Code at my GitHub repository:
xKIM with IEC support: https://github.com/eduardocasino/xKIM/tree/IEC_support
KB9 with disk support: https://github.com/eduardocasino/msbasic/tree/IEC_support
BUILD
This is still experimental, use at your own risk!
Requirements: Expanded KIM-1 (or PAL-1) with RAM from 2000 to DFFF, ROM from E000 to FFFF and the IEC circuit based on Dave's design.
Linux, WSL or any unix-like system with git, bash, gmake and Python.
Clone the xkim1541 repository and build using 'make'. You'll need to have Python installed as there is a script that generates the include file depending on the base address. By default, the code is generated to be loaded at 0xF000. You can change it editing the OFFSET variable in the Makefile. I do not recommend modifying the other two variables: ZPINIT and BSSINIT, as they have been chosen to not interfere with either xKIM or KB9.
Clone the xXIM repository and switch to the IEC_support branch. Copy the iecproto.inc file generated in the previous step. Build using 'make IEC_SUPPORT=1'. Burn the xKIM-0.bin file to a ROM at offset 0xE000
Clone the KB9 repository and switch to the IEC_support branch. Build with 'make'. By default, it is assumed that xkim1541 starts at 0xF000. Modify the defines_kimiec.s file if you put it anywhere else. Binary and hex files are generated in the tmp directory, with offset 0x2000. You can build it at a different one editing the PAGE variable in the makefile. For example, I built mine at PAGE = 40 (0x4000) because I've got a Visual Memory Card at 0x2000. You can build a prg file with 'make prg', so you can add it to a disk image.
Note: I've been experiencing what I think are hardware problems with xkim1541. Every now and then, I received premature EOI indications wher reading relatively large files or directories. It seems that occasionally, with my setup, my own KIM-1 clone with a dual 6530-6532 adapter, the timer is not correctly set. I suspect a timing problem with the adapter, but I haven't yet concluded what it is. I've discovered that reading the timer just before setting it seems to fix the symptoms. I would be very grateful if you edit xkim1541.s and set EOI_FIX to 0, build it and see if it is stable with your system.
USING
Jump to xKIM at addr 0xE000. There are some modified or new commands:
What a fantastic project! I wonder if it would work with the Pi-based 1541 disk emulators?
--
You received this message because you are subscribed to the Google Groups "PAL 6502 computer" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pal6502+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/pal6502/0c510edc-854e-4ca3-abe1-7bb6c9b3ad9dn%40googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/pal6502/a1712fd7-f211-428d-b4fa-5871ab30245an%40googlegroups.com.
The builld PAL-1 ROM I postted above seems to work.
The xKIM monitor does not like the SD2IEC directory. I need to check how to enter a disk image and pack msbasic to an image.With my real 1541 it works like a charme!
--
You received this message because you are subscribed to the Google Groups "PAL 6502 computer" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pal6502+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/pal6502/8de112cf-3fb5-48fa-9439-b4a525c84320n%40googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/pal6502/1d08c56c-3283-4348-8eaf-e4fcc4d6af31n%40googlegroups.com.
Subject: Re: IEC Disk support for Corsham's xKIM and Microdoft's KB9
From: Neil Andretti
Date: Mar 26 03:10AM -0700
A wonderful lovely morning group,
This is the 3rd try to post something here in this thread, I am sorry if you already recieved the first two attempts....
I build a RAM only version of xKIM1541 for the PAL-1. Just in case you do
Implementing Commodore's IEC bus protocol on a KIM-1 single board computer
This guy has a couple of really good videos working with the KIM-1
To view this discussion on the web visit https://groups.google.com/d/msgid/pal6502/f3565398-d5ba-4110-9642-0772ace4e1c6n%40googlegroups.com.