Jump to content
IGNORED

ADAM: Read Keyboard from a Cartrigde rom, any sample code?


CrazyBoss

Recommended Posts

On 1/21/2023 at 6:53 PM, CrazyBoss said:

Hi. I want to use the Adam keyboard from a Colecovision cartrigde, it should be possible but not easy I guess, any one have some sample code ?

 

Let me try and take a crack at this with an explanation the best I know it.

 

The Keyboard is a 6801 and the Z80 is the heart of the ADAM.  Each device has it's own processor so the ADAM multitasks rather nicely.


The ADAM Keyboard communicates with the Z80 on the ADAM by passing an agreed upon set of numbers that represent on an agreed upon set of commands.  They both have a shared memory space above $8000, I should know it by heart by now but the exact location escapes me without looking it up.  It is not $D000 - $D100 but just say it is for this explanation.  This is like the 39th Parallel where two sides agree upon a meeting and a agreed upon set of ideas.

 

If the Z80 for an example leaves a 10 at the address then the 6801 knows that the Z80 wants to say read a block of Data off the Disk Drive.  The Disk Drive 6801 will get that data then store it back to a prearranged drop off point where the Z80 knows where to get it.  That is basically how one processor with a different set of OPCODES can talk to another.  ADAMNet is constantly running in a loop and updating itself.  Waiting for the Z80 to tell it what to do.

So in a nut shell the Colecovision uses above $8000 for a cartridge which is read only, no saving to it.  No prearranged space.

 

Now, can you reprogram everything to use a lower memory?  That would require you reprogramming the 6801 in the keyboard or some other buffer rerouting that info.

Even if you do that then you would have to come up with your own way of interpreting what the keyboard sends back because EOS, the ADAM BIOS has been compiled to start at $E000.  Again, well into the cartridge area.

if we were using an ADAM, the Cartridge is always at $8000 and there is no bank switching I know of that uses cartridge ram starting at $0000.
The Colecovision also has only has 1k of memory which is mapped at $7000-$7FFF  Where OS7, Coleovision BIOS starts at $0000.

Now if you came up with a module to remap everything giving the Colecovision the full $64k and remapped your cartridge down to $0000 you would still have to go through hell to get what you want.

Can it be done, no doubt with enough time, patience and custom hardware but is it worth it?  That is entirely up to what you want to do with yourself.

If I had to do it I would make an expansion module that does exactly what you want but they already have that, It is call the Expansion Module #3 ADAM.

I wish I could tell you what you want to hear but this is how I know it to be.

CC

 

 

 

-----edit------

Tell you what,
If you really wanted to use a keyboard on the Colecovision I would think it would be easier to use a PS2/USB type of KB with an adapter connected to the expansion port.  Come up with an agreed set of rules that whatever you program the Colecovision to interpret so when you press A, it comes out as an A on the screen.  Have a small memory buffer on the adapter where the Colecovision reads in what the KB stores there.

I would suspect that you can do the same with an Arduino to talk to the 6801 on the ADAM keyboard and come up with your own thing.
 

Edited by Captain Cozmos
Link to comment
Share on other sites

6 hours ago, NIAD said:

A CV Keyboard expansion card to use a PS2 keyboard (maybe it was USB) has already been made… about 8 years ago. I don’t have the webpage link handy, but all the tech and build info is available on the ADAM Archive.

 

I think CrazyBoss is familiar with it.

yes that was Andy Key, who made an PS2 expension card, even with loop, so you can use it together with e.g Super Game Module at the ColecoVision :) I dont know if its possible to make any more, maybe the components get hard to get. I have one myself by the way.

Link to comment
Share on other sites

21 hours ago, Captain Cozmos said:

Let me try and take a crack at this with an explanation the best I know it.

 

The Keyboard is a 6801 and the Z80 is the heart of the ADAM.  Each device has it's own processor so the ADAM multitasks rather nicely.


The ADAM Keyboard communicates with the Z80 on the ADAM by passing an agreed upon set of numbers that represent on an agreed upon set of commands.  They both have a shared memory space above $8000, I should know it by heart by now but the exact location escapes me without looking it up.  It is not $D000 - $D100 but just say it is for this explanation.  This is like the 39th Parallel where two sides agree upon a meeting and a agreed upon set of ideas.

 

If the Z80 for an example leaves a 10 at the address then the 6801 knows that the Z80 wants to say read a block of Data off the Disk Drive.  The Disk Drive 6801 will get that data then store it back to a prearranged drop off point where the Z80 knows where to get it.  That is basically how one processor with a different set of OPCODES can talk to another.  ADAMNet is constantly running in a loop and updating itself.  Waiting for the Z80 to tell it what to do.

So in a nut shell the Colecovision uses above $8000 for a cartridge which is read only, no saving to it.  No prearranged space.

 

Now, can you reprogram everything to use a lower memory?  That would require you reprogramming the 6801 in the keyboard or some other buffer rerouting that info.

Even if you do that then you would have to come up with your own way of interpreting what the keyboard sends back because EOS, the ADAM BIOS has been compiled to start at $E000.  Again, well into the cartridge area.

if we were using an ADAM, the Cartridge is always at $8000 and there is no bank switching I know of that uses cartridge ram starting at $0000.
The Colecovision also has only has 1k of memory which is mapped at $7000-$7FFF  Where OS7, Coleovision BIOS starts at $0000.

Now if you came up with a module to remap everything giving the Colecovision the full $64k and remapped your cartridge down to $0000 you would still have to go through hell to get what you want.

Can it be done, no doubt with enough time, patience and custom hardware but is it worth it?  That is entirely up to what you want to do with yourself.

If I had to do it I would make an expansion module that does exactly what you want but they already have that, It is call the Expansion Module #3 ADAM.

I wish I could tell you what you want to hear but this is how I know it to be.

CC

 

 

 

-----edit------

Tell you what,
If you really wanted to use a keyboard on the Colecovision I would think it would be easier to use a PS2/USB type of KB with an adapter connected to the expansion port.  Come up with an agreed set of rules that whatever you program the Colecovision to interpret so when you press A, it comes out as an A on the screen.  Have a small memory buffer on the adapter where the Colecovision reads in what the KB stores there.

I would suspect that you can do the same with an Arduino to talk to the 6801 on the ADAM keyboard and come up with your own thing.
 

Some one told me some IN HOUSE diagnostics cartrigdes for the ADAM can test the KEYBOARD. But I think they did something to swap in and out the memory or something.  I did not try to disassemble to see whats going on.

 

Link to comment
Share on other sites

2 hours ago, CrazyBoss said:

yes that was Andy Key, who made an PS2 expension card, even with loop, so you can use it together with e.g Super Game Module at the ColecoVision :) I dont know if its possible to make any more, maybe the components get hard to get. I have one myself by the way.

Andy Key... I should be able to remember that name for a Keyboard Interface! For anyone interested, here is the link: Colecovision Keyboard (nyangau.org)

 

As far as the Coleco In-House utilities. unfortunately a lot of them won't work in ADAM emulators, but do work on a real ADAM using the AtariMax Ultimate SD Cart. They are available at the following link and the one that could be easiest to disassemble and figure out is ADAM Final Test - Menu Version seeing as it is all text based without all the fancy graphics of ADAM Diagnostic. (AdamArchive.Org) - The home for everything ADAM

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...