nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 21 Feb 2024 01:58



Reply to topic  [ 6 posts ] 
Testing of emulator 3niti alpha 
Author Message
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22152
Location: Silicon Valley
Reply with quote
This topic is about testing java emulator of ternary computer 3niti alpha.

Image

3niti alpha's control panel description:

Code:
Control panel has row of 15 "ternary" red-green indicators:

    * Lights 1,2,3,4,5,6,7,8,9 - value of PC register (address of current operation)
    * Lights 10,11,12 - 3-trit data (see below)
    * Lights 13,14,15 - current value of A register

Also control panel has row of 15 "ternary" slide switches:

    * Switches 1,2,3,4,5,6,7,8,9 - some 9-trit address entered by user
    * Switches 10,11,12 - some 3-trit data entered by user
    * Switch 13 - control input/output ternary switch:
       - P (top position) - using specified address write data to the memory (data
            lights display this 3-trit data)
       - O (neutral position) - ignore address and data switches (data lights
            display data from memory address PC)
       - N (bottom position) - ignore data switches and display data from
            specified address
    * Switch 14 - control subprogram ternary switch:
       - P (top position) - interrupt main program, save current PC and jump to
            specified address
       - O (neutral position) - do not disturb working program
       - N (bottom position) - stop subprogram and restore PC to return to
            main program
    * Switch 15 - control step/run ternary switch:
       - P (top position) - execute one step of the program
       - O (neutral position) - pause mode
       - N (bottom position) - run program from current position


To "slide" switch up just click on top half of switch and it will cause 1-step shift up (N->O or O->P). If you click to bottom half of switch it will cause 1-step shift down (P->O or O->N). You can see that it is not possible to switch directly from N to P or from P to N.

First version of emulator: http://www.nedopc.org/ternary/java.php?applet=3

P.S. Feel free to write bug reports right here...

P.P.S. It's also applicable to 3niti alpha simu1


Last edited by Shaos on 04 Feb 2015 21:02, edited 1 time in total.



09 Nov 2008 16:41
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22152
Location: Silicon Valley
Reply with quote
Today I changed order of arguments for LDI and JMP - now it's "big-endian" (higher triad, middle triad, lower triad).


11 Nov 2008 17:16
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22152
Location: Silicon Valley
Reply with quote
Today I fixed display of register A at LEDs 13,14,15 (before it was always white)


12 Nov 2008 17:14
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22152
Location: Silicon Valley
Reply with quote
Shaos wrote:
Today I fixed display of register A at LEDs 13,14,15 (before it was always white)


Fixed display of small numbers on LEDs 9,10,11 and 13,14,15 (before it was left "aligned")


13 Nov 2008 22:16
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22152
Location: Silicon Valley
Reply with quote
Post 
Shift most right switch down that runs program from current address (OOOOOOOOO) and if memory is empty (all zeros) it will work as sequence of instructions ADI 0 (OOO OOO) and increment PC by 2 per step:

Image

Set pause mode by shifting most right switch to neutral position and try manual interruption. Set address POO OOO OOO (most left switch shifted up, all others are neutral):

Image

then shift 2nd switch from right to up:

Image

and it will switch PC to new address (1st LED is greend now) and address will still be set like that if you shift 2nd switch from right back to neutral:

Image

now shift 2nd switch from right down and it should set PC back to OOO OOO OOO

Image

and shifting 2nd switch from right back to newutral will not change that (PC will stay all zeros)

Image

Set pause mode by shifting most right switch to neutral position to try write and read. Enter address OPO OOO OOO (for 3niti alpha simu1 it should be OPN NNN xxx):

Image

Then set data triad to NNP:

Image

Then write it to memory by shifting 3rd switch from right up:

Image

Now data LEDs show entered triad. Then shift 3rd switch from right back to neutral and it reconnect data LEDs to memory cell with address PC (should be OOO):

Image

Then shift data switched back to neutral:

Image

And by shifting 3rd switch from right down we will read content of memory with address from switches - it should display NNP:

Image

P.S. Using this approach we can enter programs and run them

_________________
:dj: https://mastodon.social/@Shaos


10 Nov 2012 08:53
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22152
Location: Silicon Valley
Reply with quote
Updated test steps above

_________________
:dj: https://mastodon.social/@Shaos


05 Jul 2020 21:16
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 6 posts ] 

Who is online

Users browsing this forum: No registered users and 2 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:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.