Previous Thread
Next Thread
Print Thread
Page 1 of 3 1 2 3
Didact #103065 12/18/15 11:17 AM
Joined: Aug 2015
Posts: 378
Edstrom Offline OP
Senior Member
OP Offline
Senior Member
Joined: Aug 2015
Posts: 378
I have recently obtained a very interesting board as scrap but with the proms (2 x 512 bytes) intact that I managed to dump.
The board is a 6800 in a series of school computers intended for college grade students aiming at becoming embedded engineers,
learning assembler and how to control and meassure the physical world. You can see the scrap board and prom adapter here: Didact mp68A

An assembled system of some newer model looks like this:


I intend to collect as many versions as possible in the driver and also support other designs from Didact: the Esselte 100 (BASIC) and Candela (OS9 etc) computers but they are more regular CRT/Keyboard based systems so no worries there.

Now, is there some system in MESS already similar to the Didact mp68A or "Mikrodator 6802" as it was named later? Especially the keypad and the BCD display is of interest to emulate so any pointers is appreciated.

Re: Didact [Re: Edstrom] #103066 12/18/15 12:43 PM
Joined: Apr 2004
Posts: 1,554
J
judge Offline
Very Senior Member
Offline
Very Senior Member
J
Joined: Apr 2004
Posts: 1,554
kim1 ?

Re: Didact [Re: Edstrom] #103067 12/18/15 12:44 PM
Joined: Jun 2001
Posts: 410
O
Olivier Galibert Offline
Senior Member
Offline
Senior Member
O
Joined: Jun 2001
Posts: 410
Cute, a raspberry pi ancestor :-)

The sym-1 seems to follow a similar idea. Have a look at http://www.mess.org/artwork/

OG.

Re: Didact [Re: Edstrom] #103068 12/18/15 12:46 PM
Joined: May 2004
Posts: 886
D
Duke Offline
Senior Member
Offline
Senior Member
D
Joined: May 2004
Posts: 886
There are a few of those systems already in MAME. For example, the Synertek Systems Corp. SYM-1 or the MOS KIM-1.

Re: Didact [Re: Edstrom] #103069 12/18/15 12:56 PM
Joined: Aug 2015
Posts: 378
Edstrom Offline OP
Senior Member
OP Offline
Senior Member
Joined: Aug 2015
Posts: 378
Nice, the artwork page! smile I got some examples to work from there, thx /JLE

Re: Didact [Re: Edstrom] #103290 12/28/15 08:45 PM
Joined: Aug 2015
Posts: 378
Edstrom Offline OP
Senior Member
OP Offline
Senior Member
Joined: Aug 2015
Posts: 378
I have traced the keyboard now, it uses two 74LS148 and a 74LS00 aggregating a keypress into a three bit respons (PB0-PB2) to a three bit pattern written (PA4-PA6) aggregated through a transistor circuit that pull CB1 low on the PIA6820 when a key is pressed.

I have also checked the other hexpad implementations such as kim1, sym1 and tec1. They all seems to use the device timer to interrupt the PIA on a layout interactions, eg I click on a key on the artwork.

Is this the way to do it? The artwork being polled?

There is no artwork call back that can be installed from the driver that can be called when I click?

Last edited by Edstrom; 12/28/15 08:45 PM.
Re: Didact [Re: Edstrom] #103502 01/05/16 05:02 PM
Joined: Aug 2015
Posts: 378
Edstrom Offline OP
Senior Member
OP Offline
Senior Member
Joined: Aug 2015
Posts: 378
So finally I have a working driver for the Didact mp68a supporting keypad, display and clickable artwork. Artwork and roms

It is going in as a pull request aswell but can be found also on my fork and branch didact_r2

Last edited by Edstrom; 01/05/16 05:06 PM.
Re: Didact [Re: Edstrom] #103806 01/25/16 08:38 PM
Joined: Aug 2015
Posts: 378
Edstrom Offline OP
Senior Member
OP Offline
Senior Member
Joined: Aug 2015
Posts: 378
Precompiled single driver Win-7 binaries for the Didact mp68a and md6802 is available here: Didact_m169.zip

- clickable artwork
- keyboard 0-9, A-Z, SHIFT and F12 (reset)
- 6 digit BCD display

Let me know how it works if you test it. I know about the keyboard lag in md6802 but the mp68a should be fine.

Re: Didact [Re: Edstrom] #106803 08/10/16 12:37 PM
Joined: Aug 2015
Posts: 378
Edstrom Offline OP
Senior Member
OP Offline
Senior Member
Joined: Aug 2015
Posts: 378
What happens if two devices present data on the data bus at the same time? I think this is what happens here in the Esselte 100 keyboard i/o design and I am trying to figure out how to get the right result our from the operation. Presumably a low dataline sinks a high dataline so I get a kind of fast scan?

The circuit diagram has two PIA:s on the same chip select S1 which is the Y1 output from a 74138 when (A15=1, A14=1, A13=0, A12=0, A11=1) in the C8xx adress space. The neat detail is that the first PIA is selected by A4 and the second by A3, on PIA pin 22, which means both can be addressed at the same time! This makes sense for writes setting up both PIA:s with the same data driven by the CPU. But how will a read work when the 6820 PIA:s drives the bus and is it/can it be supported by MAME?

Indeed the ROM uses this feature accessing the following adresses at startup:


The documented memory map says PIA1 is at C808-C80b and PIA2 at C810-C813 so I was puzzled by this startup code. Appreciate some insights on this.


Re: Didact [Re: Edstrom] #106804 08/10/16 12:57 PM
Joined: May 2004
Posts: 886
D
Duke Offline
Senior Member
Offline
Senior Member
D
Joined: May 2004
Posts: 886
Yeah, usually a low signal wins. You can simply do something like this:

Code:
UINT8 data = 0xff;

data &= device1->read();
data &= device2->read();

return data;

Page 1 of 3 1 2 3

Who's Online Now
3 registered members (nerd4gw, zino, R. Belmont), 146 guests, and 2 spiders.
Key: Admin, Global Mod, Mod
ShoutChat Box
Comment Guidelines: Do post respectful and insightful comments. Don't flame, hate, spam.
Forum Statistics
Forums9
Topics8,675
Posts113,814
Members4,859
Most Online418
Aug 14th, 2019
Powered by UBB.threads™ PHP Forum Software 7.7.3