Apple II Floppy disk emulation explained by example

15
Floppy Disk Emulation Explained by Example By Alex Lukacz

description

Alex Lukacz's presentation at OzKFest 2013. Alex has granted me permission to upload his presentation.

Transcript of Apple II Floppy disk emulation explained by example

Page 1: Apple II Floppy disk emulation explained by example

Floppy Disk Emulation Explained by Example

By Alex Lukacz

Page 2: Apple II Floppy disk emulation explained by example

Apple II Mass Storage Devices• Disk II Port - Disk II protocol• Semi-Virtual Diskette (SVD) http://www.thesvd.com/• bootZero http://www.bootzero.com/HDDD_A2_v1.2/HDDD_A2v1.2.html• SDISK II - DISK II emulator for APPLE II http://tulip-house.ddo.jp/digital/SDISK2/english.html• http://tulip-house.ddo.jp/digital/SDISK2V1/english.html• USB AII-SPI-DSK http://maclcd.blogspot.com.au/search/label/Disk%20%5D%5B• CHED http://lukazi.blogspot.com.au/search?q=ched

• Disk II Port - Smartport protocol• Apple //c Smartport Compact Flash Adapter http://www.users.on.net/~rjustice/SmartportCFA/SmartportCFA.htm• Smartport Virtual Hard Drive (SPVHD) http://www.spvhd.org/

• Apple II Slot - Floppy Drive (Replaces the floppy drive controller as well as the drive unit)• Double Action Pseudo Disk / PseudoDisk2 http://alexfreed.com/FPGApple/pseudodisk.html• http://www.applelogic.org/PseudoDisk2.html• iDisk https://sites.google.com/site/idiskapple2/home

• Apple II Slot - Hard Disk Drive (Replaces the floppy drive controller as well as the drive unit)• Apple II IDE/ATA interface http://s.guillard.free.fr/Apple2IDE/Apple2IDE.htm• CFFA / CFFA3000 (inludes floppy emulation) http://dreher.net/?s=projects/CFforAppleII&c=projects/CFforAppleII/main.php• Microdrive IDE controller http://www.reactivemicro.com/• Focus IDE HD Controller http://16sector.com/

• Serial port• Apple Disk Transfer ProDOS (ADTPro) http://adtpro.sourceforge.net/• Pocket Serial Host http://osgeld.a2hq.com/category/projects/pocket-serial-host/

• Speaker port• Online Apple II Disk Server http://asciiexpress.net/diskserver/• Cassette tapes using a music payer (PC/iPad etc). Source data from Brutal Deluxe Software http://www.brutaldeluxe.fr/projects/cassettes/index.html

• Joystick Port• Apple //t http://atomsandelectrons.com/blog/2010/04/apple-t/

Page 3: Apple II Floppy disk emulation explained by example

Three generations of Apple II floppy disk drives.

• 1. 5.25 inch floppy disk.• 2. Smartport.• 3. 3.5 inch floppy disk.

• Apple II Models and the generation disk technology they support :-• II 1• II+ 1• IIe 1• IIc 1• IIe with Liron or Superdrive card 1, 2• IIc with ROM 0 or later 1, 2• IIGS 1, 2, 3• IIc+ 1, 2, 3

Page 4: Apple II Floppy disk emulation explained by example

Fundamentals

Page 5: Apple II Floppy disk emulation explained by example

Bitstream

• Sync Bytes – 10bits 1111111100 – 4 in a row.

11111111, 00111111, 11001111, 11110011, 11111100

• Encoding – 1 bit must be high, only 1 pair of consecutive zero bits. 256 bytes of data translates to 342 bytes.

• Counters to keep track of Tracks and Sectors.

Page 6: Apple II Floppy disk emulation explained by example

Track Structure

Page 7: Apple II Floppy disk emulation explained by example

Emulation

Page 8: Apple II Floppy disk emulation explained by example

CHED (Combined Hardware Emulated Drives)

Page 9: Apple II Floppy disk emulation explained by example

Timing

Page 10: Apple II Floppy disk emulation explained by example

Debugging (Signals)

Page 11: Apple II Floppy disk emulation explained by example

Debugging (Data)

Page 12: Apple II Floppy disk emulation explained by example

CHED2?

Page 13: Apple II Floppy disk emulation explained by example

Reference

• Disk II• Chapter 9 of "Understanding the Apple IIe" by Jim Sather• Chapter 3 of "Beneath Apple DOS (Fifth Printing)" by Don Worth and Pieter Lechner

• Smartport• Apple IIGS Firmware Reference ISBN 0-201-17744-7 – Chapter 7• Apple IIc Technical Reference Manual ISBN 0-201-17752-8 – Appendix I Firmware

listings – Protocol Converter• Apple Smartport technical note – smartport packet• Inside the Apple II - Chapter 9• Beneath Apple Dos

Page 14: Apple II Floppy disk emulation explained by example

Smartport and 3.5 inch Drive Support

• Smartport uses packets and WRPROT line for ACK, PH0 for REQ hand shaking.

• 3.5 inch Drive ?

Page 15: Apple II Floppy disk emulation explained by example

Thanks. Hack away and have fun.