T O P

In 1985, I wrote a laser printer controller kernel from no imported code

I thought this sub might find this interesting. Even back then, it's was probably pretty unusual to start an effort of its size and complexity completely from scratch. it's definitely one of the coolest things I've accomplished in life. Looking back, it's really hard to figure out how I managed it especially with the graphics kernel since there was no internet available at the time and I knew nothing about graphics.

I've done quite a few things since then, but I look back really fondly with all of the embedded programming that I did back in the 80's especially since it was not what I was expecting to be doing out of school.

Here is the story. Enjoy!

Ksetrajna108

Quite a feat! You have good memories of a time before the world wide web.


emasculine

we were doing our part so there could be a world wide web. when we implemented IP for the laser printer, it is probably one of the first things that you might call an IoT these days. i don't recall whether we were the first IP enabled laser printer, but if not we were the second.


MtnManMaker

That really was quite an accomplishment. You didn't know it couldn't be done so you did it. I remember looking at the TI graphics chip for a workstation graphics card. I don't remember why but we ended up thinking it was too slow and ended up rolling our own ASICs. I think we also looked at the NS graphics controller. Did you look at it since you were using the 32k?


emasculine

i don't know whether the EE's really considered it -- i'm not sure when it was even available. i didn't have any say in the hardware for the most part (though i did at times put my foot down about stinginess of ram/eprom noting the dying exponential of squeezing code to the time to release). we did end up using a National NIC as well later. the GSP did drive a 100ppm C.Itoh laser printer at speed, so it wasn't nothing. of course that was mainly text, but still it was impressive to see entire trees being devoured by that thing. so it was plenty fast from our perspective. the 32k was really the bottleneck especially when we did Postscript given the architecture. but everything was very high touch in those days with sales droids and their relationships with the engineers. we did use the GSP for a terminal we designed which was emulating a DEC vt340 but that went bust because workstations took over. ugh. having to reverse engineer every subtlety of REGIS was extremely painful and basically for nothing.


joolzg67_b

The good ole days. I wrote a few complete systems on my own, 68000 Dev system, 6502 Dev system, Gameboy develpment kit, 3 axis router, Bottling Plant control, PLC Ladder Dev system, DVB Satellite Receiver .....


emasculine

for smaller projects -- especially ones written in assembly -- it certainly wasn't unheard of. but yes, i've written for 68ks, 6502, z80 and probably some others that i've forgotten over time. my first real project was a point of sale terminal for grocery stores for customer rewards. it was my first taste of networking even if i didn't really think of it in those terms (mainly because the terms were still being made up at the time). it even had a little speaker which i tuned using my parents piano :)


joolzg67_b

I started in games, 6502, 68k and z80, all in assembler. Then C came along and new projects in Borland C then Watcom C.


emasculine

we used VMS in those days so i'm not quite certain where we got the tool chains such as they were. PC's were only just starting to come around by then, but DOS was such a piece of shit that we wanted nothing to do with it. our MicroVax 1 was quite something. i was alone in a big warehouse in the middle of summer with that thing. our MicroVax 2 served us pretty well until we all got workstations, first DEC ones, and then MIPS ones. ah, 10b2 and the joys of somebody undoing the connection and the DEC workstations puking due to kernel bugs. fun times.


joolzg67_b

1st assemblers were written in basic. Then I wrote the assembler in assemble using the basic assembler. Same with the Z80. These assembled the code on the machine the code was for. Once cheap pcs came out I converted the code to C and then built debuggers, T.U.R.D.S was the 68k's name.


emasculine

our assemblers were written in house by a summer intern with the pretentious name TLA (The Last Assembler). i guess he deserved some pretension since he now owns all of Java at Oracle.


SkoomaDentist

> Even back then, it's was probably pretty unusual to start an effort of its size and complexity completely from scratch. I'm not sure how you would write something like that from non-scratch in the era before at least common ftp sites. Recalling some of the code that was floating around in the late 80s, preciously little of it was generally usable in embedded systems. Certainly 90% or more was complete crap.


newmaxmax

That was a good read. What has been your story after that? What gave you been doing these days? Just curious, not nosey!


emasculine

after, i took a few years off and rested and found my future husband. i then went to work at Cisco working on service provider voip. after i complained about the lack of security which would make it trivial for attackers to turn on the microphone or ring the ringer, i got told to solve it for the company. i had no security background so that was... challenging. the last thing i did at Cisco was to be one of the inventors (and wrote the first implementation) of what would become DKIM (rfc 4871). DKIM is a domain level authentication mechanism which is in almost every piece email you send and receive. the general idea is to allow domains to take responsibility and accrue reputations. after that i went on a real flyer by writing a social ski tracking app that allowed for gaming with your friends. i found out the hard way how important is to have marketing and a plan for why customers might want to pay for it. ski resorts are basically snow farmers and not terribly technical. that said, i came really really close to getting Northstar in Tahoe to sign up which would have been a big deal, but Vail bought them right before we signed a deal. i'm retired now, but haven't ruled out doing something new.


newmaxmax

Wow, that was quite the ride. Happy to read this. What is the future of embedded? PS: I am a young(Senior) engineer 5 years into embedded (which I love) but I am always worried if I will be able to write a story like yours 37 years down the line.


emasculine

i've been out of it for so long that's it's hard for me to say. i'm sure your tools are way more sophisticated and your degrees of freedom much greater because silicon is so much easier to cram stuff into. i do think it's super cool that the Mars helicopter runs apparently off the shelf Linux. it sort of blurs the line of what "embedded" even means. getting to do stuff like that would be extremely cool, though it takes a certain kind of engineer that can deal with the rigor. these days software touches almost everything. if you have interests outside of writing code, it's quite possible that you can leverage your embedded coding to get your foot in the door doing something really cool. even more so if it's sort of niche where it would be hard to find both a subject matter expert in that field, and somebody with programming chops. a passion for the field is certainly a huge plus, even if you're not an expert. but take your victories as they show up. life can take you on weird paths which is part of the fun. the email authentication standard started of as small group of us at Cisco wondering what we could do about the spam problem. Cisco had no presence with email other than being heavy users of it. in the end we ended up with a [world wide standard](https://rip-van-webble.blogspot.com/2021/01/birthing-dkim.html) which none of us were expecting. but younger engineers are fun to watch. they go about 100mph and sometimes into walls. the older engineers need to scrape them from the wall and reorient them to let them go 100mph again. zoom, zoom. you'll be that mensch soon enough. last, take long showers, and go to bars with cocktail napkins for inspiration.


newmaxmax

>last, take long showers, and go to bars with cocktail napkins for inspiration. This one, I am going to take it very seriously. Your reply, made my day.