Page 13 of 60
Re: TF CD32 Riser Revision 2 Design Complete
Posted: 14 May 2020 21:56
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.
Re: TF CD32 Riser Revision 2 Design Complete
Posted: 15 May 2020 21:20
by terriblefire
Right i'm gonna give this a whirl.
Re: TF CD32 Riser Revision 2 Design Complete
Posted: 15 May 2020 23:43
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.
Re: TF CD32 Riser Revision 2 Design Complete
Posted: 16 May 2020 11:09
by terriblefire
CD32 resets every time i press a key. Something isnt 100%
Re: TF CD32 Riser Revision 2 Design Complete
Posted: 16 May 2020 12:05
by arkadiusz.makarenko
terriblefire wrote: 16 May 2020 11:09
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.
Re: TF CD32 Riser Revision 2 Design Complete
Posted: 16 May 2020 12:13
by terriblefire
arkadiusz.makarenko wrote: 16 May 2020 12:05
terriblefire wrote: 16 May 2020 11:09
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.
Re: TF CD32 Riser Revision 2 Design Complete
Posted: 16 May 2020 13:23
by terriblefire
terriblefire wrote: 16 May 2020 12:13
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
Re: TF CD32 Riser Revision 2 Design Complete
Posted: 16 May 2020 15:08
by arkadiusz.makarenko
terriblefire wrote: 16 May 2020 13:23
terriblefire wrote: 16 May 2020 12:13
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...
Re: TF CD32 Riser Revision 2 Design Complete
Posted: 16 May 2020 17:03
by terriblefire
Mine was crashing using DiagROM too. :/
Re: TF CD32 Riser Revision 2 Design Complete
Posted: 16 May 2020 20:39
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.