Page 41 of 60
Re: TF CD32 Riser Revision 2 Design Complete
Posted: 30 Oct 2020 07:41
by alexh
terriblefire wrote: 29 Oct 2020 13:31The 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?
Re: TF CD32 Riser Revision 2 Design Complete
Posted: 30 Oct 2020 08:08
by terriblefire
alexh wrote: 30 Oct 2020 07:41
terriblefire wrote: 29 Oct 2020 13:31The 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.
Re: TF CD32 Riser Revision 2 Design Complete
Posted: 30 Oct 2020 12:41
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. :(
Re: TF CD32 Riser Revision 2 Design Complete
Posted: 30 Oct 2020 13:30
by terriblefire
arkadiusz.makarenko wrote: 30 Oct 2020 12:41
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.
Re: TF CD32 Riser Revision 2 Design Complete
Posted: 30 Oct 2020 16:49
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.
Re: TF CD32 Riser Revision 2 Design Complete
Posted: 30 Oct 2020 17:29
by terriblefire
arkadiusz.makarenko wrote: 30 Oct 2020 16:49
@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.
Re: TF CD32 Riser Revision 2 Design Complete
Posted: 30 Oct 2020 19:57
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?
Re: TF CD32 Riser Revision 2 Design Complete
Posted: 30 Oct 2020 22:42
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.
Re: TF CD32 Riser Revision 2 Design Complete
Posted: 31 Oct 2020 08:03
by terriblefire
arkadiusz.makarenko wrote: 30 Oct 2020 19:57
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.
Re: TF CD32 Riser Revision 2 Design Complete
Posted: 31 Oct 2020 09:00
by arkadiusz.makarenko
Make sense. Thank you.
Flashfloppy is massive, need to know exactly what to look for.