Welcome, Guest. Please login or register.

Author Topic: Floppy emulator  (Read 30079 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline tnt23Topic starter

  • Full Member
  • ***
  • Join Date: Dec 2005
  • Posts: 195
    • Show only replies by tnt23
Floppy emulator
« on: December 07, 2005, 10:15:38 AM »
Hi,

My name is Tim. I'm a newbie in Amigas (got my first A500 only this summer).

I was so excited to see recent Minimig story that I decided to post my own project details. Although not as mindblowing as Minimig (Dennis, your work is by far the most impressive DIY Amiga story I've heard!), it is probably still fancy enough to mention.

The project's aim was to build a device that would eliminate the floppy nightmare I would've had should I decide to try and see all 600 megs of ADF on my old A500. The device would keep ADF images on some flash media, let me choose and load certain image, mount it and pretend it is real floppy drive.

I've used 8-bit RISC Atmel MCU running at 8MHz, an old 4M 30-pin SIMM for DRAM storage, LCD salvaged from an old Nokia mobile, and a couple of buttons to keep interface minimalistic.

So far the project lets me browse the SD/MMC card (cheating a lot - FAT16 only, no LFNs, no subfolders), load .ADF image, convert it to MFM tracks and run it as if it were a real DF1: drive attached to my Amiga.

While loading floppy image takes decent amount of time, about 30 seconds, converting it to MFM takes good three minutes. There are of course ways to reduce conversion time, like using more powerful MCU or preencoding floppy images, still to be investigated.

I have uploaded a few images should anybody want a look :-)

EDIT: images are available here: http://www.amiga.org/gallery/index.php?u=3561

Regards
Tim
 

Offline humppa

  • Hero Member
  • *****
  • Join Date: Oct 2005
  • Posts: 959
    • Show only replies by humppa
Re: Floppy emulator
« Reply #1 on: December 07, 2005, 10:24:19 AM »
Really interesting! You should get in touch with Mr. Catweazel (Jens).
 

Offline motorollin

  • Hero Member
  • *****
  • Join Date: Nov 2005
  • Posts: 8669
    • Show only replies by motorollin
Re: Floppy emulator
« Reply #2 on: December 07, 2005, 10:24:49 AM »
Wow, that sounds like a great project! Using FAT is not bad thing, it means the card can be put in a PC for easy transfer of files. I assume the device connects to a standard Amiga floppy connector? And how fast is access to the disk images? And would it be possible to allow access to the files on the flash card like a hard drive as well as mounting it as a virtual floppy, for transferring files that are not in an ADF?

--
moto
Code: [Select]
10  IT\'S THE FINAL COUNTDOWN
20  FOR C = 1 TO 2
30     DA-NA-NAAAA-NAAAA DA-NA-NA-NA-NAAAA
40     DA-NA-NAAAA-NAAAA DA-NA-NA-NA-NA-NA-NAAAAA
50  NEXT C
60  NA-NA-NAAAA
70  NA-NA NA-NA-NA-NA-NAAAA NAAA-NAAAAAAAAAAA
80  GOTO 10
 

Offline xeron

  • Hero Member
  • *****
  • Join Date: Mar 2002
  • Posts: 2533
    • Show only replies by xeron
    • http://www.petergordon.org.uk
Re: Floppy emulator
« Reply #3 on: December 07, 2005, 10:26:38 AM »
Thats cool. I have an A500 with a broken floppy drive, and this would make a nifty replacement. Will the final version be able to replace DF0?
Playstation Network ID: xeron6
 

Offline bloodline

  • Master Sock Abuser
  • Hero Member
  • *****
  • Join Date: Mar 2002
  • Posts: 12113
    • Show only replies by bloodline
    • http://www.troubled-mind.com
Re: Floppy emulator
« Reply #4 on: December 07, 2005, 10:52:09 AM »
How many images can be mounted at a time?

Offline Dingo_aus

  • Jr. Member
  • **
  • Join Date: Nov 2005
  • Posts: 73
    • Show only replies by Dingo_aus
    • http://www.users.on.net/~symes/
Re: Floppy emulator
« Reply #5 on: December 07, 2005, 11:09:56 AM »
Sounds cool.

What AVR are you running? I'd guess a low power Mega128 but would be really happy if you said something like a Mega32 (something that comes in PDIP)

With those new AVRs running at 20Mhz can you decrease load times with them perhaps?

Australian and into robotics? Or want to be?
Visit Australian Amateur Robotics
http://www.users.on.net/~symes/
 

Offline tnt23Topic starter

  • Full Member
  • ***
  • Join Date: Dec 2005
  • Posts: 195
    • Show only replies by tnt23
Re: Floppy emulator
« Reply #6 on: December 07, 2005, 11:12:10 AM »
Quote

xeron wrote:
Thats cool. I have an A500 with a broken floppy drive, and this would make a nifty replacement. Will the final version be able to replace DF0?


That's what I am heading for - to fit it into A500 (must really make my mind before ripping it) so that I would have three or four hundred floppies always with me in a size of a single MMC card.

In fact, it should already behave as DF0 or just any of DF1..DF3 if using right select signal from floppy bus (and on external floppy connector only DS1 and DS2 are available).
 

Offline patrik

Re: Floppy emulator
« Reply #7 on: December 07, 2005, 11:15:19 AM »
@tnt23:

How fast mcu do you estimate would be needed to convert tracks from the adfs to mfm data on the fly?


/Patrik
 

Offline humppa

  • Hero Member
  • *****
  • Join Date: Oct 2005
  • Posts: 959
    • Show only replies by humppa
Re: Floppy emulator
« Reply #8 on: December 07, 2005, 11:16:56 AM »
@tnt23
There is a guy who did something comparable for the C64. The device is called MMC64 - maybe you already know it.

He was also working on it in his leisure time. Then he showed it to Jens and it evolved as a product for the community :-)

Maybe you should also consider this option.
 

Offline tnt23Topic starter

  • Full Member
  • ***
  • Join Date: Dec 2005
  • Posts: 195
    • Show only replies by tnt23
Re: Floppy emulator
« Reply #9 on: December 07, 2005, 11:20:04 AM »
Quote

motorollin wrote:
Wow, that sounds like a great project! Using FAT is not bad thing, it means the card can be put in a PC for easy transfer of files. I assume the device connects to a standard Amiga floppy connector? And how fast is access to the disk images? And would it be possible to allow access to the files on the flash card like a hard drive as well as mounting it as a virtual floppy, for transferring files that are not in an ADF?

--
moto


Yes, the device connects to external floppy connector, although it is not seen well on the photos. I have a bunch of early development photos, too, showing the connections, running boot intro etc.

As to the speed, I can't tell. I only know there are no moving parts in it, so it should be slightly faster then real drive, if only Amiga can make use if it. I recall running speed test from DiskMonTools, and that gave me something like 24k per second on 64k file. I am not sure about them figures, will rerun test this night.

I don't think it is possible to access certain files on the card directly - at least I don't see how it can be done through the floppy interface. On the other hand, reading SD/MMC is not that difficult, there can be other solutions for it like using RS-232 port, and there probably are.


UPDATE. Speed test shows 24k/sec for 128k file. Puzzingly enough, the Workbench 1.2 floppy loads in 44 seconds, and the emulated one loads in 55 seconds.
 

Offline motorollin

  • Hero Member
  • *****
  • Join Date: Nov 2005
  • Posts: 8669
    • Show only replies by motorollin
Re: Floppy emulator
« Reply #10 on: December 07, 2005, 11:26:11 AM »
You're a clever guy  :-) Any idea when it will be finished?

--
moto
Code: [Select]
10  IT\'S THE FINAL COUNTDOWN
20  FOR C = 1 TO 2
30     DA-NA-NAAAA-NAAAA DA-NA-NA-NA-NAAAA
40     DA-NA-NAAAA-NAAAA DA-NA-NA-NA-NA-NA-NAAAAA
50  NEXT C
60  NA-NA-NAAAA
70  NA-NA NA-NA-NA-NA-NAAAA NAAA-NAAAAAAAAAAA
80  GOTO 10
 

Offline tnt23Topic starter

  • Full Member
  • ***
  • Join Date: Dec 2005
  • Posts: 195
    • Show only replies by tnt23
Re: Floppy emulator
« Reply #11 on: December 07, 2005, 11:26:14 AM »
Quote

bloodline wrote:
How many images can be mounted at a time?


Now it only allows for one image to be used at a time. There is simply not enough memory to hold more than one. Although it would be terrific to have a set of floppies be prepared in advance, like for multi-disk games, and switch between them at once.

Also it is a read-only solution, floppies can be read from but not written to.
 

Offline xaccrocheur

  • Sr. Member
  • ****
  • Join Date: Jun 2002
  • Posts: 430
    • Show only replies by xaccrocheur
Re: Floppy emulator
« Reply #12 on: December 07, 2005, 11:31:13 AM »
You guys are heroes. This and the MiniMig are really cool project. I'm really impressed. Lots of people around me, that are not all Amiga-aware, are quite WOW'd too.

There are so many self-involvement in those project, so many skills needed that it really amazes me.

For example, you gotta have lovely & gentle people around you, that don't mind *not understanding one bit* of what you're doing every night :)

Kudos to all of you, you :pint: and Dennis :pint: are competing for the COOLEST Amiga Hardware projects of the year ! (SW-wise, AROS immetiately comes to mind)  
 

Offline tnt23Topic starter

  • Full Member
  • ***
  • Join Date: Dec 2005
  • Posts: 195
    • Show only replies by tnt23
Re: Floppy emulator
« Reply #13 on: December 07, 2005, 11:35:02 AM »
Quote

Dingo_aus wrote:
Sounds cool.

What AVR are you running? I'd guess a low power Mega128 but would be really happy if you said something like a Mega32 (something that comes in PDIP)


I happened to have ATmega161, a 40-pin DIP chip suitable for most simple projects. First I ran it at 4MHz, than had to go for 8MHz.

I am planning to upgrade to ATmega128 (if they are still in production by the time), mostly because I am running out of IO pins. 16MHz will hopefully speed things a little (say, 20 seconds of loading instead of 30), bit it is the conversion part that is the most heavy one in terms of CPU power. I will look into pre-encoding .ADF into some .MFM format in advance.
 

Offline tnt23Topic starter

  • Full Member
  • ***
  • Join Date: Dec 2005
  • Posts: 195
    • Show only replies by tnt23
Re: Floppy emulator
« Reply #14 on: December 07, 2005, 11:45:56 AM »
Quote

patrik wrote:
@tnt23:

How fast mcu do you estimate would be needed to convert tracks from the adfs to mfm data on the fly?


/Patrik


Quite a bit I'm afraid. You have to deal with ~12k of data, with bit shifting, masking and checksumming, all within 0.2sec or so.