Testing of emulator 3niti alpha

Balanced Ternary Numeral System - forum was moved from http://ternary.info

Moderator: haqreu

User avatar
Shaos
Admin
Posts: 24011
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Testing of emulator 3niti alpha

Post by Shaos »

This topic is about testing java emulator of ternary computer 3niti alpha.

Image

3niti alpha's control panel description:

Code: Select all

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.
User avatar
Shaos
Admin
Posts: 24011
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Testing of emulator Alpha1

Post by Shaos »

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

Re: Testing of emulator Alpha1

Post by Shaos »

Today I fixed display of register A at LEDs 13,14,15 (before it was always white)
User avatar
Shaos
Admin
Posts: 24011
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Testing of emulator Alpha1

Post by Shaos »

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")
User avatar
Shaos
Admin
Posts: 24011
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

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
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 24011
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: [Ternary] Testing of emulator 3niti alpha

Post by Shaos »

Updated test steps above
Я тут за главного - если что шлите мыло на me собака shaos точка net