TF CD32 Riser Revision 2 Design Complete

TF CD32 Riser

Moderators: terriblefire, Terriblefire Moderator

User avatar
alexh
Posts: 712
Joined: Tue Oct 17, 2017 4:51 pm
Location: Oxfordshire

Re: TF CD32 Riser Revision 2 Design Complete

Post by alexh »

terriblefire wrote: Thu Oct 29, 2020 1:31 pmThe most significant issue is how to select a floppy disk image.... options...

1. implement some kind of display a'la gotek.
2. some kind of OSD overlay (needs a board respin).
3. dont display anything.
When Jeff of HxC was creating the first stand alone FDDE we discussed many times the aesthetics of the interface. I thought multiple buttons and a screen plus butchering your case was not the way to go when you have a keyboard, mouse and TV screen. Jeff created a default boot disk, the Amiga version was named SELECTOR.ADF, with a native host program on it which is a file selector where you could queue your disk images. The information sent to the FDDE though the floppy disk interface. The only HW needed was one button (eject) to cycle through the queued disks and a long press to go back to default boot disk. The program for Amgas is still available and being updated and even the source for the command set is available I think because support for it was added to flashfloppy. Might be the way to go?
Principal ASIC Engineer - SystemVerilog, VHDL
Thalion Webshrine - http://thalion.atari.org
STf,STfm,STe,MegaST,MegaSTe,Falcon060
A500+,A600,A4000/060,CD32,CDTV
terriblefire
Moderator Team
Moderator Team
Posts: 5389
Joined: Mon Aug 28, 2017 10:56 pm
Location: Glasgow, UK

Re: TF CD32 Riser Revision 2 Design Complete

Post by terriblefire »

alexh wrote: Fri Oct 30, 2020 7:41 am
terriblefire wrote: Thu Oct 29, 2020 1:31 pmThe most significant issue is how to select a floppy disk image.... options...

1. implement some kind of display a'la gotek.
2. some kind of OSD overlay (needs a board respin).
3. dont display anything.
When Jeff of HxC was creating the first stand alone FDDE we discussed many times the aesthetics of the interface. I thought multiple buttons and a screen plus butchering your case was not the way to go when you have a keyboard, mouse and TV screen. Jeff created a default boot disk, the Amiga version was named SELECTOR.ADF, with a native host program on it which is a file selector where you could queue your disk images. The information sent to the FDDE though the floppy disk interface. The only HW needed was one button (eject) to cycle through the queued disks and a long press to go back to default boot disk. The program for Amgas is still available and being updated and even the source for the command set is available I think because support for it was added to flashfloppy. Might be the way to go?
Something with this level of simplicity is the way to go for sure. But this has got me thinking... there are a couple of complications on the CD32.

Firstly you dont always want a disk to be inserted. Infact you'd kinda want it to not be inserted by default as you'd expect a CD32 to want to boot from CD by default.

Secondly we dont always have a keyboard attached to a CD32. So maybe we want to look for a particular button on the controller being held down at boot time to activate the OSD and then subsequent short presses to cycle through disks.

I'm leaning more towards an overlay OSD. Its one of the reasons i wanted a buffer chip on the riser. The buffer isnt there to make video better. Its there to protect the Amiga chipset.
———
"It is not necessarily a supply voltage at no load, but the amount of current it can provide when touched that
indicates how much hurting you shall receive."
User avatar
arkadiusz.makarenko
Moderator Team
Moderator Team
Posts: 1208
Joined: Wed Jun 19, 2019 7:36 am
Location: Edinburgh

Re: TF CD32 Riser Revision 2 Design Complete

Post by arkadiusz.makarenko »

I have cleaned project rebuild it tidy up some code and now works ok again. Don't have clue why this happened. :(
Do not trust people. They are capable of greatness.
~ Stanislaw Lem
terriblefire
Moderator Team
Moderator Team
Posts: 5389
Joined: Mon Aug 28, 2017 10:56 pm
Location: Glasgow, UK

Re: TF CD32 Riser Revision 2 Design Complete

Post by terriblefire »

arkadiusz.makarenko wrote: Fri Oct 30, 2020 12:41 pm I have cleaned project rebuild it tidy up some code and now works ok again. Don't have clue why this happened. :(
Excellent. The new boards are still in Germany. Will post you them when they arrive.
———
"It is not necessarily a supply voltage at no load, but the amount of current it can provide when touched that
indicates how much hurting you shall receive."
User avatar
arkadiusz.makarenko
Moderator Team
Moderator Team
Posts: 1208
Joined: Wed Jun 19, 2019 7:36 am
Location: Edinburgh

Re: TF CD32 Riser Revision 2 Design Complete

Post by arkadiusz.makarenko »

@terriblefire
Have you happen to seen any source on how amiga floppy interface work? I would need to understand it a little bit better.
Do not trust people. They are capable of greatness.
~ Stanislaw Lem
terriblefire
Moderator Team
Moderator Team
Posts: 5389
Joined: Mon Aug 28, 2017 10:56 pm
Location: Glasgow, UK

Re: TF CD32 Riser Revision 2 Design Complete

Post by terriblefire »

arkadiusz.makarenko wrote: Fri Oct 30, 2020 4:49 pm @terriblefire
Have you happen to seen any source on how amiga floppy interface work? I would need to understand it a little bit better.
The Amiga Hardware Reference manual has info on how to interface to the floppy drive. Its pretty simple really.
———
"It is not necessarily a supply voltage at no load, but the amount of current it can provide when touched that
indicates how much hurting you shall receive."
User avatar
arkadiusz.makarenko
Moderator Team
Moderator Team
Posts: 1208
Joined: Wed Jun 19, 2019 7:36 am
Location: Edinburgh

Re: TF CD32 Riser Revision 2 Design Complete

Post by arkadiusz.makarenko »

So by reading and setting values from register we know what data to send, and then send it using /DKRD.
How do I clock this data?
Do not trust people. They are capable of greatness.
~ Stanislaw Lem
User avatar
arkadiusz.makarenko
Moderator Team
Moderator Team
Posts: 1208
Joined: Wed Jun 19, 2019 7:36 am
Location: Edinburgh

Re: TF CD32 Riser Revision 2 Design Complete

Post by arkadiusz.makarenko »

HA!

CD32 buttons are working (in principle / prototype), gamepad is still not detected correctly by ATK(need to set up gamepad id in button sequence), but switching to cd32 sort of works, and serializing as well :)

Now few days to rationalize it, and allow both ports to be used as cd32 controllers.
Do not trust people. They are capable of greatness.
~ Stanislaw Lem
terriblefire
Moderator Team
Moderator Team
Posts: 5389
Joined: Mon Aug 28, 2017 10:56 pm
Location: Glasgow, UK

Re: TF CD32 Riser Revision 2 Design Complete

Post by terriblefire »

arkadiusz.makarenko wrote: Fri Oct 30, 2020 7:57 pm So by reading and setting values from register we know what data to send, and then send it using /DKRD.
How do I clock this data?
Its a self clocking MFM signal

https://en.wikipedia.org/wiki/Modified_ ... modulation

and from

http://amigadev.elowar.com/read/ADCD_2. ... e015C.html
When data is MFM encoded, the encoding is performed on the basis of a data
block-size. In the sector encoding described above, there are bytes
individually encoded; three segments of 4 bytes of data each, treated as
longwords; one segment of 16 bytes treated as a block; two segments of
longwords for the header and data checksums; and the data area of 512
bytes treated as a block.

When the data is encoded, the odd bits are encoded first, then the even
bits of the block.

The procedure is: Make a block of bytes formed from all odd bits of the
block, encode as MFM. Make a block of bytes formed from all even bits of
the block, encode as MFM. Even bits are shifted left one bit position
before being encoded.

The raw MFM data that must be presented to the disk controller will be
twice as large as the unencoded data. The relationship is:

1 -> 01
0 -> 10 ;if following a 0
0 -> 00 ;if following a 1

With clever manipulation, the blitter can be used to encode and decode the
MFM.
But i would expect that flash floppy will have code to take a disk format and make an MFM bitstream from it.

The reason the bitstream is self clocking is because it ends up being written on a disk that has different linear speeds at different points on the disk.
———
"It is not necessarily a supply voltage at no load, but the amount of current it can provide when touched that
indicates how much hurting you shall receive."
User avatar
arkadiusz.makarenko
Moderator Team
Moderator Team
Posts: 1208
Joined: Wed Jun 19, 2019 7:36 am
Location: Edinburgh

Re: TF CD32 Riser Revision 2 Design Complete

Post by arkadiusz.makarenko »

Make sense. Thank you.
Flashfloppy is massive, need to know exactly what to look for.
Do not trust people. They are capable of greatness.
~ Stanislaw Lem
Post Reply

Return to “TF CD32 Riser”