Tesla-A8D4 User Manual

  • Sam_Hayzen
    8th Jan 2018 Member 1 Permalink
    
    Tesla-A8D4 Management Computer
    
    Description:
    	The T-A8D4 is a four-bit computer with one tellabyte (256 bytes) of internal memory. All of the A8D4's memory is readable as well as writable. This makes the computer more versatile, but means that programs writing to memory should be written with caution as to not make a program that overwrites itself.
    	The A8D4's prime purpose of that of micromanagement. Therefore, the computer has been build with 4-bit input and output ports.
    
    Physical:
    	Unlike most computers, the A8D4 does not have a dedicated address or data bus. Instead, it has an "Information Bus", acting as both the data bus and address bus.
    
    Graphical Display:(Optional)
    	The graphical display is directly mapped to memory addresses E0 to FF. The display is 32 by 4 pixels in size, with one pixel per bit of memory. A '1' is represented by a black pixel and a '0' is represented by a white pixel.
    
    Pinout:
    	The A8D4 has 13 pins for I/O
    
    	Pins:
    		1 :INPUT REQUEST
    			This pin sends a pulse on the EIP command, meaning that pins 2-5 are open.
    		2 :Input bits 0-3
    		3 :
    		4 :
    		5 :
    		6 :INPUT AKNOWLEDGE
    			Pulsed on the use of the LD a,Input command, meaning that pins 2-5 are closed.
    		7 :Output bits 0-3
    		8 :
    		9 :
    		10:
    		11:OUTPUT SIGNAL
    			Pulsed when the computer sends an output on pins 7-10.
    		12:START
    			Starts the computer if it is stopped
    		13:STOP SIGNAL
    			Pulses if the computer stops
    
    Commands:
    	Add
    		Add a number with register A. The result is stored in A.
    
    	Sub
    		Subtract a number from register A. The result is stored in A.
    
    	Inc
    		Increment a value.
    
    	JP
    		Jump to a point in memory. (Note: When jumping, jump to one byte before the desired address, as the A8D4 increments its Program Counter -before- reading the instruction from the disk)
    
    	Inv
    		Invert a flag.
    
    	EIP
    		Enable Input. (Note: Once Input is read from, it is reset and the port is closed)
    
    	Stop
    		Stop the computer.		
    
    	Opcodes:
    
    	|Decimal
    	|  |Hexidecimal
    	|  | |Binary
    	|  | |    |Effects flag
    	|  | |    | |Length in bytes
    	|  | |    | | |Time in frames
    	|  | |    | | |   |Mneumonic
    	|00|0|0000|c|2|065|Add d4
    	|01|1|0001|c|1|019|Add b
    	|02|2|0010|0|2|106|Sub d4
    	|03|3|0011|0|1|059|Sub b
    	|04|4|0100|c|1|005|Inc a
    	|05|5|0101|c|1|006|Inc hl
    	|06|6|0110|c|1|007|Inc b
    	|07|7|0111|0|3|122|JP a8
    	|08|8|1000|0|3|131|JP c,a8
    	|09|9|1001|c|1|018|Inv c
    	|10|A|1010|0|1|038|And a,b
    	|11|B|1011|0|1|023|JP hl
    	|12|C|1100|0|1|007|EIP
    	|13|D|1101|0|1|008|LD a,Input
    	|14|E|1110|0|1|008|LD Output,a
    	|15|F|1111|0|~|62+|Prefix F
    
    	Prefix F:	
    	|00|0|0000|0|3|059|LD a,d4
    	|01|1|0001|0|4|120|LD hl,d8
    	|02|2|0010|0|3|061|LD b,d4
    	|03|3|0011|0|2|010|LD a,b
    	|04|4|0100|0|2|011|LD b,a
    	|05|5|0101|0|2|043|LD a,(hl)
    	|06|6|0110|0|2|038|LD (hl),a
    	|07|7|0111|0|2|011|LD a,h
    	|08|8|1000|0|2|011|LD h,a
    	|09|9|1001|0|2|012|LD a,l
    	|10|A|1010|0|2|011|LD l,a
    	|11|B|1011|0|2|012|LD h,b
    	|12|C|1100|0|2|013|LD l,b
    	|13|D|1101|0|4|166|LD a,(a8)
    	|14|E|1110|0|4|160|LD (a8),a
    	|15|F|1111|0|2|~~~|Stop

    2234011View Save 2234011
    Edited 9 times by poodiepie. Last: 13th Jan 2018
  • phox
    8th Jan 2018 Member 2 Permalink

    this is very well made. nice!

  • apple5265
    12th Jan 2018 Member 1 Permalink

    Intersting!