English Amiga Board


Go Back   English Amiga Board > Support > support.Hardware

 
 
Thread Tools
Old 19 May 2006, 19:37   #1
Duke
HOL-Team
 
Duke's Avatar
 
Join Date: Apr 2002
Location: Germany
Age: 43
Posts: 520
Send a message via ICQ to Duke
Undumped Amiga chips

As you may or may not know, the Amiga had a microcontroller as keyboard processor. This chip, a 6500/1 from MOS Technologies, has 2kb of internal ROM. Has this been dumped by anyone? Later Amiga's used the 68HC05, which has a read protection, so it's probably very hard to get a dump.

There is also another (to my knowledge) not dumped ROM chip used in Amigas: The LC6554H LCD controller in CDTV's.

A dump of those chips is needed for the Amiga emulation in MESS (and would maybe benefit WinUAE too).
Duke is offline  
Old 19 May 2006, 20:00   #2
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,518
Emulating keyboard controller is imho quite pointless (emulation won't be any more accurate with or without it, only slower) except if you want complete emulation for some reason..

Not dumped ROMs:

Action Replay II/III ROMs need "real" dumping. First 4 ROM locations can't be dumped with "may the force be with you"-method.
Toni Wilen is offline  
Old 19 May 2006, 20:35   #3
Duke
HOL-Team
 
Duke's Avatar
 
Join Date: Apr 2002
Location: Germany
Age: 43
Posts: 520
Send a message via ICQ to Duke
I agress, it is kinda pointless for WinUAE as there will be no user visible changes, but MESS, like MAME, is striving for the most accurate emulation (and to document the hardware), which of course includes the keyboard controller.

Last edited by Duke; 19 May 2006 at 20:43.
Duke is offline  
Old 20 May 2006, 13:01   #4
HymnsomniaK
Onezay Riendfay
 
HymnsomniaK's Avatar
 
Join Date: Apr 2006
Location: Portugal
Age: 45
Posts: 119
Well , I got an Amiga 500 with a CSG 6570-036 from 1985 and an Action Replay MKIII but is there any way to dump them ?
HymnsomniaK is offline  
Old 20 May 2006, 18:40   #5
jmmijo
Junior Member
 
jmmijo's Avatar
 
Join Date: Jan 2002
Location: PDX
Age: 62
Posts: 2,396
Quote:
Originally Posted by HymnsomniaK
Well , I got an Amiga 500 with a CSG 6570-036 from 1985 and an Action Replay MKIII but is there any way to dump them ?
I thought the only way to do a complete/correct dump of these kinds of (EE)PROM's was to remove them from their sockets or desolder them as the case maybe, and use a ROM Burner to read the data and dump this to a file.

I've read/heard of rom protection that destroys/erases the rom if you attempt to remove it from the circuit or if the battery onboard dies
jmmijo is offline  
Old 16 April 2020, 06:51   #6
ReadOnlyCat
Code Kitten
 
Join Date: Aug 2015
Location: Montreal/Canadia
Age: 52
Posts: 1,178
Thread, rise from your grave!

Quote:
Originally Posted by Duke View Post
As you may or may not know, the Amiga had a microcontroller as keyboard processor. This chip, a 6500/1 from MOS Technologies, has 2kb of internal ROM. Has this been dumped by anyone? Later Amiga's used the 68HC05, which has a read protection, so it's probably very hard to get a dump.
[...]
A dump of those chips is needed for the Amiga emulation in MESS (and would maybe benefit WinUAE too).
While tinkering with A500/A600 keyboard schematics and looking for official datasheets for the MOS 6570 keyboard controller I ended up on a post on the CBM-Hackers mailing list archive discussing the dump of its ROM.

The cbm-hackers guys have (in 2014, not exactly recent )

1) established that the 6570 is a 6502 + ROM
2) managed to dump its ROM:
http://cbm-hackers.2304266.n4.nabble...3p4659044.html

The approach (for a related chip, the MOS 6500/1) is described here:
http://e4aws.silverdr.com/hacks/6500_1/

A cursory search of "6570" on the EAB seemed to indicate that its ROM dump was only mentioned on your thread as a hypothesis so a necromancy seemed appropriate.

This is clearly very useful for accurate emulation and replacement of failing keyboards. MOS 6570 chips have become quite rare on eBay and cost above 40 USD so it's good that we now have everything that is needed to replace them should we need it.

Cheers
ReadOnlyCat is offline  
Old 17 April 2020, 22:34   #7
Daedalus
Registered User
 
Daedalus's Avatar
 
Join Date: Jun 2009
Location: Dublin, then Glasgow
Posts: 6,348
This is excellent stuff, and I wouldn't have known how to go about it... But wasn't it common knowledge all along that the keyboard controller was a 6502 core with some ROM and RAM included?
Daedalus is offline  
Old 18 April 2020, 20:01   #8
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,518
I am still quite sure it isn't needed for accurate emulation. Protocol and timing is very well known already.
Toni Wilen is offline  
Old 18 April 2020, 22:46   #9
demolition
Unregistered User
 
demolition's Avatar
 
Join Date: Sep 2012
Location: Copenhagen / DK
Age: 43
Posts: 4,190
It could be useful to have the 6500/1 ROM if you wanted to build a clone keyboard. Yes, you could implement a compatible functionality in a different uC, but it just wouldn't be the same.
demolition is offline  
Old 22 April 2020, 02:53   #10
ReadOnlyCat
Code Kitten
 
Join Date: Aug 2015
Location: Montreal/Canadia
Age: 52
Posts: 1,178
Quote:
Originally Posted by Daedalus View Post
This is excellent stuff, and I wouldn't have known how to go about it... But wasn't it common knowledge all along that the keyboard controller was a 6502 core with some ROM and RAM included?
I have no doubt this was common knowledge but it was not to this kitten until I researched A500 keyboards a few days ago.

Quote:
Originally Posted by Toni Wilen View Post
I am still quite sure it isn't needed for accurate emulation. Protocol and timing is very well known already.
Who knows how many bugs lurk in that ROM?
Unless this is known, we cannot be sure that protocol virtualization is enough.

And even if there were none, the point of accurate emulation is to go beyond simple virtualization when corresponding information is available.
ReadOnlyCat is offline  
Old 22 April 2020, 17:41   #11
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,518
Protocol has to be correct because keyboard connects to CIA serial port (very simple, clock and data lines). CIA wouldn't either accept the data or there would be ghost key codes if protocol would do something weird.

Yes, it would be nice to have it completely emulated (and probably will be someday) but I am certain it makes no difference. Except most likely it will breaks some programs if emulation speed is too fast!

Main "problem" with keyboard is handshake pulse length requirement (too short delay: keyboard internal buffer fills and keyboard stops working). Bad keyboard routines have CPU delays. It would need even more complex (or stupid) workaround. Everyone would assume buggy emulation without automatic workaround..
Toni Wilen is offline  
Old 22 April 2020, 18:02   #12
Daedalus
Registered User
 
Daedalus's Avatar
 
Join Date: Jun 2009
Location: Dublin, then Glasgow
Posts: 6,348
Quote:
Originally Posted by ReadOnlyCat View Post
I have no doubt this was common knowledge but it was not to this kitten until I researched A500 keyboards a few days ago.
Ha, that wasn't really aimed at you, but at the work in the mailing list in 2014, which still feels quite recent in Amiga terms

It did get me thinking though, the chip is physically large enough to easily accommodate a PCB and suitable modern microcontroller to act as a compatible replacement. Now there's a project for a rainy day... *adds another entry to the never-ending list*
Daedalus is offline  
Old 22 April 2020, 18:09   #13
demolition
Unregistered User
 
demolition's Avatar
 
Join Date: Sep 2012
Location: Copenhagen / DK
Age: 43
Posts: 4,190
Quote:
Originally Posted by Daedalus View Post
It did get me thinking though, the chip is physically large enough to easily accommodate a PCB and suitable modern microcontroller to act as a compatible replacement. Now there's a project for a rainy day... *adds another entry to the never-ending list*
Sure, you could run the original ROM code in a 6502 emulator on an ATMega32 for example.
Here's one example: https://github.com/Klaus2m5/AVR_emulated_6502_4SBC
demolition is offline  
Old 22 April 2020, 18:11   #14
Daedalus
Registered User
 
Daedalus's Avatar
 
Join Date: Jun 2009
Location: Dublin, then Glasgow
Posts: 6,348
*adds yet another similar entry to the list*
Daedalus is offline  
Old 22 April 2020, 18:57   #15
kipper2k
Registered User
 
Join Date: Sep 2006
Location: Thunder Bay, Canada
Posts: 4,323
Hi all,

I have made a replacement a500 KB controller board for those that need theirs replacing, just not got around to putting it out there yet...

http://www.kipper2k.com/a500controll...ontroller.html
kipper2k is offline  
Old 22 April 2020, 22:40   #16
Daedalus
Registered User
 
Daedalus's Avatar
 
Join Date: Jun 2009
Location: Dublin, then Glasgow
Posts: 6,348
*crosses two items off to-do list*

Progress
Daedalus is offline  
Old 23 April 2020, 00:40   #17
jotd
This cat is no more
 
jotd's Avatar
 
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,205
When fixing games, I'm interested that the game behaves like shit on fast machines.

The "keyboard stuck" issue because of bad handshake would be a plus (optionally of course, like blitwait/immediate blit, stuff like that)
jotd is offline  
Old 26 April 2020, 20:30   #18
ReadOnlyCat
Code Kitten
 
Join Date: Aug 2015
Location: Montreal/Canadia
Age: 52
Posts: 1,178
Quote:
Originally Posted by Toni Wilen View Post
Protocol has to be correct because keyboard connects to CIA serial port (very simple, clock and data lines). CIA wouldn't either accept the data or there would be ghost key codes if protocol would do something weird.
You are right of course, the code was very likely tightly verified and its task is simple enough that the odds of there being bugs are super low.

Still, I love the idea that there may be bugs that could be exploited to use the controller in non documented ways. Most likely this is a pipe dream because sending data to the controller seems impossible looking at the schematics but we have seen so many impossible things happen on this machine that I cannot let that go (yet! ).

Quote:
Originally Posted by Toni Wilen View Post
Yes, it would be nice to have it completely emulated (and probably will be someday) but I am certain it makes no difference. Except most likely it will breaks some programs if emulation speed is too fast!

Main "problem" with keyboard is handshake pulse length requirement (too short delay: keyboard internal buffer fills and keyboard stops working). Bad keyboard routines have CPU delays. It would need even more complex (or stupid) workaround. Everyone would assume buggy emulation without automatic workaround..
Quote:
Originally Posted by jotd View Post
When fixing games, I'm interested that the game behaves like shit on fast machines.

The "keyboard stuck" issue because of bad handshake would be a plus (optionally of course, like blitwait/immediate blit, stuff like that)
This is a good point (for both) but my opinion is that it should probably not be the job of the emulator to fix buggy programs which already have issues on the actual hardware.
If users cannot be bothered to double check on the hardware then well, sorry for them. They can maintain a wiki page for all buggy games.

IMO fixing games is the job of WHDLoad, not UAE.
This said, I understand why Toni makes that choice.

Quote:
Originally Posted by Daedalus View Post
Ha, that wasn't really aimed at you, but at the work in the mailing list in 2014, which still feels quite recent in Amiga terms
Oh, I did not take it personally, I was just providing context for my ignorance.
Thanks for checking though!

Quote:
Originally Posted by kipper2k View Post
Hi all,
I have made a replacement a500 KB controller board for those that need theirs replacing, just not got around to putting it out there yet...

http://www.kipper2k.com/a500controll...ontroller.html
Oh, this is super nice. Thanks kipper2k!

You mention being able to plug into a 1200 but how would that work with only plugging in the 5 signals you mention? The keyboard MCU is going to drive the DATA signal by itself won't it? How can you ensure that your signals prevail?
ReadOnlyCat is offline  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
Amiga 3000 ROM chips Unknown_K support.Hardware 29 26 August 2023 04:56
Undumped CAPS games, how to dump? bigmax project.SPS (was CAPS) 2 31 July 2016 10:26
amiga 3000: swapping chips sovietconscript Hardware mods 15 06 July 2009 20:18
Amiga chips & more Gavilan support.Hardware 7 22 October 2008 23:27
Amiga Custom Chips whitebird request.Other 13 07 November 2006 23:05

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 08:49.

Top

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Page generated in 0.11356 seconds with 13 queries