6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Fri Nov 22, 2024 2:57 am

All times are UTC




Post new topic Reply to topic  [ 2 posts ] 
Author Message
 Post subject: Emma II
PostPosted: Sun Jul 13, 2014 5:30 pm 
Offline

Joined: Mon Dec 16, 2013 9:15 pm
Posts: 3
I have been working on this simulator of the Emma II and have it working with some basic instruction sets.

However, the display routine only works through standard VB instructions and not as part of the actual addresses of the Emma. I want to build the 7 segment displays into the actual code but this requires understanding how these displays worked and the addresses relevant to send data to.

Does anyone have any knowledge of this system?

I have a working Emma to develop from but am now getting to the point where I could do with someone to help clarify or explain points.

For example, once i have restructured the displays to work as part of the board I'd like to work on the IO ports (A and B) to enable future expansion possibilities.

I have included in the zip the original user manual in case someone needs a refresher.

Oh, and I would appreciate comments from anyone who cannot help but wishes to give any constructive commentary.


Attachments:
File comment: This file is a zipped copy of the user manual and an installable simulator of the Emma (called the Emma III). I have full permission from LJ Electronics to make this.
Emma III.zip [7.32 MiB]
Downloaded 154 times
Top
 Profile  
Reply with quote  
 Post subject: Re: Emma II
PostPosted: Sun Jul 13, 2014 8:39 pm 
Offline

Joined: Mon Dec 16, 2013 9:15 pm
Posts: 3
Okay, I have made some progress.

&H0010 through to &H0017 hold the values used on the display. The values are nibble values with 01, 02, 04 and 08 being low byte whilst 10, 20, 40 and 80 are high byte. Since it runs 01, 02, 04, 08, 10, 20, 40, 80 from top to right to bottom to left to centre then dp (80), the letter A would be 01 + 02 + 04 = 7 and 10 + 20 + 40 = 70 / 10 = 7; making it &H77. With the decimal point it would become &HF7.

&H0010 holds the value for the left most segment and &H0017 holds the right-most one.

Stepping through each of the memory locations I conclude with the following on the display: A.0017.xx where xx is the data for the segment.

I get F7 3F 3F 06 66 80 7F 71: which gives me A.0014.8F

Now if the final position is A.0017.71 (71 gives me the final F) I can see that the data being given in the final two segments is for the image previously (the F from 7F) rather than the current data (the 1 from 71). This makes sense since to display the current data would require a different segment code and since no segment code ever reflects the actual letter or number being displayed this would be a circular problem. However, if this is true then the display is showing a different set of values from that stored in the memory location used for display; so where is this being stored?

Could it be that the data currently stored is sent to the display segments and only then the new data value stored? If so, is this always true? Is the display always 1 step behind the actual memory?

When is the trigger for showing the data? It cannot be when the 8 addresses are altered since you would enter the circular issue. Yet there is no normal delay in memory display.

This is not very clear. if my display is showing me 7 1, which tells me the last segment is F then where is the data that tells the display to show me the 1????


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 2 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 6 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to: