* Newbie Roadmap? @ 2005-06-27 18:20 Howard Owen 2005-06-28 21:41 ` Horst von Brand 2005-06-29 21:27 ` Jesper Juhl 0 siblings, 2 replies; 5+ messages in thread From: Howard Owen @ 2005-06-27 18:20 UTC (permalink / raw) To: LKML List I've embarked on a project to write device drivers for an obscure and rare ISA card. It's a modern version of the HP 82973 HP-IL interface produced by Cristoph Klug. HP-IL was a bit-serial, dog-slow version of HP-IB (IEEE-488) that was designed to work with the HP-41C family of calculators, and later with the HP-71 and HP-85. The 41C calculators are my hobby interest. I'd like to introduce myself, and ask for pointers for a newbie device driver author. A little about me. I've been working in IT since before it was called that. I started out in 1985, so that's 20 years. I've been a systems engineer, then a systems administrator, then a systems engineer again, then a systems architect. Those titles had various meanings at various times, but the common denominator has always been systems, systems and systems. I have little academic background, learning most of what I know on the job, on line and at conferences, symposia and training courses. The first kernel architecture I learned about was VAX/VMS 4. I've delved deeper into BSD and Linux than any other kernel architectures, but it has been only as a bug chaser. I've needed to understand the Red Hat version of the 2.4 kernel at my most recent job in order to be able to triage bugs and suggest solutions. My C programming skills are fair. I can read kernel code, and with the help of LXR, I can gain some understanding of what is going on. I probably know just enough to be dangerous slinging my own code around. 8) What I've done so far: I've picked up and started reading "Linux Device Drivers" both editions 2 and 3. I'm about half way through Love's "Linux Kernel Development" I've gotten my device to work under DOSEMU with its userland port access. (The existing software is DOS) Using DOSEMU, I've watched the dialog between the software and the card, and also with external devices. I've talked about the architecture with an interested colleague and made some tentative choices on that front. I'm starting out running Slack 10.1, so I'll probably tackle the 2.4 driver first. At this juncture I'd like to start engaging with the wider community, to make sure I'm not going too far astray. The current driver, once it's finished, won't need wide distribution, since I'm sure there are fewer than 100 boards in existence. But I'd like to write the driver as if it were going to have a wide audience, both for the education in the discipline of writing such things, and for the enjoyment of doing it the right way. If anyone has suggestions or pointers for a newbie with the above background, I'd greatly appreciate hearing from you. Thanks, -- Howard Owen hbo@egbok.com "Even if you are on the right EGBOK Consultants Linux Architect track, you'll get run over if you fwd:50279 pstn:+1-650-218-2216 just sit there." - Will Rogers ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Newbie Roadmap? 2005-06-27 18:20 Newbie Roadmap? Howard Owen @ 2005-06-28 21:41 ` Horst von Brand 2005-06-29 1:08 ` Howard Owen 2005-06-29 21:27 ` Jesper Juhl 1 sibling, 1 reply; 5+ messages in thread From: Horst von Brand @ 2005-06-28 21:41 UTC (permalink / raw) To: Howard Owen; +Cc: LKML List Howard Owen <hbo@egbok.com> wrote: > I've embarked on a project to write device drivers for an obscure and > rare ISA card. It's a modern version of the HP 82973 HP-IL interface > produced by Cristoph Klug. HP-IL was a bit-serial, dog-slow version of > HP-IB (IEEE-488) that was designed to work with the HP-41C family of > calculators, and later with the HP-71 and HP-85. The 41C calculators are > my hobby interest. I'd like to introduce myself, and ask for pointers > for a newbie device driver author. As you say later you have stuff working in userland under DOSEMU (and the "dog slow" part), I'd suggest a userspace driver. It is probably easier to work with, and has the advantage that you can run it under the bog-standard $DISTRO kernel with some care, no patching/reconfiguring/rebuilding to be done. [No, I'm just an old hand here; no expert of any sort. Good luck!] -- Dr. Horst H. von Brand User #22616 counter.li.org Departamento de Informatica Fono: +56 32 654431 Universidad Tecnica Federico Santa Maria +56 32 654239 Casilla 110-V, Valparaiso, Chile Fax: +56 32 797513 ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Newbie Roadmap? 2005-06-28 21:41 ` Horst von Brand @ 2005-06-29 1:08 ` Howard Owen 0 siblings, 0 replies; 5+ messages in thread From: Howard Owen @ 2005-06-29 1:08 UTC (permalink / raw) To: Horst von Brand; +Cc: LKML List, Eric Smith I originally sent this as a private reply to Horst, not having seen it show up on the list. I can't resist tinkering, so this version is slightly improved from the one I sent earlier. Sorry for the duplicate, Horst. Thanks so much for your reply! If I needed the device to work for some practical purpose, I would agree with your suggestion, and call the problem solved with a userland driver. However, I'm interested in writing a proper driver mainly for the fun and education of the effort. There is another hobbyist interest that attracts me about the project. That will take a little explanation, if you will indulge me. The HP-41C won over a generation of engineers. It was a computing system, rather than a mere programmable calculator. At about the same time as the MITS, Altair and Apple 1 hobbyist microcomputers, HP came out with this expandable machine. They also designed, and later released the "dog-slow" HP-IL bit serial master/slave network. The fanatical following of HP-41 enthiusiasts peaked in the US in the mid-to-late 1980s. Before then, they had built a culture of sharing that was not unlike what emerged as the Berkeley branch of the "Open Source Movement." The legacy of all this is a mountain of technical literature and software. Hewlett Packard added greatly to the hoard by cutting loose of most of the internal documentation on the HP-41C and its peripherals under a "don't bother us" license. Nowadays, there is still a community of engineers and similar folks who like to play with HP-41Cs. These folks also have about 100 other HP calculator models to play with, but the 41 seems to hang in there near the top of people's lists. The culture partakes of the earlier sharing culture that the original fans built. However, most of today's participants are DOS or Windows users. For example, there are half a dozen HP-41C emulators that run on PCs. All but one run on DOS/Windows only. One of these is EMU41, by J. F. Garnier. This is a DOS application that emulates the 41C at the microcode level. J. F. has also written code to emulate the HP-IL loop, so his virtual calculator can have virtual printers and disks attached to it. Another one of the old timers of the HP-41 world, Cristoph Klug, has kept up correspondence with M. Garnier. He decided to start raiding old HP-IL hardware for chips so he could produce a new supply of the old HP-IL ISA card. This is the card I'm interested in writing a driver for. Cristoph suggested to J. F. that he modify EMU41 to allow it to talk to the real HP-IL board. J. F. did this, and the result is a hardware/software combination that lets virtual and real devices communicate over the HP-IL loop. It's pretty cool. But J. F. and Cristoph are both old school. Neither of them have expressed much interest in Linux. (One thing I hope to do is to tempt them into paying more attention to Linux.) I entered the picture a mere six weeks ago. I had been looking for a software calculator to port to pdaXrom, a Linux OS for the Sharp Zaurus clamshell PDA models. I ran across Nonpareil, the one and only HP-41C emulator for Linux that I mentioned above. I successfully ported it in an afternoon. (This is testament to the hard work of the pdaXrom crew and to that of Eric Smith, the author of Nonpareil.) That got me thinking about my old, long-lost HP-41CV. I ended up buying one on eBay and the rest, as they say, is history. I was hooked by the idea of wedding the HP-41C, which is the machine on which I first learned to program, to Linux, which has been my favorite OS since 1992, and is currently what gives me the resources to buy old calculator gear. The idea of bringing together the earliest computer technology I had contact with and the latest cutting edge was irresistible to me. So I've been in discussions with Eric Smith about emulating HP-IL for Nonpareil. Eric is an obscure CPU microcode wizard. (Obscure CPU, not obscure wizard. 8) Nonpareil doesn't merely emulate the HP-41C, it also emulates every HP calculator leading up to the 41C with varying degrees of success. Eric is a guy who could produce working emulations of disks and printers, if I could talk him into it. And given a reasonable device interface, he could talk to real hardware too. So that's my intention: to provide Eric with a reasonable driver for the "HP-41C peripheral virtualization project," and to learn about 2.4 and 2.6 character mode drivers while I'm at it. Longer term, I want to design and implement a USB interface to the HP-IL IC. That way I could talk to my HP-41C from my Zaurus running pdaXrom, and then I wouldn't need Nonpareil 8). (Although I'd still probably want access to the virtual HP-IL driven coke machine Eric will undoubtedly write.) Thanks again for your note! Best regards, Howard On Tue, 2005-06-28 at 17:41 -0400, Horst von Brand wrote: > Howard Owen <hbo@egbok.com> wrote: > > I've embarked on a project to write device drivers for an obscure and > > rare ISA card. It's a modern version of the HP 82973 HP-IL interface > > produced by Cristoph Klug. HP-IL was a bit-serial, dog-slow version of > > HP-IB (IEEE-488) that was designed to work with the HP-41C family of > > calculators, and later with the HP-71 and HP-85. The 41C calculators are > > my hobby interest. I'd like to introduce myself, and ask for pointers > > for a newbie device driver author. > > As you say later you have stuff working in userland under DOSEMU (and the > "dog slow" part), I'd suggest a userspace driver. It is probably easier to > work with, and has the advantage that you can run it under the bog-standard > $DISTRO kernel with some care, no patching/reconfiguring/rebuilding to be > done. > > [No, I'm just an old hand here; no expert of any sort. Good luck!] -- Howard Owen hbo@egbok.com "Even if you are on the right EGBOK Consultants Linux Architect track, you'll get run over if you fwd:50279 pstn:+1-650-218-2216 just sit there." - Will Rogers ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Newbie Roadmap? 2005-06-27 18:20 Newbie Roadmap? Howard Owen 2005-06-28 21:41 ` Horst von Brand @ 2005-06-29 21:27 ` Jesper Juhl 2005-06-30 4:39 ` Howard Owen 1 sibling, 1 reply; 5+ messages in thread From: Jesper Juhl @ 2005-06-29 21:27 UTC (permalink / raw) To: Howard Owen; +Cc: LKML List On 6/27/05, Howard Owen <hbo@egbok.com> wrote: > I've embarked on a project to write device drivers for an obscure and > rare ISA card. It's a modern version of the HP 82973 HP-IL interface > produced by Cristoph Klug. HP-IL was a bit-serial, dog-slow version of > HP-IB (IEEE-488) that was designed to work with the HP-41C family of > calculators, and later with the HP-71 and HP-85. The 41C calculators are > my hobby interest. I'd like to introduce myself, and ask for pointers > for a newbie device driver author. > [...] > > What I've done so far: I've picked up and started reading "Linux Device > Drivers" both editions 2 and 3. I'm about half way through Love's "Linux > Kernel Development" Good choice of books. [...] > I'm starting > out running Slack 10.1, so I'll probably tackle the 2.4 driver first. > Slackware runs just fine with a 2.6 kernel. I've been running 2.5.x and 2.6.x kernels on Slack for ages and I'm currently running 2.6.13-rc1 with Slackware-current. [...] > If anyone has suggestions or pointers for a newbie with the above > background, I'd greatly appreciate hearing from you. > You probably already know this, but since you ask I'll point out the obvious :-) Some good documents to read : Documentation/CodingStyle Documentation/SubmittingDrivers Documentation/SubmittingPatches And this I find to be a good website for new kernel hackers : http://kernelnewbies.org/ -- Jesper Juhl <jesper.juhl@gmail.com> Don't top-post http://www.catb.org/~esr/jargon/html/T/top-post.html Plain text mails only, please http://www.expita.com/nomime.html ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Newbie Roadmap? 2005-06-29 21:27 ` Jesper Juhl @ 2005-06-30 4:39 ` Howard Owen 0 siblings, 0 replies; 5+ messages in thread From: Howard Owen @ 2005-06-30 4:39 UTC (permalink / raw) To: Jesper Juhl; +Cc: LKML List On Wed, 2005-06-29 at 23:27 +0200, Jesper Juhl wrote: > > > > What I've done so far: I've picked up and started reading "Linux Device > > Drivers" both editions 2 and 3. I'm about half way through Love's "Linux > > Kernel Development" > > Good choice of books. > Thanks for that feedback. They seemed like good choices, but I couldn't be sure. > [...] > > I'm starting > > out running Slack 10.1, so I'll probably tackle the 2.4 driver first. > > > Slackware runs just fine with a 2.6 kernel. I've been running 2.5.x > and 2.6.x kernels on Slack for ages and I'm currently running > 2.6.13-rc1 with Slackware-current. I had planned to switch to the 2.6.x kernel after doing the 2.4 work. Something tells me there will be a lot of documentation about porting a driver from 2.4 to 2.6, and somewhat less in the other direction. 8) > And this I find to be a good website for new kernel hackers : > http://kernelnewbies.org/ Thanks for that pointer. Although for someone pushing 50, the picture of the nursing penguin is a little incongruous. 8) -- Howard Owen hbo@egbok.com "Even if you are on the right EGBOK Consultants Linux Architect track, you'll get run over if you fwd:50279 pstn:+1-650-218-2216 just sit there." - Will Rogers ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2005-06-30 4:40 UTC | newest] Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2005-06-27 18:20 Newbie Roadmap? Howard Owen 2005-06-28 21:41 ` Horst von Brand 2005-06-29 1:08 ` Howard Owen 2005-06-29 21:27 ` Jesper Juhl 2005-06-30 4:39 ` Howard Owen
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®