#garfield Logs

Apr 03 2021

#garfield Calendar

02:31 AM rue_mohr: 8x8 keyboard is fine
02:38 AM rue_mohr: 8x9 even
02:38 AM rue_mohr: 8x10 is getting stupid
02:38 AM rue_mohr: this is 8x14
02:38 AM rue_mohr: there are just so many lines
02:38 AM rue_mohr: its almost easier for me to make 3 8 bit ports for the cpu
02:38 AM rue_mohr: have it work out the decoding
02:38 AM rue_mohr: whole freaking 8255
02:38 AM rue_mohr: which might be smaller than the other things I'm pondering
02:54 AM rue_mohr: yup, an 8255 is the smallest solution
01:53 PM rue_mohr: I suppose its generally accepted that if you mash a keyboard, you get what you get
01:53 PM rue_mohr: the result of any two keys at once is not predicatable
02:10 PM rue_mohr: polprog,
02:10 PM rue_mohr: aandrew,
02:10 PM rue_mohr: Tom_L, you familiar with git?
02:10 PM polprog: i am sortof
02:11 PM rue_mohr: I might be able to work it out from my history file...
02:11 PM rue_mohr: trying to post code using git
02:14 PM polprog: post?
02:16 PM rue_mohr: haha oops
02:16 PM rue_mohr: https://github.com/ruenahcmohr/KeyBoardLUTGen
02:16 PM rue_mohr: burried it by an extra folder
02:16 PM rue_mohr: oh no a dymlink got me
02:16 PM rue_mohr: ok, kill all, start again
02:17 PM polprog: you push the root repo folder
02:17 PM polprog: idk how to move the root... move .git? and commit again?
02:18 PM rue_mohr: I'm just starting from scratch
02:20 PM rue_mohr: oh no
02:20 PM rue_mohr: it wont let me add remote
02:23 PM polprog: how come
02:23 PM polprog: whats the error
02:23 PM rue_mohr: I cant just redo it
02:24 PM rue_mohr: how do I remove a project from github?
02:29 PM rue_mohr: https://github.com/ruenahcmohr/KeyBoardLUTGen
02:29 PM rue_mohr: it looks like I fixed it?
02:35 PM polprog: looks good
02:35 PM polprog: :)
02:35 PM polprog: you could throw a readme.md in
02:35 PM polprog: oh my god someoje registered that as a website
02:36 PM polprog: someone*
02:36 PM rue_mohr: hah
02:37 PM rue_mohr: what should it say, I already know everything, help me out
03:23 PM rue_mohr: so
03:23 PM polprog: hmm
03:23 PM polprog: i know most of it too
03:23 PM rue_mohr: I'm leaning twoards a diode rom for encoding the 14 columns of the keybaord
03:24 PM rue_mohr: 22 diodes I figure
03:24 PM polprog: just write a small paragraph about which inputs are rows, which are cols
03:24 PM polprog: and link to the original rom image generator
03:24 PM rue_mohr: .. there isn't much of an orig
03:24 PM rue_mohr: I keep copy/modding the last one I did
03:25 PM rue_mohr: maybe a pinout diagram?
03:26 PM polprog: thats a good idea
03:27 PM rue_mohr: 28 diodes
03:28 PM rue_mohr: 14 bicolour leds
03:28 PM rue_mohr: 10 RGB leds
03:28 PM rue_mohr: 3 bar graph displays
03:29 PM rue_mohr: 4 7 segment displays...
03:30 PM rue_mohr: shame its too big for the PALs I got
03:36 PM polprog: hmm, maybe you could chain the PALs
03:37 PM polprog: although, to make a PAL with 2x input count and 2x output count I think you would need to connect 4 PALs
03:37 PM rue_mohr: so gal 16v8 is
03:37 PM rue_mohr: 16 inputs, 8 outputs?
03:37 PM rue_mohr: wait a sec...
03:37 PM polprog: 16 I/O, 8 outputs
03:38 PM rue_mohr: ok, so..
03:38 PM rue_mohr: can I do 14 -> 4
03:38 PM rue_mohr: no
03:38 PM polprog: hmm
03:38 PM polprog: let me pull up the datasheet
03:38 PM rue_mohr: 14 inputs only leaves 2 ouputs
03:38 PM rue_mohr: but did I get a 22v10?
03:39 PM polprog: iirc its 16 io but 8 are input only
03:39 PM polprog: so you can have a 15 inputs, one output, 14 inputs 2 outputs
03:39 PM rue_mohr: yea, but... 22v10...
03:39 PM rue_mohr: I dont know if I got any
03:39 PM polprog: the problem with 22v10s is that not all programmers support them
03:40 PM polprog: like, i have cypress (?) 22v10s that my minipro cant do
03:40 PM rue_mohr: it would fit in a 22v10, but
03:40 PM rue_mohr: it would be more space efficient to do a diode rom
03:40 PM rue_mohr: I can do a diode rom in 18 pins
03:40 PM polprog: how come, a 22v10 is just a dip
03:41 PM polprog: you can do that on 16v8 im pretty sure
03:41 PM rue_mohr: I can make 4 7 diode sips
03:41 PM rue_mohr: not enough io
03:41 PM rue_mohr: I need a 14->4
03:41 PM rue_mohr: those 14 columns are a nightmare
03:41 PM polprog: hmm
03:41 PM rue_mohr: it throws everything
03:42 PM rue_mohr: I'm trying to beat using a whole 8255 for the keyboard
03:42 PM rue_mohr: if I use a diode rom, I also need a 74148 and a 74544 buffer
03:45 PM rue_mohr: the 22v10 is 24 pins
03:45 PM rue_mohr: thats the same "size" as a 2732
03:46 PM rue_mohr: which is 12 inputs, 8 ouputs
03:46 PM polprog: i think i have an 8255
03:46 PM polprog: and external uarts too
03:46 PM polprog: in the "8080 junk" tray
03:46 PM rue_mohr: the 8255 is 24 io
03:46 PM polprog: i could use it with the mcs51
03:46 PM rue_mohr: yup
03:46 PM polprog: i also have the mcs51 book... heh
03:47 PM polprog: i actually found a newer version of it in a bookstore and i bought it
03:47 PM rue_mohr: link link
03:47 PM polprog: its in polish..
03:47 PM rue_mohr: ugh
03:47 PM polprog: it was a book for some 8051 dev board
03:48 PM polprog: i have the iso of the CD that came with it which has an 8051 assembler, with examples
03:48 PM polprog: i think for DOS
03:48 PM rue_mohr: well post a few cool application schematics eh?
03:48 PM polprog: sure :)
03:49 PM polprog: it has a nice cheat sheet card with assembly mnemonics too
03:51 PM rue_mohr: the 74ls147 is a 10->4 encoder
03:51 PM rue_mohr: its 16 pins
03:51 PM polprog: there are nearly no schematics in it
03:51 PM rue_mohr: if you ponder, that it adds up funny
03:51 PM rue_mohr: 10+4 + 2 power = 16
03:51 PM rue_mohr: when you look at the schematic, one pin is NC
03:52 PM rue_mohr: they didn't include a 0 input, because it, by default outputs 0 when there is no input
03:52 PM rue_mohr: :)
03:52 PM rue_mohr: cute
04:04 PM rue_mohr: huh, a little thing with the diode roms, cant mix them with the 74148, voltage levels
04:04 PM rue_mohr: so I'd need to use 2 diode roms
04:15 PM rue_mohr: the 14 input diode rom would be 9 pins long (18 pins), the 7 input one would be 5, the 74245 is 10 pins long
04:15 PM rue_mohr: thats 24 pins long, the 8255 is 20
04:16 PM rue_mohr: what do you do when the best solution isn't the one you want?
04:19 PM rue_mohr: I even evaluated a series of shift registers to take in the bits, with a tiny13 to encode them and a 595 as the host interface
04:20 PM polprog: https://polprog.net/rozne1/ircjunk/8051/8051_cheat_sheet.pdf
04:20 PM rue_mohr: 3x 74165 @ 8 pins long is already 24, no less the tiny13 and a 595
04:21 PM polprog: maybe you should make a card cage version of the system
04:21 PM rue_mohr: this one is meant to be a laptop
04:21 PM rue_mohr: rotary mircocontroller?
04:22 PM rue_mohr: special registry..
04:23 PM polprog: rozkazy = instructions
04:23 PM rue_mohr: ah!
04:24 PM polprog: :)
04:24 PM rue_mohr: if I used an atmega32
04:24 PM polprog: polish technical jargon is funny
04:24 PM rue_mohr: oh well there is the issue, me and polish
04:24 PM polprog: half of the stuff is polish, half is loanwords
04:24 PM rue_mohr: cant get my head around the calculators
04:25 PM polprog: heh
04:25 PM rue_mohr: the m32 has the pin count
04:25 PM rue_mohr: it can save me needing to have the z80 do the encoding
04:25 PM rue_mohr: but
04:26 PM rue_mohr: I would still need a bus interface chip
04:26 PM polprog: just dont make the keyboard controller faster than the z80 itself
04:27 PM rue_mohr: heh
04:27 PM rue_mohr: dont know if I can avoid that if I get to doing a video system
04:28 PM polprog: maybe you could hack together one of the vector CRT controllers
04:28 PM polprog: they have X/Y + blank output iirc
04:28 PM rue_mohr: I want to use one of those 1920x480 lcd's
04:28 PM polprog: and make two dacs that would draw the stuff on an LCD
04:28 PM polprog: yeah
04:28 PM rue_mohr: I came up with a graphic instruction packet
04:33 PM rue_mohr: oh
04:33 PM rue_mohr: hah
04:33 PM rue_mohr: while I'm rewriting the software for the new keyboard, maybe I could correct the nibble order
04:33 PM rue_mohr: I got it backwards
04:33 PM rue_mohr: if you want to write 0x20 to the bus you use 0x02
04:34 PM rue_mohr: I was learning, I oopsed
04:35 PM rue_mohr: re-arrange the memory map and bump the rom to 256k?
04:35 PM rue_mohr: I'd rather not deal with the 2716 I used initially
04:36 PM polprog: hmm, thats useful
04:36 PM polprog: you could make up a cartridge system
04:36 PM rue_mohr: heh, I put a microcassette on it
04:37 PM rue_mohr: and it worked
04:37 PM rue_mohr: 320 chars/sec
04:37 PM polprog: wow
04:37 PM rue_mohr: but, not *on* the motherboard, as its got NO decoupling caps
04:37 PM polprog: the standard 90 minute sized one or the tiny answering machine kind?
04:37 PM rue_mohr: which was a head scratcher for me
04:37 PM rue_mohr: yea
04:38 PM rue_mohr: it worked on breadbaord
04:38 PM polprog: also fun fact
04:38 PM polprog: https://twitter.com/polprogpl/status/1378450974176636936
04:38 PM polprog: thats on the scan too
04:38 PM rue_mohr: ae
04:39 PM rue_mohr: used to be a thing
04:39 PM polprog: oe
04:39 PM polprog: it's a common encoding error
04:40 PM rue_mohr: oh
05:06 PM Tom_L: rue_mohr, i know a little about git
05:06 PM Tom_L: i posted a cheat sheet link for you once
05:07 PM Tom_L: what did you do with it?
05:07 PM rue_mohr: hah
05:07 PM rue_mohr: I needed it, I was posting a new project
05:07 PM rue_mohr: I messed up in all sorts of ways
05:07 PM rue_mohr: but I think I got it in the end
05:07 PM Tom_L: https://education.github.com/git-cheat-sheet-education.pdf
05:08 PM rue_mohr: hah
05:08 PM rue_mohr: https://github.com/ruenahcmohr/KeyBoardLUTGen
05:08 PM Tom_L: looks like you did
05:09 PM rue_mohr: I'm not sure what to do about this keybaord
05:09 PM rue_mohr: 8 rows and 14 columns
05:09 PM rue_mohr: 22 lines
05:09 PM Tom_L: seems like a bunch
05:10 PM rue_mohr: yea
05:10 PM rue_mohr: I need to modify its matrix too
05:10 PM rue_mohr: they mushed the modifier keys into the matrix
05:10 PM rue_mohr: it looks like if you hold down the right ctrl & alt, it screws up half the keybaord
05:11 PM rue_mohr: I had just expected most of it to be in a 8x8 matrix
05:11 PM rue_mohr: I wanted to just hook up the circuit and get it to tell me the codes
05:12 PM rue_mohr: no such luck
05:12 PM rue_mohr: http://ruemohr.org/~ircjunk/tempimage/p1190158.jpg
05:13 PM rue_mohr: I had to reverse engineer it the painfull way
05:13 PM rue_mohr: multimeter says beeeeeeeep.
05:17 PM polprog: i have a calculator keyboard I could RE sometime
05:18 PM rue_mohr: :)
05:20 PM polprog: its of the old kind, carbon pads, but real springs
05:20 PM polprog: now I wonder where on earth is is
05:20 PM polprog: is it*
05:20 PM polprog: i bet it's one of the boxes in the basement, left wall behind the table
05:21 PM polprog: dad says i should make up a warehouse management system to track where what is
05:21 PM polprog: i dont need that
05:21 PM polprog: :P i remember everything
05:22 PM rue_mohr: I used to know where everything came from, but I been losing it
05:23 PM Tom_L: it gets worse
05:23 PM polprog: so i should make an objectsearch.php you say?
05:24 PM rue_mohr: no, keeping it up to date would take all the time
05:26 PM polprog: whos Dysnomia
05:26 PM polprog: hello Dysnomia :)
05:29 PM rue_mohr: hmm
05:29 PM rue_mohr: later I need to convert that twitter thread on the keybaords to a howto page for the site
05:29 PM polprog: good idea
05:29 PM rue_mohr: 16 likes is pretty impressive for content like that
05:32 PM rue_mohr: I noticed I have a non-phantom keybaord in my collection
05:32 PM rue_mohr: (1 diode per button)
05:37 PM Tom_L: do you disclose this channel on twitter?
05:39 PM rue_mohr: not really
05:39 PM rue_mohr: I reffer to #robtoics
05:40 PM Tom_L: still pretty dead there
05:40 PM rue_mohr: yup
05:40 PM rue_mohr: dead everywhere
05:40 PM Tom_L: everywhere
05:40 PM Tom_L: :)
05:40 PM rue_mohr: even twitter is pretty quiet really
05:40 PM rue_mohr: but its sure got a wide audiance
05:41 PM Tom_L: paint your blast cage yet?
05:41 PM Tom_L: or test it
05:41 PM rue_mohr: yea, need some time to try it
05:42 PM rue_mohr: might be this upcomming week
05:42 PM rue_mohr: then I have to make another adapter for the other water one we have
05:42 PM Tom_L: got all the other fittings you need?
05:42 PM rue_mohr: its just a normal exterior thread
05:42 PM rue_mohr: yep
05:43 PM rue_mohr: huh
05:43 PM rue_mohr: what if I 100% rewire this keyboard
05:44 PM rue_mohr: its got 101 keys
05:45 PM rue_mohr: well 95+6
05:45 PM rue_mohr: 6 modifier keys
05:46 PM rue_mohr: hmm
05:46 PM rue_mohr: 10x10 maxtrix
05:48 PM rue_mohr: 10x10 I can decode with two 74147
05:55 PM rue_mohr: if I rewire AND dup the numpad keys, I can go to 9x9, which is a 2M ROM
05:56 PM rue_mohr: the old keybaord didn't have the function keys
05:57 PM rue_mohr: but that wont get my under 81
06:03 PM rue_mohr: hmm
06:03 PM rue_mohr: well I never turn numlock off
06:03 PM rue_mohr: so, the numlock button itself can go
06:04 PM rue_mohr: printscreen, scroll lock, and pause
06:04 PM rue_mohr: pause could maybe have a use
06:11 PM rue_mohr: ok
06:11 PM rue_mohr: I can get it down to 72 keys, if I
06:11 PM rue_mohr: -remove numlock, printscreen, scroll lock, and F9-F12
06:12 PM rue_mohr: - merge the number pad as dups of the main keypad
06:12 PM rue_mohr: keys
06:12 PM rue_mohr: that takes it down to a 1M rom
06:15 PM Tom_L: naw you need a full 102 keys
06:15 PM rue_mohr: hah, it was only 101 to start
06:16 PM rue_mohr: I hate it when numlock isn't on
06:16 PM rue_mohr: so, nonally might I as well drop that
06:16 PM Tom_L: i got an asm to turn it on in my program
06:16 PM rue_mohr: but I might as well permanantly tie the keys to the other ones
06:16 PM rue_mohr: yea, its ALWAYS on
06:16 PM rue_mohr: and this old z80 laptop doesn't have a printer
06:17 PM rue_mohr: so I dont need print screen
06:17 PM rue_mohr: and if I do, I can use ctrl-p
06:17 PM Tom_L: started out as c
06:17 PM rue_mohr: scroll lock and pause
06:17 PM rue_mohr: when was the last time you used scroll lock OR pause?
06:17 PM rue_mohr: exactly
06:18 PM rue_mohr: now, the old keyboard I had on here didn't have ANY function keys
06:18 PM rue_mohr: so, 8 is better than none, still an upgrade
06:18 PM Tom_L: http://tom-itx.no-ip.biz:81/~webpage/rue/clipper/NUMLOCK.ASM
06:18 PM rue_mohr: :)
06:19 PM rue_mohr: oof, I'd think there was an interrupt call for that
06:20 PM rue_mohr: F1 is usually help
06:20 PM rue_mohr: F5 is refresh
06:20 PM rue_mohr: ...
06:21 PM rue_mohr: alt-f4 is quit
06:21 PM rue_mohr: ctrl-f4 is dialog close
06:21 PM rue_mohr: when was the last time we used the rest of them?
06:22 PM rue_mohr: even terminal switching on linux, according to the dirt on my keys I only use up to F5
06:23 PM rue_mohr: well, and I only use * and / on the number pad (C comments)
06:24 PM rue_mohr: its almost too bad the number pad cant be turned into a hex number pad more easily
06:24 PM rue_mohr: it would be more applicable for this machine
06:27 PM rue_mohr: oh I can do the row0 column0 thing
06:27 PM rue_mohr: which allows me to decode 9x9 with a 512k rom
06:28 PM rue_mohr: then I could just dup the numpad and I'm ok
06:39 PM rue_mohr: I lose the ability to detect keyboard mashing, ah well
06:40 PM rue_mohr: but that reduces the main decoder to 1 chip
06:42 PM rue_mohr: according to the docs, the 8255 has a free port. I can use that for the modifier keys
06:42 PM rue_mohr: ok, its a plan
06:43 PM rue_mohr: which means I dont need any more address decoder either
07:26 PM Tom_L: how do you feel about wireless kbd?
07:27 PM rue_mohr: not for a z80 laptop
07:27 PM rue_mohr: when I was at rifrafs I kinda liked it
07:28 PM Tom_L: i'm considering one since my keys stick bad
07:28 PM Tom_L: on one of them anyway
07:28 PM rue_mohr: how does wireless help?
07:28 PM Tom_L: doesn't
07:29 PM rue_mohr: ok
07:29 PM Tom_L: i can get another cheap one but i just wondered if they were any good
07:29 PM rue_mohr: I have a lot of keyabords, its too bad your not next door
07:29 PM Tom_L: i probably have another one too
07:29 PM rue_mohr: how much is a keybaord these days
07:29 PM Tom_L: iirc these were $5
07:29 PM rue_mohr: last I looked, you can get them for $20 anymore
07:29 PM rue_mohr: ok
07:30 PM Tom_L: i dunno now
07:30 PM rue_mohr: they probably aren't being made anymore
07:30 PM Tom_L: my omnikey still trucks on
07:30 PM rue_mohr: all the sensible manufacturing seems to have stopped
07:30 PM Tom_L: i've worn down the 'locator' keys twice
07:30 PM Tom_L: got spares when i could get them
07:30 PM rue_mohr: I got a pile from the govt office
07:31 PM Tom_L: i got one more on the shelf but i forget what's wrong with it
07:31 PM rue_mohr: computer upgrade everyone wanted their old keybaords
07:31 PM Tom_L: and it's got the big plug on it
07:31 PM rue_mohr: heh, the 'd' key doesn't work :)
07:31 PM rue_mohr: ah, xt, well there's its problem
07:31 PM rue_mohr: its probably a good one, with the diodes
07:31 PM Tom_L: no i still use that one but i have 2
07:32 PM rue_mohr: and the real buttons, not the moofed plastic sheets
07:32 PM Tom_L: yes
07:33 PM rue_mohr: ok I wrote the new rom
07:33 PM rue_mohr: so I'll need to rewire the keyboard
07:33 PM rue_mohr: :/
07:34 PM Tom_L: http://tom-itx.no-ip.biz:81/~webpage/rue/Omnikey_key/alps1.jpg
07:34 PM Tom_L: http://tom-itx.no-ip.biz:81/~webpage/rue/Omnikey_key/alps2.jpg
07:34 PM rue_mohr: hahaha
07:34 PM Tom_L: http://tom-itx.no-ip.biz:81/~webpage/rue/Omnikey_key/alps3.jpg
07:34 PM rue_mohr: THAT is what the one I'm working on it
07:34 PM rue_mohr: is
07:35 PM Tom_L: http://tom-itx.no-ip.biz:81/~webpage/rue/Omnikey_key/alps4.jpg
07:35 PM Tom_L: cherry keys iirc
07:35 PM Tom_L: switch
07:35 PM rue_mohr: no mine are some 3 character thing
07:35 PM Tom_L: just dirty i think
07:35 PM Tom_L: it works now anyway
07:35 PM rue_mohr: yea I had to go thru and clean them all
07:35 PM rue_mohr: with 8vdc @50mA
07:35 PM rue_mohr: close it a few times on that and its good as new
07:36 PM rue_mohr: halarious its the same keyboard I'm working on now
07:36 PM Tom_L: interesting how much trouble they went to compared to today
07:37 PM rue_mohr: oh, dont do that method with the controller chips in...
07:37 PM rue_mohr: I pulled out the chips
07:37 PM rue_mohr: cause I'm not using them anyhow
07:37 PM Tom_L: i probably did too
07:37 PM rue_mohr: IBM keycodes are just stupid
07:40 PM rue_mohr: http://ruemohr.org/~ircjunk/tempimage/p1190160.jpg
07:40 PM rue_mohr: huh
07:40 PM rue_mohr: exact same key switches tho
07:41 PM Tom_L: is that an ibm one?
07:41 PM rue_mohr: its an XT/AT it had the switch
07:41 PM Tom_L: is the plug the only difference or are there electrical differences too?
07:42 PM rue_mohr: firmware and plug
07:42 PM Tom_L: i thought about putting a ps2 plug on it
07:42 PM rue_mohr: adapter
07:42 PM rue_mohr: but yea
07:43 PM Tom_L: i sorted thru the kbd pile quite a while back and now i dunno how many i have
07:43 PM Tom_L: i cut the cords on the bad ps2 and kept them
07:43 PM Tom_L: i probably have an adapter somewhere
07:44 PM Tom_L: i know i'm using one
07:44 PM Tom_L: oh damn, i forgot about the xt/at switch!
07:44 PM Tom_L: what did that do?
07:45 PM Tom_L: this omnikey has it too
07:45 PM rue_mohr: changes the protocol
07:45 PM rue_mohr: they changed codes between the XT and AT
07:45 PM Tom_L: so change the plug and flip the switch to AT?
07:46 PM rue_mohr: it shuod be ok at already?
07:46 PM Tom_L: the one i'm using is still on a P166
07:46 PM Tom_L: the other one is on the shelf
07:46 PM Tom_L: all the others are elcheapo kbds
07:58 PM rue_mohr: 19 keys to remap
07:58 PM rue_mohr: 9 completely
07:58 PM rue_mohr: 10 half
07:58 PM rue_mohr: and 16 keys on the number pad to slave to their equivs
07:59 PM Tom_L: is this a 'see if i can' exercise?
07:59 PM rue_mohr: I would like to work on the old computer
07:59 PM rue_mohr: I dont know why
08:00 PM rue_mohr: I kinda feel like I want to rewind and tidy up my past
08:00 PM Tom_L: :)
08:00 PM rue_mohr: wrap up things I couldn't to see if it bolsters the foundation I have now
08:01 PM rue_mohr: the idea was to find a generic keyboard to use on it so it could just be swapped if ever needed
08:01 PM rue_mohr: as you can see, I'm totally going the wrong way with it
08:01 PM Tom_L: so unlike you
08:01 PM aandrew: rue_mohr: still need git help?
08:01 PM rue_mohr: no I got it
08:02 PM rue_mohr: I used a stick with nails, I won
08:03 PM aandrew: that is sometimes the best way
08:06 PM rue_mohr: so
08:06 PM rue_mohr: the origional firmware for the z80 was written in wordperfect
08:06 PM Tom_L: haha i remember that
08:07 PM rue_mohr: not sure what I can open it in...
08:07 PM Tom_L: word
08:07 PM Tom_L: but you don't have it
08:07 PM Tom_L: open office
08:08 PM rue_mohr: VER 2.5+
08:08 PM rue_mohr: FIVE\COMMAND I= incrament address
08:08 PM rue_mohr: R= read set
08:08 PM rue_mohr: W= write set
08:08 PM rue_mohr: P= program rom
08:08 PM rue_mohr: G= callto 0900
08:08 PM Tom_L: if you can't i can convert it to txt
08:09 PM rue_mohr: actually, abiword doesn't do a bad job
08:11 PM rue_mohr: http://paste.debian.net/1192263/
08:12 PM rue_mohr: 900 was the area you could jump to
08:12 PM rue_mohr: 1000 was in ram
08:12 PM rue_mohr: so I would write the new firmware in 1000+ and then test it, if it was ok, I'd change the jump addresses and write it to rom
08:13 PM rue_mohr: I could search/replace *1 for *0
08:13 PM rue_mohr: I had a parallel port capture on the laptop
08:14 PM rue_mohr: I could 'print' the source to it
08:14 PM rue_mohr: it would look for the -, take in 4 address nibbles, a space, 2 data, and then wait for a - again
08:16 PM rue_mohr: clusters of 3 nops were to insert a jump if part of the code got too big
08:18 PM rue_mohr: keyin is the keybaord decoder as-is
08:23 PM rue_mohr: so, back in 1994 when I did that, my version control wasn't ... good
08:24 PM rue_mohr: its entirely possible that the firmware on it now, I dont have source for.
08:38 PM rue_mohr: I'll do a dump of the rom in it to be sure
08:38 PM rue_mohr: it shoudl say on the sticker tho
08:41 PM rue_mohr: it says "5 command vers 2.5"
08:44 PM rue_mohr: I have a version 6, with a command to load file from the pc
09:04 PM rue_mohr: I suppose I could move everything to sdasz80
09:05 PM rue_mohr: wait I think I have some 2816
09:06 PM rue_mohr: I wonder if I could do that without accidently corrupting it
09:06 PM rue_mohr: there is no write line so I should be ok
09:14 PM rue_mohr: ok, dumped
09:14 PM rue_mohr: so, yea, all the nibbles are backwards
09:14 PM rue_mohr: I must have reversed it right at the processor
09:17 PM rue_mohr: so, I guess step 1 is to nibble reverse the dump
09:18 PM rue_mohr: I see differences already
09:41 PM rue_mohr: !?!! bit corruption!?!?!!
09:41 PM rue_mohr: 07A0: FF 20 52 41 FD 20 53 54 - 41 52 54 20 00 20 52 41 . RA. START . RA
09:41 PM rue_mohr: 07B0: FD 20 45 FE 44 20 00 FF - 00 00 00 00 00 00 00 00 . E.D ..........
09:41 PM rue_mohr: strings should be "RAM START" and "RAM END"
09:41 PM rue_mohr: no, its a bad read
09:41 PM rue_mohr: wtf
09:41 PM rue_mohr: well damnit
10:04 PM Tom_L: github probably wasn't a thing in 1994
10:06 PM rue_mohr: the killer was that I slipped at some point and modified my orig
10:06 PM rue_mohr: or so I recall
10:07 PM rue_mohr: to my recollection, I either dont have or dont know which version is on the rom
10:08 PM rue_mohr: the bad read I just did doesn't help
10:10 PM Tom_L: can't read it again?
10:14 PM rue_mohr: yes, ...
10:17 PM rue_mohr: tho I'm not sure it'll read different
10:21 PM rue_mohr: oh maybe its my program
10:24 PM rue_mohr: oh my program is screwing up
10:24 PM rue_mohr: F3 FF
10:24 PM rue_mohr: 02 20
10:24 PM rue_mohr: D7 FD
10:24 PM rue_mohr: 00 00
10:24 PM rue_mohr: 84 F8
10:24 PM rue_mohr: A5 FA
10:24 PM rue_mohr: F7 FF
10:24 PM rue_mohr: its supposed to just reverse the nibbles
10:25 PM rue_mohr: damnit, signed data type!
10:26 PM rue_mohr: 07A0: FF 20 52 41 4D 20 53 54 - 41 52 54 20 00 20 52 41 . RAM START . RA
10:26 PM rue_mohr: 07B0: 4D 20 45 4E 44 20 00 FF - 00 00 00 00 00 00 00 00 M END ..........
10:27 PM rue_mohr: 31 E0 2F
10:27 PM rue_mohr: ok, first thing is to find a version taht sets the stack to 2FE0
10:32 PM rue_mohr: nothin
10:32 PM rue_mohr: none of the code I have on file uses that address for the stack
10:32 PM rue_mohr: but I have mention that I plan to move it there
10:32 PM rue_mohr: I wonder if it was a pre-burn change
10:33 PM rue_mohr: wow
10:33 PM rue_mohr: ok
10:33 PM rue_mohr: I wonder what else I can do to look for change
10:33 PM rue_mohr: s
10:34 PM rue_mohr: one of these versions will be close
10:34 PM rue_mohr: I should dig out the paperwork
10:34 PM rue_mohr: I did a lot of stuff on paper before using word perfect
10:34 PM Tom_L: i commented my code religiously so i could remember years later
10:34 PM Tom_L: it has helped
10:35 PM rue_mohr: oh I have flow charts
10:37 PM rue_mohr: hah, code for driving the graphics display!
10:37 PM rue_mohr: cute
10:45 PM rue_mohr: http://ruemohr.org/~ircjunk/tempimage/p1190164.jpg
10:45 PM rue_mohr: orig concept drawing
10:46 PM Tom_L: you were more particular back then
10:47 PM rue_mohr: :)
10:48 PM rue_mohr: hmm, I think there are older files on the apple IIe!?
10:50 PM rue_mohr: hah
10:50 PM rue_mohr: it was set up for 8 D batteries
10:50 PM rue_mohr: later I changed to 2x 6V 4.5Ah lead-acids
10:51 PM rue_mohr: this was all done so long before I'd ever touched C
10:52 PM rue_mohr: I'v found 4 pages of reverse engineering I did for its orig keybaord
10:54 PM rue_mohr: catch me saying its current decoder was temporary?
10:54 PM rue_mohr: here it is, circa 1995
10:54 PM rue_mohr: http://ruemohr.org/~ircjunk/tempimage/p1190165.jpg
10:57 PM rue_mohr: the later stuff is dated 95/4/6
10:59 PM rue_mohr: http://ruemohr.org/~ircjunk/tempimage/p1190166.jpg
10:59 PM rue_mohr: every line checked off, cuase it was entered using 16 data swtiches, 8 data switches, and a write button
11:00 PM rue_mohr: UNFORTUNATELY I realized after I rebooted it, into the rom that i'd forgoten a command to execute custom code
11:00 PM rue_mohr: so I couldn't do anything with it
11:00 PM rue_mohr: I had to modify it with an execute command and re-enter it all
11:01 PM rue_mohr: 634 bytes
11:04 PM rue_mohr: http://ruemohr.org/~ircjunk/tempimage/p1190167.jpg
11:05 PM rue_mohr: carefully planned work on that huge piece of verobaord
11:08 PM Tom_L: :)
11:08 PM Tom_L: good practice for ya
11:09 PM rue_mohr: so, there are notes in here about auxillary roms and co processors
11:10 PM rue_mohr: ah, one of the keyboard decoder plans
11:10 PM rue_mohr: 8 chips
11:10 PM rue_mohr: one is a rom
11:11 PM rue_mohr: ah
11:11 PM rue_mohr: this one uses the z80 refresh cycle to scan the keyboard
11:11 PM aandrew: printing this: https://www.thingiverse.com/thing:4785323
11:11 PM rue_mohr: it generates an interrupt if there is a key
11:11 PM aandrew: it's fucking huge
11:12 PM aandrew: the bowl part only takes up the entire print bed
11:12 PM rue_mohr: hah
11:18 PM rue_mohr: oo control panel design
11:19 PM rue_mohr: hah, hold down del or F1 on boot? :)
11:20 PM rue_mohr: ohohoh, command key list!
11:20 PM rue_mohr: funt ctrl shift x is power down
11:22 PM rue_mohr: I have a lot of code and notes for stuff I wanted to do
11:22 PM rue_mohr: looks like the late firmware revs didn't get applied
11:24 PM rue_mohr: ohohoh the tape format!
11:25 PM rue_mohr: progra/data ID, 10 byte id... break, 0xAA data length, start address, data, checksum
11:25 PM Tom_L: butterflies...
11:26 PM rue_mohr: ah, another keyboard decoder :/
11:26 PM rue_mohr: 7 chips
11:27 PM rue_mohr: aaah, the memory refresh system would find if a key was down, then you would have to go hunt it out yourself
11:28 PM Tom_L: sounds like the pin change interrupt on the avr
11:28 PM rue_mohr: yup, but worse
11:28 PM rue_mohr: you would have to walk thru all 128 codes to find the key that was down
11:29 PM rue_mohr: oh, tape would be transferred directly to ram according to the plan
11:31 PM rue_mohr: so
11:31 PM rue_mohr: it looks like a rom was always part of the plan, I just didn't have a scanless keybaord circuit
11:32 PM rue_mohr: and there was a provision for keybaord stuff on the 8255 thats there
11:32 PM rue_mohr: which is good, my new design needs some
11:33 PM rue_mohr: heh, "DMA idea"
11:39 PM rue_mohr: most of the designs in here use 7490 for binary counters
11:39 PM rue_mohr: this was still pretty early for my electronics
11:40 PM rue_mohr: hahah, the orig "hello world" title is "initialize screen and print 'hi'
11:40 PM rue_mohr: says "WORKS"
11:40 PM Tom_L: heh
11:41 PM rue_mohr: ah, format for an accessory rom :)
11:43 PM rue_mohr: huh, no firmware
11:43 PM rue_mohr: I rememeber there being a really important 'dont lose it' copy that was the only ref for the exact version on the rom
11:45 PM rue_mohr: but
11:45 PM rue_mohr: it may not matter
11:45 PM rue_mohr: lots of it didn't change
11:46 PM rue_mohr: I was working hard on the screen io routine, because I wanted to get things like scrolling working right
11:46 PM rue_mohr: the keyboard routine will need an overhaul from this anyhow
11:46 PM rue_mohr: and I have a rom image
11:47 PM rue_mohr: which I can probably decompile to use a new compiler anyhow
11:47 PM rue_mohr: a dissassembly wont look much different than the orig source did anyhow
11:52 PM rue_mohr: its interesting tho, the difference between now and then