Quote:
Originally Posted by Grant Stockly
Didn't some cylons have two dots that meet each other in the middle. Will that be version 2?
|
OK, here's another version using indexed mode. It's easier to change the pattern in this one by just changing the table
Code:
Addr Value
---- ---------
; Display Cylon lights on the Kenbak-1 front panel
; Version 2
003 004 ; initialize PC
004 223 000 START LOAD X, #0 ; X = 0
006 026 033 LOOP LOAD INDEX A, TABLE ; set A = next byte from table
010 044 004 JPD A=0, START ; restart if at end of tale
012 034 200 STORE A, 0200 ; display A on LEDs
014 367 022 JMD WAIT ; pause
016 203 001 ADD X, #1 ; decrement X
020 347 006 JPD LOOP ; loop to get next pattern
;
022 000 WAIT .equ 0 ; return address will be stored here
023 123 020 LOAD B, #020 ; delay for a count of 020
025 113 001 WAIT1 SUB B, #1 ; decrement B
027 143 025 JPD B!=0, WAIT1 ; if B != 0 jump to label WAIT1
031 357 022 JPI WAIT ; return
;
033 201 TABLE .equ 10000001
034 102 .equ 01000010
035 044 .equ 00100100
036 030 .equ 00011000
037 044 .equ 00100100
040 102 .equ 01000010
041 201 .equ 10000001
042 000 .equ 00000000
Quote:
Isn't it amazing, that a pile of TTL chips is 'thinking'?
|
Yes. I'm almost glad I missed that solder joint, the time I spent looking over the circuit diagrams and state diagrams gave me a good appreciation for John's interesting design. I find some of the Kenbak's quirks quite interesting: the serial architecture of course, the lack of a stack, the variable execution time of the instructions, the accessibility of the registers as memory locations (though some other CPUs do that too).
Does anyone know of other machines that use a serial design like this one?
Geoff.