Vermes
Advanced Member level 4
It is a device similar to an interpreter. It loads a command in the form of a code, then arguments for it, and executes the command.
Construction and operation:
There is no RAM on the main board. There is only EEPROM 24C256. Processor Atmega32 during the operation of the program loads the program directly from the EEPROM. It is a slow solution (via I2C), but it requires a small number of ports. But if you prefer, you can use dynamic RAM.
When the device is started, you enter Writing by RS232 mode. Programming takes place by writing bytes of the program one by one. To select the address of the memory, enter 255 and then the first and second byte. Then write „byte after byte”. That allows you to program quickly. You can program using your computer or using RS232.
EEPROM has a two-byte declaration of the address. The first byte (0-127) defines the „group” and the second (0-255) – the address. Group 0 is reserved for settings, and groups 1-127 are for the programs. You can enter a lot of programs, and then select a group, from which you want to run a program. As an example: you cannot start the program in address 127/10, but in 121/1 you can do that. Programs can take more than one group and then you write the further part of the program in the next group.
There is also Reading from IIC mode. It allows you to check bytes stored in the memory and find the possible mistakes.
To run the program, press RUN (upper on the board). Then you are asked to select the program address. If the program starts in address 5/1, select 5 using the SET button (bottom). Then press RUN and the program starts.
Each program ends with command 0. Then an information is displayed: End of program and you return to the writing program mode.
Interpreter and machine code:
Interpreter was made in Bascom. Load (together with menu and all the features) takes 16% of the memory, what means that you can use Atmega16. Program loads data directly from the EEPROM. SRAM of the system contains a buffer of variables used by the program (32 8-bit variables).
RS232 setpoint:
RS232 setpoint was made for the needs of the PseudoComputer and allows you to enter the commands. The principle is simple: you enter number (in tens system), press the star to send the byte. It uses Attiny2313. The stand was soldered directly to pins of the keyboard. There are two diodes (WRITE and ERROR) which indicate start of entering a number and overload of the byte.
Link to original thread - Mój PseudoComputer na procesorze ATMega32