TF CD32 Riser Revision 2 Design Complete

TF CD32 Riser

Moderators: terriblefire, Terriblefire Moderator

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 »

As I didn't expect, not all keyboards are made equal. Mouse/Keyboard combo registers 6 buttons correctly as expected.
Ultra cheap ASDA and DELL keyboard can do only 4 buttons correctly.
I have slapped code which ignores error report, and just repeats previous recorded keys.

Depress button issue is non issue in workbench. In AmigaKit buttons appear white, but Shell just treat them as pressed for a second or so, and it just carry on. I though it will be registered as constant pressed. I think it may not be perfect, but it is bloody good enough.

I have pushed changes to repository. I think at this point it is ready to be tested.
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 »

Right i'm gonna give this a whirl.
———
"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."
Higgy
Posts: 405
Joined: Tue Apr 23, 2019 8:05 pm
Location: Somerset

Re: TF CD32 Riser Revision 2 Design Complete

Post by Higgy »

A good test for the 'feel' of the keyboard performance might be with a pinball game like Pinball Dreams etc. See if it feels different from a normal keyboard AMIGA/cd32 set up.
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 »

CD32 resets every time i press a key. Something isnt 100%
———
"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 wrote: Sat May 16, 2020 11:09 am CD32 resets every time i press a key. Something isnt 100%
Damn. Which line is responsible for reset in cd32? Maybe it is not released after keypress, and Amiga 500 doesn't care about it.
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: Sat May 16, 2020 12:05 pm
terriblefire wrote: Sat May 16, 2020 11:09 am CD32 resets every time i press a key. Something isnt 100%
Damn. Which line is responsible for reset in cd32? Maybe it is not released after keypress, and Amiga 500 doesn't care about it.
Keyboard controller does all the resets on the CD32. Keyboard init causes reset. Thats why when you plug in a keyboard it reboots.
———
"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."
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 »

terriblefire wrote: Sat May 16, 2020 12:13 pm Keyboard controller does all the resets on the CD32. Keyboard init causes reset. Thats why when you plug in a keyboard it reboots.
Checking we send these codes?

Code: Select all

// **************************
void amikb_startup(void)
{
	uint8_t AMIGA_INITPOWER = 0xFD; //11111101
	uint8_t AMIGA_TERMPOWER = 0xFE; //11111110

	DBG_N("Enter\r\n");

	// De-assert nRESET for Amiga...
	amikb_reset();

	amikb_direction(DAT_OUTPUT); // Default

	mdelay(1000);              // wait for sync
	amikb_send((uint8_t) AMIGA_INITPOWER, 0); // send "initiate power-up"
	udelay(200);
	amikb_send((uint8_t) AMIGA_TERMPOWER, 0); // send "terminate power-up"

	DBG_N("Exit\r\n")
}
Best reference i have for Amiga keyboard controller is ...

https://github.com/gianlucarenzi/stalkb
———
"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 wrote: Sat May 16, 2020 1:23 pm
terriblefire wrote: Sat May 16, 2020 12:13 pm Keyboard controller does all the resets on the CD32. Keyboard init causes reset. Thats why when you plug in a keyboard it reboots.
Checking we send these codes?

Code: Select all

// **************************
void amikb_startup(void)
{
	uint8_t AMIGA_INITPOWER = 0xFD; //11111101
	uint8_t AMIGA_TERMPOWER = 0xFE; //11111110

	DBG_N("Enter\r\n");

	// De-assert nRESET for Amiga...
	amikb_reset();

	amikb_direction(DAT_OUTPUT); // Default

	mdelay(1000);              // wait for sync
	amikb_send((uint8_t) AMIGA_INITPOWER, 0); // send "initiate power-up"
	udelay(200);
	amikb_send((uint8_t) AMIGA_TERMPOWER, 0); // send "terminate power-up"

	DBG_N("Exit\r\n")
}
Best reference i have for Amiga keyboard controller is ...

https://github.com/gianlucarenzi/stalkb
That was I use.

On my cd32 keyboard does work, but is feels a little unresponsive on Diagrom, but doesn't reset computer on pressed key.
Ctr+Alt+Del does work as reset...

Keyboard init is executed on arm start now.

I need to run normal os...
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 »

Mine was crashing using DiagROM too. :/
———
"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 will push another version I removed reconfiguration of gpio to input, shortened clock pulses shortened data init singal a little etc. It is not as snippy as on A500, but does the job on my cd32.
Attachments
20200516_203155.jpg
20200516_203155.jpg (253.86 KiB) Viewed 3399 times
Do not trust people. They are capable of greatness.
~ Stanislaw Lem
Post Reply

Return to “TF CD32 Riser”