View Single Post
Old 15 July 2015, 16:11   #23
Toni Wilen
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 43
Posts: 20,651
That chapter was main information source for already implemented emulation. (It does not help much with ST-506 side because it is controlled with Z80 code!)
Actually Z80 code is not needed after all, Z80 is basically just a modified ST-506 controller, modified = uses custom protocol to send modified (extra data appended) command blocks to Z80 and read status from Z80.

It looks like it can be implemented quite easily after all.

EDIT: Very odd protocol... Driver tells the Amiga RAM address of command block to Z80 code by poking the address byte by byte to board's register. Driver writes command block to Amiga memory, then writes to another register that tells Z80 code to execute the command. The rest is done by Z80 code completely transparently, it even uses on-board DMA controller automatically to transfer data to/from Amiga memory. Amiga-side code only needs to wait for interrupt.

EDIT2: Done.

Last edited by Toni Wilen; 16 July 2015 at 16:32.
Toni Wilen is online now  
Page generated in 0.30931 seconds with 9 queries