A really good news

General discussion forum - for all that doesn't fit in any other category.
Post Reply
Altomcat
Posts: 2
Joined: Mon Oct 23, 2006 3:32 pm
Location: Irreville - Eure (27) - France

A really good news

Post by Altomcat »

Hello,

Thank you Torlus & Jeff for joining your effort in this project. Moreover, it's a french project that i applauds with my two hands :wink:

I bought some electronics parts here; it's cheap and the shipping is fast. Maybe you'll find all what you need with the best price. I had read somewhere that you can ask them to add some missing components.

Cheers, Arnaud.

skweek
Posts: 2
Joined: Mon Oct 23, 2006 10:59 pm

Post by skweek »

So, the tradition is to talk in english in this forum apparently... :p

Like Altomcat, i would like congrats you for your work to create this prototype.

Good luck,

Skweek

Torlus
Site Admin
Posts: 17
Joined: Thu Sep 21, 2006 8:29 pm
Location: Toulouse
Contact:

Post by Torlus »

I just created a French-speaking forum.
The main site will be written in French too, once I find some time to do it :)

gizmomelb
Posts: 26
Joined: Mon Oct 30, 2006 2:33 pm
Location: Melbourne, Australia

Post by gizmomelb »

hi and thanks for this site and forum.

I personally hope to see the project have the ability to use a memory card of some sort (CF or SD maybe) and if the FPGA has enough processing power then it does the ADF/DMS/IPF/whatever to MFM conversion, or the software on the PC pre-converts the floppy disk image to MFM format and then stores it in the memory card. (USB connection to the PC is ok, but not everyone has a laptop or a desktop in the loungeroom to connect to their Amiga or Atari).

Torlus
Site Admin
Posts: 17
Joined: Thu Sep 21, 2006 8:29 pm
Location: Toulouse
Contact:

Post by Torlus »

gizmomelb wrote: I personally hope to see the project have the ability to use a memory card of some sort (CF or SD maybe) and if the FPGA has enough processing power then it does the ADF/DMS/IPF/whatever to MFM conversion, or the software on the PC pre-converts the floppy disk image to MFM format and then stores it in the memory card. (USB connection to the PC is ok, but not everyone has a laptop or a desktop in the loungeroom to connect to their Amiga or Atari).
Jeff could probably answer this question better than me, but anyway...

There are many drawbacks to a standalone solution, one of it being the processing power as you mentioned, but there is also the problem of the final price.

Currently, the board would need only a small FPGA and a few extra chips, keeping the price low. Making a stand-alone solution would bring the need of having a probably larger FPGA and/or a microcontroller, some SRAM, a LCD display for image selection, CF/SD socket, boxing, etc.

The USB connection also brings the possibility to configure the FPGA through it, meaning that for a one-time purchase, you could benefit from every software and "firmware" upgrades to support new features and platforms, so we want to keep it.

The FTDI drivers are available for Windows CE, meaning that a version of the software for PDAs could be written, so instead of having a PC/Mac next to your old computer, you could use a PDA instead (which solves room issues) :)

gizmomelb
Posts: 26
Joined: Mon Oct 30, 2006 2:33 pm
Location: Melbourne, Australia

Post by gizmomelb »

Torlus wrote: There are many drawbacks to a standalone solution, one of it being the processing power as you mentioned, but there is also the problem of the final price.

Currently, the board would need only a small FPGA and a few extra chips, keeping the price low. Making a stand-alone solution would bring the need of having a probably larger FPGA and/or a microcontroller, some SRAM, a LCD display for image selection, CF/SD socket, boxing, etc.
Some very good points, but the extension of your project I am hoping to work on is adding some form of removable memory storage (USB, CF, SD, whatever), two push buttons (one 'next' disk image and one for 'previous' disk image) and maybe a LED segment display to display which disk image is currently selected (0-9 (10 disk images in total) - how many games etc. are more than 10 disks? but if need, you could support hexadecimal (16 disks in total)).

The way I see the device working is software on the PC (or MAC) converts the ADF, DMS, .ST, .MSA disk image to decoded MFM data, then that MFM decoded file is renamed to fit a 'slot' of 10 spaces (ie: is named 0disk, 1disk, 2disk etc. or adisk, bdisk, cdisk if supporting up to 16 disk images) and that file is then copied on to the removable memory card connected to the PC (or MAC).

when the decoded disk image is copied to the memory card, the card is removed and inserted into the virtual floppy disk emulator and the Amiga/Atari ST powered on.

The floppy disk emulator by default looks for 0disk and loads it (if found), if 0disk isn't found, then it looks for 1disk, 2disk etc. until a disk image is found - if it cannot find a disk image then it returns the 'no disk inserted' signal to the floppy controller (and if you have a hard drive, then the computer boots from that as normal).

When a disk image has been loaded and the user presses the 'next' or 'previous' buttons - then the 'disk eject' signal is sent to the floppy controller, a small timed loop waits for however long the Amiga/Atari ST needs to register a disk has been ejected, the next or previous disk image on the storage card is selected/loaded into SRAM and the LED segment display is changed so the number/id of the selected disk is displayed; then the 'disk change/disk inserted' signal is sent to the floppy controller and the computer thinks that the disk has been changed and then tries to load it etc.


I do not think this is a lot of extra work for an FPGA chip to do, as the disk images have already been decoded to MFM data by the computer software. I'm fairly certain a PIC could be used to select the disk images from the removable memory card, select next/previous etc. and copy the disk image across to the FPGA or to memory.

Any comments are more than welcome.

Torlus wrote: The USB connection also brings the possibility to configure the FPGA through it, meaning that for a one-time purchase, you could benefit from every software and "firmware" upgrades to support new features and platforms, so we want to keep it.

The FTDI drivers are available for Windows CE, meaning that a version of the software for PDAs could be written, so instead of having a PC/Mac next to your old computer, you could use a PDA instead (which solves room issues) :)
Possibly keeping the USB connection on my suggested device above would be useful, for the reasons you point out (or if possible have the PIC recognise a 'flash' file for the FPGA and if it finds it on the removable memory, then it flashes the FPGA.. but no idea if a PIC would have enough CPU to do that.. probably not.)

jace_stknights
Posts: 3
Joined: Thu Nov 02, 2006 5:49 pm

Post by jace_stknights »

GREAT !

Submeg
Posts: 1
Joined: Sat Nov 18, 2006 11:48 pm

Post by Submeg »

Excellent! I was wondering when someone was going to make one of these! Congrats! Cant wait til they're avaliable!








Submeg from classicamiga.com

Jeff
Site Admin
Posts: 8093
Joined: Fri Oct 20, 2006 12:12 am
Location: Paris
Contact:

Post by Jeff »

gizmomelb>

The main problem of this design is the loading time:
Each encoded MFM bit takes 2 bits (don't forget that we need to encode the "sync mark" that violates the MFM encoding...)
Each track is 200ms long at 250000 bits/s, so: 0.2*250000=50000 mfm bits-> 100000 "binary" bits -> 12500 bytes

So the total memory size needed to store in MFM an simple 80 tracks and 2 heads floppy is (without variable bitrate support, etc) :
12500*2*80=2000000 bytes (2MB)
(Some floppies have more than 80 tracks)

I did some projects in the past with a CompactFlash and a Z80 board at 8Mhz (yes, this is an old and slow CPU but...).
The max data bandwidth was ~76KB/S (with optimized asm code)
The loading time of a 2MB file with this old board should be of 26s (not so bad finally). It's very long...

I think that using an SD/MMC card with a simple uC can be slower (CF have a parallel bus, SD/MMC bus is more like an serial bus)

On the "megadrive" (ATMega128 + MMC/SDCARD) from tnt23 the loading of an adf sector (512 byte) take 6ms (maybe not optimized).
So, the loading of 2MB will take 6*(2000000/512)=23 seconds.

Using the native SDCard bus (not the spi mode) with a clock at 24Mhz, you should have better results (<5 seconds), but for this you need to implement a true SDCard controller in an fpga/cpld (unless you find an uC powerful enough to able to manage an 24mhz bus...)

This thread is very interesting about the loading time:
http://www.amiga.org/modules/newbb/view ... post405562

Jeff / HxC2001

gizmomelb
Posts: 26
Joined: Mon Oct 30, 2006 2:33 pm
Location: Melbourne, Australia

Post by gizmomelb »

Hi Jeff,

You're right, a PIC or similar doing brute force would be very slow to transfer the data from the flashcard to the memory accessible by the FPGA.

I think I've veen very lucky as I found the 1541-III floppy drive replacement project when I was doing some searching using Google - and it appears to be almost exactly what I need for information etc. The 1541-III replacement floppy drive is an open source project and includes the full source code and schematics (has MMS/SD SPI data access and FAT16 support with the included PIC source code).

It uses a PIC 18F2620 (plenty of program room (64KB) and more than enough RAM (3968KB) to support writing blocks of data back to the SD/MMC cards. Heck, there's enough RAM you could store the entire floppy image in memory and still have enough for FAT16 block writing support! Possibly you could also load PASTI/IPF data into the PIC and have a small 'randomise' tracklength routine so it could then use original protected floppy images and appear just like an original disk (some game protection methods on the Amiga check the tracklength and if it is the same result the majority of times it is checked, then it fails).

datasheets, programming info etc. for the 18F2620 is found here:

http://www.microchip.com/stellent/idcpl ... e=en010284

As for cost, the 18F2620 is only around $1.00 more than the 18F252.

Now all I need is time to experiment hooking things together and hopefully get something working.

Jeff
Site Admin
Posts: 8093
Joined: Fri Oct 20, 2006 12:12 am
Location: Paris
Contact:

Post by Jeff »

Sorry, but the PIC 18F2620 contains only 3968 Bytes and not 3968 KiloByte.
:wink:

gizmomelb
Posts: 26
Joined: Mon Oct 30, 2006 2:33 pm
Location: Melbourne, Australia

Post by gizmomelb »

ahh my mistake, guess I read it too fast and had too much wishful thinking :)

gizmomelb
Posts: 26
Joined: Mon Oct 30, 2006 2:33 pm
Location: Melbourne, Australia

Post by gizmomelb »

Hi Jeff/Torlus,

I just wanted to get in early and say a HUGE THANK YOU for all the work you've done, especially with the new project pics you posted recently (I won't spoil the surprise and let you make the announcement)!

The new 'thing' looks to be EXACTLY what I was hoping for :) I was especially surprised and pleased to see you used a PIC18F4523 and not an FPGA! Much easier to program and develop for.

Cheers!
Gizmomelb

Jeff
Site Admin
Posts: 8093
Joined: Fri Oct 20, 2006 12:12 am
Location: Paris
Contact:

Post by Jeff »

<<I was especially surprised and pleased to see you used a PIC18F4523 and not an FPGA! Much easier to program and develop for. >>
i don't agree with that : FPGA is far more Flexible and powerful than MCU. Choose an MCU to do this task is the "hard way",

Since MCU generally have an slow SPI bus, and can only do one task in the same time, to make an floppy emulator with this kind of device we have to find some "trick" .

Actually it seems to me that JTAG based device are easiest to program than the PIC18f4525 : Actually i didn't found free software that support this MCU (icprog and PP18 don't support it). i need to buy a new microchip programmer...

The only advantage of using an MCU like the PIC18f4525 is the availability and the case format (PDIP), which allow anyone to make is own floppy emulator easily.

Since this may not work as excepted, no official announcement for the moment…

Jeff
Site Admin
Posts: 8093
Joined: Fri Oct 20, 2006 12:12 am
Location: Paris
Contact:

Post by Jeff »

Jeff wrote:
[...]
Since this may not work as excepted, no official announcement for the moment…
finally it works :)

Image

Image

Post Reply