02 December 2008, 01:48 | #61 | |
Registered User
Join Date: Oct 2008
Location: san francisco/usa
Posts: 176
|
Quote:
The only tweak comes with the amount of RAM you have available on chip and the timer precision. Most small microcontrollers (lower than ARM SoCs) usually don't have PLL clock multipliers and are designed to use teeny power and be cheap rather than wind up fast. Also 8 bit MCUs are just tediously inefficient in many ways compared to arm; writing some assembler for my Atmega board here reminds me of the Amstrad days. Do you remember how tedious it is to add one to a 32 bit number with only 8-bit registers? ;-) ARMs rule in general, but ARM SoCs perform particularly well b/c they wind up to mad clock speeds via the aftorementioned PLL, have proper 32-bit registers, and usually have 32-bit single-cycle SRAM all on chip. They have a chaming ability to overclock (purely in software- yay) because nothing fast ever leaves the chip itself. In our case (no peripherals except USB) I'm hopeful we can run it at 96Mhz and it probably won't even get perceptably warm to the touch. Mainly though, they're cheap and extremely easy to wire up. You could probably even do this whole shebang on a single-sided PCB with one chip, two connectors (usb+floppy), a couple of decoupling caps and a crystal if you were sneaky with the routing. Oh yes one final thought re floppy emulator; errrrm yes I think we can make cyclone20 work seamlessly as both drive controller and emulated drive. Potentially I think everything can be done in software (just changing direction of a few of the lines) although actually you'd probably want to swap the read and write lines (two wires) over when pretending to be a drive as those two IO ports have Special Powers. Last edited by RichAplin; 02 December 2008 at 06:42. |
|
02 December 2008, 08:44 | #62 | |||
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,553
|
Quote:
Quote:
Quote:
|
|||
02 December 2008, 10:27 | #63 | |
Registered User
Join Date: Oct 2008
Location: san francisco/usa
Posts: 176
|
Quote:
Anyway, joy! I was just rummaging around in my nostalgia box and lo! An original A500 workbench disk! ;-) I _knew_ I kept that around for some reason. Better yet, it appears that I didn't reformat it for a PC in the intervening two decades because running with my prototype board as seen in previous pics it looks like it has lovely clean Trace-duplicator-style data bits on it. Yay amiga disk! Ok maybe I'll go on the hunt for some 4489's.. I bet there's some on there somewhere... ;-) I wrote a bit of C# code today to draw graphs of bitcell distributions. It's... well... it's an acquired taste. Don't use this video to try and get the wife interested in your hobby... [ Show youtube player ] Last edited by RichAplin; 02 December 2008 at 12:07. |
|
02 December 2008, 16:58 | #64 |
Cheesy crust
Join Date: Nov 2008
Location: Hawk's Creek
Age: 48
Posts: 1,383
|
I like this video. ;-)
|
02 December 2008, 19:58 | #65 |
Registered User
Join Date: Jun 2008
Location: planet earth
Posts: 1,115
|
i'd say too, this isnt that boring at all. looks like some real progress.
|
02 December 2008, 22:41 | #66 | |
Turpentine
Join Date: Oct 2007
Location: Kent, United Kingdom
Posts: 744
|
Quote:
Maybe someone could donate one |
|
02 December 2008, 23:32 | #67 |
Cheesy crust
Join Date: Nov 2008
Location: Hawk's Creek
Age: 48
Posts: 1,383
|
We're already collecting disk to test. I am coordinating the collection for Germany, but anyone from Europe or even elsewhere is invited to send something in. Just plain formatted disks will help (to differentiate between different models), but also copies made with the Cyclone + hardware dongle on a real Amiga + ADFs copied to disk.
Please PM me if you want to help. Thanks Chris |
02 December 2008, 23:49 | #68 |
Turpentine
Join Date: Oct 2007
Location: Kent, United Kingdom
Posts: 744
|
Will you not have to buffer the data if you want to read HD disks? The Amiga reads it at the same rate of DD disks hence the Amiga HD drives spinning at 150RPM too.
|
03 December 2008, 00:23 | #69 |
Registered User
Join Date: Oct 2008
Location: san francisco/usa
Posts: 176
|
Hey joy, I'm an idiot.
My math was wrong (I thought it was odd) and the 64k RAM will be just fine (at least for normal density disks); Ok so the only legal combinations of bits off a disk are; "[1]01" - 2 x 2us = 4us interval "[1]001" 6us interval "[1]0001" 8us interval And this is what we see in the video I put up; three distinct peaks, corresponding to those combinations. Mkay so if the track is 200,000us long, and our bits as shown above are 2us apart, we have 100,000 bits. Let's say 110k to account for long tracks. If every bit pair is "[1]01" we'll have one transition per two bits, so 55k transitions, so 55kbytes. That's the absolutely worst case (and of course a track like that compresses well) Other cases get progressively better of course (1:3, 1:4 etc). So, the RAM thing should be no problem with 64k, (we'd only have to get jiggy if we're reading/writing high density disks, and even then only if we're in 'raw' mode (i.e. sending one byte per transition)) Yay! Eclipse: Yes we would, but we can do the buffering on the PC side where life is easy. Does anybody care about amiga HD disks? I doubt anyone did any copy protection on them anyway(!), and we'll be able to read+write known-format ones fine. (with a known format you just decode to MFM bits instead of storing each bit timing, so less data, a track will fit in RAM) Last edited by RichAplin; 03 December 2008 at 13:02. |
03 December 2008, 00:39 | #70 |
CaptainM68K-SPS France
|
Hey Rich, one question, since you know well about making disk protection, we have actually 4 games from Psygnosis using an unknown format.
These games are Obitus, Nitro, armour geddon, don't remember the last one. I personally think that since the amiga support GCR reading in hardware, this could be the answer. The GCR format allows a way way bigger disk format, could you have a look and check them or confirm what kind of format it is ? |
03 December 2008, 01:23 | #71 | |
Registered User
Join Date: Oct 2008
Location: san francisco/usa
Posts: 176
|
The SPS guys will know what it is (assuming they have the image), so perhaps they'd like to comment?
BTW using anything other than MFM is I think very unlikely. Rich. Quote:
|
|
03 December 2008, 02:51 | #72 |
Registered User
Join Date: Oct 2008
Location: san francisco/usa
Posts: 176
|
Heh so I got MFM decoding working. Look what I found on my test disk... not seen this in a while... ;-)
echo "A500/A2000 Workbench disk. Release 1.2 version 33.50*N" echo "sample Startup-Sequence for use with a Hard Disk with Workbench installed" BindDrivers IF EXISTS sys:system path sys:system add ENDIF IF EXISTS sys:utilities path sys:utilities add ENDIF SetMap usa1 dir ram: path ram: add addbuffers df0: 20 failat 25 assign >NIL: dh0: IF FAIL echo "Transfering control to DH0:*N" path reset assign SYS: dh0: if exists: dh0:c assign C: SYS:c endif if exists: dh0:l assign L: yay disk reading! Next, writing. and long tracks. and stuff. Oh, and my real frickin ARM board, this Atmel is cute but wimpy. |
03 December 2008, 09:05 | #73 |
Cheesy crust
Join Date: Nov 2008
Location: Hawk's Creek
Age: 48
Posts: 1,383
|
Well, I'd call that a boring startup-sequence... I just don't remember well, but I think you should take a look at that one from Double Dragon II. *sfg* Sorry, could not resist.
Well, congrats. Looks like this thing is coming together. Can't await the board arriving here. Best, Chris PS: Sorry for any typos. My 2 year old son just *likes* hitting keys. |
03 December 2008, 10:40 | #74 |
Registered User
Join Date: Jun 2008
Location: planet earth
Posts: 1,115
|
thats means, you were able to dump a whole amiga disk, and decode/access its contents already? what kind of format is the raw dump (well, i'm obviosly missing some technical knowledge...)
|
03 December 2008, 10:58 | #75 |
Needs a life
Join Date: Jan 2008
Location: England
Posts: 1,707
|
Good grief, I can't believe the progress you've made.
Seriously, congratulations - that's a fantastic step! |
03 December 2008, 12:21 | #76 | |
Moderator
Join Date: Jan 2003
Location: ...
Age: 52
Posts: 1,838
|
Quote:
Just for 4 games it's not worth supporting a new physical encoder as well as decoder. Saved for a very rainy day. http://www.softpres.org/wip:2003-04-04?s=5 See "Psygnosis Recording Format" |
|
03 December 2008, 12:27 | #77 |
Moderator
Join Date: Jan 2003
Location: ...
Age: 52
Posts: 1,838
|
You should have er... about 111200 bits for a long track that is still readable on an Amiga.
|
03 December 2008, 12:28 | #78 |
Registered User
Join Date: Sep 2005
Location: melbourne
Age: 55
Posts: 541
|
just for interests sake - this guy has been working on a USB Amiga floppy drive adapter for the past coulple of years, his notes and java code is quite an interesting read at least.
http://www.techtravels.org/amiga/amigablog/?cat=2 |
03 December 2008, 12:49 | #79 | |
Registered User
Join Date: Oct 2008
Location: san francisco/usa
Posts: 176
|
Quote:
If you saw the legendarily boring youtube video, what was being displayed was the temporary Atmel chip prototype measuring the bit timings off a Workbench disk. I have the atmel connected to a windows app via a USB-to-serial cable. This particulary RS232 serial connection I have will only reliably run at 1mbps (heh, 'only'), so it's not fast enough to send a whole 8-bit time measurement for every bit transition on the disk, which is the crazy, insanely perfect deluxe way to do it. This temporary CPU is only barely fast enough also to read and process the measurements. However, it works, so I did the 'crappy' option as a hack and instead of sending the precise measurement of each bit transition back to the PC (as we intend to do on the USB version) it just approximates the timing into two bits (00='101', 01='1001', 10='10001' and 11='WTF?' for bad bits) and sends that instead. This lowers the data rate enough that you can spit it out over 1mbps serial - remember the crappychip doesn't have enough ram for a useful buffer, it has to go out 'live' - so that's what it does. My windows app grabs the data, and about 150 lines of c# code is enough to find the sync marks and decode the MFM into real sector data. I dumped the whole disk's worth of 512-byte sectors to a file, and scrolled through it with a text editor for a laugh. What I pasted above was one of the more obvious bits of random text i found in the raw disk image - something that looks like a hard disk startup-sequence (or at least one sector of it). Decoding Amigados sectors from MFM is very straightforward, and lo, out pops the disk data. Reconstructing it into a navigable/readable file system is a bit more work and is probably a good project for someone else. Short answer: Yes. Last edited by RichAplin; 03 December 2008 at 13:51. |
|
03 December 2008, 13:36 | #80 |
Registered User
Join Date: Oct 2008
Location: san francisco/usa
Posts: 176
|
BTW, the SPS has done a lot of good work IMHO;
I heard there was interest in 'watermarking' disks written with a modern device (e.g. cyclone20) so that SPS and other software archeologists would be able to readily detect them and not bother rescanning them or whatever. I think that's a good idea - with the tools we have now we can easily (I think) modulate the track timing in such a way that provably no old hardware can detect it, yet a machine capable of measuring precise (e.g. 50ns) shifts would know it wasn't an original. This would also be a test built into the cyclone software, and no personally identifable information would be in the mark - it might simply be a light that comes on in Cyclone. "Is this a 1989 original, or is it a recent re-write?" Yes/No. No DRM is intended, I think it's respectful to software archaeologists and perhaps to deter casual forgery, e.g. people selling fake disks on ebay. The latter presumes that (a) Original copies of floppy disk games will become desirable items beyond nostalgic 30-somethings, and (b) forgers won't be able to take out the watermarking functions from the (open source) ARM code. ;-) Anyway, I like the archaeology concept, it makes all this stuff sound more Indiana Jones. Last edited by RichAplin; 03 December 2008 at 14:02. |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Watch out for our competition to win the new Cyclone VX PS gamepad 2 Amiga controller | Mounty | Retrogaming General Discussion | 0 | 15 August 2013 08:21 |
idea about WinUAE-based tool | vulture | support.WinUAE | 12 | 15 February 2013 20:15 |
KryoFlux USB Floppy Controller (was: C2 DiskSystem) | IFW | project.SPS (was CAPS) | 146 | 27 June 2010 17:07 |
Homemade controller/joystick? | DrF | support.Hardware | 5 | 27 August 2007 11:48 |
Amiga nd the CatWeasel Floppy Disk Controller | wibble82 | support.Hardware | 4 | 17 May 2002 20:13 |
|
|