TF CD32 Riser Revision 2 Design Complete

68030 + SDRAM + IDE

Moderators: terriblefire, Terriblefire Moderator

User avatar
arkadiusz.makarenko
Trusted Guru
Trusted Guru
Posts: 712
Joined: Wed Jun 19, 2019 7:36 am
Location: Edinburgh

Re: TF CD32 Riser Revision 2 Design Complete

Post by arkadiusz.makarenko » Sat Oct 31, 2020 12:56 pm

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.
Do not trust people. They are capable of greatness.
~ Stanislaw Lem

matt020
Posts: 167
Joined: Sun Sep 29, 2019 9:17 am
Location: West Australia

Re: TF CD32 Riser Revision 2 Design Complete

Post by matt020 » Sat Oct 31, 2020 1:04 pm

Just letting you know that this thread so far has reached more than 32 thousand views!!!

theq
Posts: 92
Joined: Tue Dec 18, 2018 7:16 pm
Location: North of the Wall

Re: TF CD32 Riser Revision 2 Design Complete

Post by theq » Sat Oct 31, 2020 1:09 pm

And if you have a board to spare, then I can relieve you of it (paid for, of course) ;)

User avatar
arkadiusz.makarenko
Trusted Guru
Trusted Guru
Posts: 712
Joined: Wed Jun 19, 2019 7:36 am
Location: Edinburgh

Re: TF CD32 Riser Revision 2 Design Complete

Post by arkadiusz.makarenko » Sat Oct 31, 2020 4:40 pm

matt020 wrote:
Sat Oct 31, 2020 1:04 pm
Just letting you know that this thread so far has reached more than 32 thousand views!!!
... Yes 2/3 of this traffic is me reading left by TF notes, over and over again :D
Do not trust people. They are capable of greatness.
~ Stanislaw Lem

User avatar
arkadiusz.makarenko
Trusted Guru
Trusted Guru
Posts: 712
Joined: Wed Jun 19, 2019 7:36 am
Location: Edinburgh

Re: TF CD32 Riser Revision 2 Design Complete

Post by arkadiusz.makarenko » Sat Oct 31, 2020 8:18 pm

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.
Do not trust people. They are capable of greatness.
~ Stanislaw Lem

User avatar
arkadiusz.makarenko
Trusted Guru
Trusted Guru
Posts: 712
Joined: Wed Jun 19, 2019 7:36 am
Location: Edinburgh

Re: TF CD32 Riser Revision 2 Design Complete

Post by arkadiusz.makarenko » Sun Nov 01, 2020 5:26 pm

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.
Do not trust people. They are capable of greatness.
~ Stanislaw Lem

User avatar
arkadiusz.makarenko
Trusted Guru
Trusted Guru
Posts: 712
Joined: Wed Jun 19, 2019 7:36 am
Location: Edinburgh

Re: TF CD32 Riser Revision 2 Design Complete

Post by arkadiusz.makarenko » Sun Nov 01, 2020 8:14 pm

To get most floppy signals I need to do one more CIA register.

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

terriblefire
Moderator Team
Moderator Team
Posts: 3470
Joined: Mon Aug 28, 2017 10:56 pm
Location: Glasgow, UK
Contact:

Re: TF CD32 Riser Revision 2 Design Complete

Post by terriblefire » 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 ?
———
I get cranky when asked to repeat myself.

User avatar
arkadiusz.makarenko
Trusted Guru
Trusted Guru
Posts: 712
Joined: Wed Jun 19, 2019 7:36 am
Location: Edinburgh

Re: TF CD32 Riser Revision 2 Design Complete

Post by arkadiusz.makarenko » Sun Nov 01, 2020 9:16 pm

terriblefire 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 ?
Based on this project : http://aminet.net/package/docs/hard/cd3 ... y#contents
Index is generally not used except few cases...
cd32floppydrive.png
cd32floppydrive.png (10.35 KiB) Viewed 1029 times
Similar with Motor On signal... we don't have motor so why we would need motor control signals :D
Do not trust people. They are capable of greatness.
~ Stanislaw Lem

terriblefire
Moderator Team
Moderator Team
Posts: 3470
Joined: Mon Aug 28, 2017 10:56 pm
Location: Glasgow, UK
Contact:

Re: TF CD32 Riser Revision 2 Design Complete

Post by terriblefire » Sun Nov 01, 2020 9:33 pm

arkadiusz.makarenko wrote:
Sun Nov 01, 2020 9:16 pm
terriblefire 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 ?
Based on this project : http://aminet.net/package/docs/hard/cd3 ... y#contents
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 :D
You can simply pulse the index before you start sending a tracks worth of MFM data. That would do the job.

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.
———
I get cranky when asked to repeat myself.

Post Reply

Return to “TF330”