As you might have noticed (harhar) I typed in a lot of programs for the KIM-1 lately. And I got to a point where I can read and understand this programs. Yay.
Now the following problem occured: A prg in 'Best of Micro Vol. II' is Conways Game of Life for the KIM-1 equipped with a video expansion card. And hey, guess what, I do have a KIM-1 clone with a Graphics card. In this Program the vertical and horizontal coordinates are handed over in a hexadecimal number like this ESC=VH(Text) where V and H are positions in hexadecimal.
My PiGFX solution sadly wants a ascii streamed number as input, for example
ESC[10,15f means Move to
But how do I translate a HEX number to a two byte ascii stream?
- how often can you subtract $A of your HEX number before it turns negative?
- add $30 and you have your first byte.
- the rest + $30 is the 2nd byte.
Here's an example:
HEX | DEC | OPERAND |
---|---|---|
2A | 42 | how often does $A fit ? Whats the Rest? |
(4*A)+2 | 4 * 10 + 2 | aahhh, 4 times, 2 rest ... Now add $30 to each result |
byte1 and byte 2 | in basic this would be | |
$34 and $32 | 52 and 50 | chr$(52) + chr$(50) |
Now you can stream $1B ('ESC') $5B ('[') $34 ('4') $32 ('2') $3B (';') $34 ('4') $32 ('2') $66 ('f') and the next letters will be printed at position 42,42
My brain is crippled now. more l8r
webdoktor
Leave a Reply