TF CD32 Riser Revision 2 Design Complete
Moderators: terriblefire, Terriblefire Moderator
- arkadiusz.makarenko
- Moderator Team
- Posts: 1208
- Joined: Wed Jun 19, 2019 7:36 am
- Location: Edinburgh
Re: TF CD32 Riser Revision 2 Design Complete
CD32 gamepad button support has been implemented.
The only thing is that ATK doesn't detect it. (Buttos still can be tested though, but message on the bottom of the screen say not detected). It is looking at 7+ bits and is looking for gamepad id. I do provide it, but this still doesn't do the trick.
It don't think it is relevant to games anyway.
Now it is time to test it in real life.
The only thing is that ATK doesn't detect it. (Buttos still can be tested though, but message on the bottom of the screen say not detected). It is looking at 7+ bits and is looking for gamepad id. I do provide it, but this still doesn't do the trick.
It don't think it is relevant to games anyway.
Now it is time to test it in real life.
Do not trust people. They are capable of greatness.
~ Stanislaw Lem
~ Stanislaw Lem
Re: TF CD32 Riser Revision 2 Design Complete
Just letting you know that this thread so far has reached more than 32 thousand views!!!
Re: TF CD32 Riser Revision 2 Design Complete
And if you have a board to spare, then I can relieve you of it (paid for, of course)
- arkadiusz.makarenko
- Moderator Team
- Posts: 1208
- Joined: Wed Jun 19, 2019 7:36 am
- Location: Edinburgh
Re: TF CD32 Riser Revision 2 Design Complete
... Yes 2/3 of this traffic is me reading left by TF notes, over and over again
Do not trust people. They are capable of greatness.
~ Stanislaw Lem
~ Stanislaw Lem
- arkadiusz.makarenko
- Moderator Team
- Posts: 1208
- Joined: Wed Jun 19, 2019 7:36 am
- Location: Edinburgh
Re: TF CD32 Riser Revision 2 Design Complete
Mouse clicks do not work in Syndicate (and Populus ... so I assume all Bulfrog games) for some reason.
It may be the same like with Turrican gamepad directions... some unusual math for button calculations.
It may be the same like with Turrican gamepad directions... some unusual math for button calculations.
Do not trust people. They are capable of greatness.
~ Stanislaw Lem
~ Stanislaw Lem
- arkadiusz.makarenko
- Moderator Team
- Posts: 1208
- Joined: Wed Jun 19, 2019 7:36 am
- Location: Edinburgh
Re: TF CD32 Riser Revision 2 Design Complete
OK, next weirdness solved!
Bullfrog games (and I assume old titles) might be looking for CIAAPRA values not in BFE001, but BFE0FF - which would be visible in my 5 Address decode as 3F... Took me a while to spot it, even if I did see Bullfrog example assembly to read clicks online, just failed my math, and I wrongly decoded address for 1F, not 3F ...
OK I have seen some more weirdness in ATK that this register might be located in shadow register under address BFE003 ...<- I will ignore this for now.
Bullfrog games (and I assume old titles) might be looking for CIAAPRA values not in BFE001, but BFE0FF - which would be visible in my 5 Address decode as 3F... Took me a while to spot it, even if I did see Bullfrog example assembly to read clicks online, just failed my math, and I wrongly decoded address for 1F, not 3F ...
OK I have seen some more weirdness in ATK that this register might be located in shadow register under address BFE003 ...<- I will ignore this for now.
Do not trust people. They are capable of greatness.
~ Stanislaw Lem
~ Stanislaw Lem
- arkadiusz.makarenko
- Moderator Team
- Posts: 1208
- Joined: Wed Jun 19, 2019 7:36 am
- Location: Edinburgh
Re: TF CD32 Riser Revision 2 Design Complete
To get most floppy signals I need to do one more CIA register.
I am not sure about DSKINDEX and MTR0
I am not sure about DSKINDEX and MTR0
Code: Select all
FLAG DSKINDEX* Disk index pulse ($BFDD00, bit 4). Can be used to
create a level 6 interrupt.
Code: Select all
22 INDEX* I/O Index is a pulse generated once per disk revolution,
between the end and beginning of cylinders. The
8520 can be programmed to conditionally generate a
level 6 interrupt to the 680x0 whenever the INDEX*
input goes active.
Code: Select all
BFE001 pra /FIR1 /FIR0 /RDY /TK0 /WPRO /CHNG /LED OVL
BFD100 prb /MTR /SEL3 /SEL2 /SEL1 /SEL0 /SIDE DIR /STEP
CHNG - CIAAPRA BFE001
INUSE - not connected
INDEX - _FLAF CIA $BFDD00
SEL0 - CIABPRB BFD100
MTR0 - _MTR ? CIABPRB BFD100
DIR - CIABPRB BFD100
STEP - CIABPRB BFD100
DKWD - STM32 pin
DKWE - STM32 pin
TK0 - CIAAPRA BFE001
WPRO - CIAAPRA BFE001
DKRD - STM32
SIDE - CIABPRB BFD100
RDY - CIAAPRA BFE001
Do not trust people. They are capable of greatness.
~ Stanislaw Lem
~ Stanislaw Lem
-
- Moderator Team
- Posts: 5389
- Joined: Mon Aug 28, 2017 10:56 pm
- Location: Glasgow, UK
Re: TF CD32 Riser Revision 2 Design Complete
Not sure you strictly need DSKINDEX but you would send it before you start sending data. its meant to help disks sync when they see an index MFM magic number from memory. i.e. start of a track ?
———
"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."
"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."
- arkadiusz.makarenko
- Moderator Team
- Posts: 1208
- Joined: Wed Jun 19, 2019 7:36 am
- Location: Edinburgh
Re: TF CD32 Riser Revision 2 Design Complete
Based on this project : http://aminet.net/package/docs/hard/cd3 ... y#contentsterriblefire wrote: ↑Sun Nov 01, 2020 8:39 pm Not sure you strictly need DSKINDEX but you would send it before you start sending data. its meant to help disks sync when they see an index MFM magic number from memory. i.e. start of a track ?
Index is generally not used except few cases...
Similar with Motor On signal... we don't have motor so why we would need motor control signals
Do not trust people. They are capable of greatness.
~ Stanislaw Lem
~ Stanislaw Lem
-
- Moderator Team
- Posts: 5389
- Joined: Mon Aug 28, 2017 10:56 pm
- Location: Glasgow, UK
Re: TF CD32 Riser Revision 2 Design Complete
You can simply pulse the index before you start sending a tracks worth of MFM data. That would do the job.arkadiusz.makarenko wrote: ↑Sun Nov 01, 2020 9:16 pmBased on this project : http://aminet.net/package/docs/hard/cd3 ... y#contentsterriblefire wrote: ↑Sun Nov 01, 2020 8:39 pm Not sure you strictly need DSKINDEX but you would send it before you start sending data. its meant to help disks sync when they see an index MFM magic number from memory. i.e. start of a track ?
Index is generally not used except few cases...
cd32floppydrive.png
Similar with Motor On signal... we don't have motor so why we would need motor control signals
Motor on would indicate that you should periodically pulse the index and send a tracks worth of mfm. Really its just used by drivers so they know data is coming.
———
"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."
"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."