NHacker Next
  • new
  • past
  • show
  • ask
  • show
  • jobs
  • submit
My teen years: The transputer operating system (nanochess.org)
eggy 2 days ago [-]
I started programming in 1977/78 in CBM/PET Basic on a Commodore PET 2001 with cassette tape drive and 32k upgrade. I loved those days. My parents didn't understand what the deal was with the costly computer I saved up for at age 13, and why I thought it was so important. It also required many late hours on my part on school nights. I moved on to assembler and C and many other languages over the years. I had a renaissance for the low-level and small thanks to you. Oscar, I worked through your, "Programming Boot Sector Games" with much joy. Your books and writing have brought back some of that nostalgia and fun for me, so thank you for that, and keep it going! It's also resharpened some dead areas and gaps I have sustained from the multiple abstraction layers of today's modern software world.
nanochess 2 days ago [-]
Thanks for sharing! Mine was a pretty similar experience in the eighties, because you could learn so much just by reading books and doing experiments. Recently, I got three Commodore 64 (the descendants of the PET) and I just want to type some BASIC games and start learning. I'm very humbled by the experience of writing "Programming Boot Sector Games", because like you, many people have told me about having a nice experience reading and learning with it, and I'm glad the effort was worth it.
eggy 1 days ago [-]
I also bought a Vic-20 and later an Amiga 1000. Typing in programs from computer magazines. That's another thing I did working through your book rather than downloading the code. You suggest it in the introduction, and I second that! The only way to embed it into your muscles and brain. I am currently teaching my youngest chess (I'm no great player), and reviewing your code has also been enlightening. Keep it up!
kragen 3 days ago [-]
This is so wonderful. I hope I can get your Transputer emulator running to try it. I wish I'd spent my teen years doing something so awesome.

One minor grammar thing: "didn't worked" should be "didn't work", because "do" in English as an auxiliary verb always takes the root form of the verb, just as "will", "may", and "can" do. Similarly "don't exists" should be "doesn't exist".

nanochess 2 days ago [-]
Thanks for the suggestions! I've updated the article.
kragen 2 days ago [-]
I'm delighted to have been of some service.
cjohnson318 2 days ago [-]
I'm a native English speaker and the article reads very naturally. I've been learning Spanish over the last two plus years, and I'm jealous of how regular and consistent Spanish is compared to English.
kragen 2 days ago [-]
The orthography, maybe? And there are no phrasal verbs, which is nice. But you have gender, you have plenty of irregular verbs, you have a significantly more complex inflection system even for regular verbs (including the subjunctive mood and the conditional tense in the indicative), and its allophonic phonotactics are tricky (though English has a fair bit of mess here too).

Zapotec sounds like it would be a lot more difficult, but I think really all natural languages are equally difficult, because if it takes children more than about five years to master them, they get simplified, and if it takes children less than about five years to master them, they accrete irregularities, idioms, and metaphorical sense extensions to compress the representation of low-entropy concepts.

cjohnson318 23 hours ago [-]
I don't know as much about language as you do, but hear me out. You can pretty much sound everything out. The irregular verbs aren't that bad; they're limited to THE highest frequency verbs that you'd expect, e.g., be, go, have, see, say, do, give, etc., and they're all irregular in fairly unsurprising ways, except for caber and andar. After about 20 irregular preterite verbs, there's three irregular imperfect verbs, and five irregular subjunctive verbs. Future and conditional tenses follow a similar pattern, and have about 20 irregulars between them. Compared to French and English, which borrows Germanic AND Latin patterns, that's NOT BAD.
kragen 18 hours ago [-]
"You can pretty much sound everything out" is simply what I was saying about the orthography. It's partly a result of Spanish's phonological conservatism but mostly a result of the orthographic reforms by the RAE in 01726, 01754, 01815, and 01832. But that isn't even a part of the spoken language at all; it's just a property of the writing system. English written in IPA or Shavian (or my own doomed eccentric proposal, http://canonical.org/~kragen/alphanumerenglish) would be equally easy to sound out, but it would still be English. If you were talking out loud to someone who had hypothetically learned English after such a spelling reform, you wouldn't be able to tell the difference.

As for irregular verbs, there are quite a lot more than 20; https://howismyspanish.com/all-irregular-spanish-verbs/ lists over 270 irregular verbs in Spanish, but it also says that's "over ⅓ of all Spanish verbs", so it may not be the most reliable source. There's a lot more than five irregular subjunctive verbs, and they aren't all very common verbs; https://en.wikipedia.org/wiki/Spanish_irregular_verbs#Presen... mentions "moler", for example. Other uncommon irregular verbs mentioned in page include "maullar", "erguir", and "embestir". https://web.archive.org/web/20200807095413/https://socratic.... says that the Manual de la Conjugación del Verbo lists 12'290 different Spanish verbs with 63 different models of irregular conjugations; the number of verbs following one of those models must be in the thousands.

By comparison, English has under 200 irregular verbs, according to https://en.wikipedia.org/wiki/English_irregular_verbs.

cjohnson318 11 hours ago [-]
I've learned a lot. I wasn't aware of the RAE's efforts to tamp down and standardize spelling in Spanish. I think your alphanumerenglish is pretty cool.

I really thought there were only 5 irregular subjunctive verbs: dar, ir, ser, haber, estar, & saber. I've read a couple of novels in Spanish, and it just seems more regular. I guess that's just my opinion. Thanks for teaching me a few new things.

cjohnson318 22 hours ago [-]
One more point: my kid is learning to read, and explaining words like "read", "read", "red", "lead", "lead", "led", "cough", "bough", "bow", "bow", "cow", "tow", "toe", etc., gets very old very quickly.
kragen 18 hours ago [-]
You may be interested in the history of failed orthographic reforms in English; the Simplified Spelling Board https://en.wikipedia.org/wiki/Simplified_Spelling_Board had significant popular support, especially among socialists and progressives, but ultimately failed, the only remnant being the "NO THRU TRAFFIC" signs seen in the US. https://en.wikipedia.org/wiki/Category:English-language_spel... lists a couple of dozen people historically prominent. But nobody in English has ever had the level of political power that the RAE had in even 01815, much less 01726, so it's never happened.
cjohnson318 11 hours ago [-]
NO THRU TRAFFIC has always stood out to me. I hadn't heard of the Simplified Spelling Board, but I'm interested in minimal subsets of languages, like Ogden's Basic English https://en.wikipedia.org/wiki/Basic_English. I use a variation of this as a model when starting a new language, and it's been pretty fun and effective.
lproven 1 days ago [-]
Beware of misleading first impressions... :-)

https://tinyview.com/itchy-feet/2022/06/02/upgrade-required

cjohnson318 22 hours ago [-]
I dunno, it's not that bad. If you focus on learning the subjunctive through a set of rules, then it becomes very intimidating. If you focus on the fact that you use it to discuss wishes, desires, and opinions, then it's a lot simpler. The command form "uses" subjunctive patterns, because you're expressing a very strong desire that someone f-ing does something right now. If you say, "hey do you want me to go to the store later?" then "go to the store later" is in the subjunctive because I'm clarifying what another person wishes to be done. Describing that in a textbook is hard, but seeing it in the wild isn't that bad because you hear the command form all the time.
bjoli 2 days ago [-]
I realized just this month I miss the days of being able to crash my computer completely with a typo. Such a weird feeling. I was debugging some pcie passthrough issues this week and the feeling that the computer could go dark whenever I started the VM was fantastic. It took sooooo much time, and I loved it. Of course, I hated it at the same time. But I got the same feeling as when I was writing ring0 code at 14.

This text makes me relive it!

aa-jv 2 days ago [-]
Get yourself a retro computer and you can appreciate all that joy with renewed vigour! :)

I regularly return to my old 80's 8-bit machine (Oric Atmos, FOREVER!) just so that I can remind myself how great we've got it in this day and age of near-infinite memory, the network-is-the-computer, and endless pixels for days. Nothing sharpens the mind stronger than a misplaced RTS or a failure to budget for room on the stack ..

ralphc 2 days ago [-]
One of my favorite pastimes on my TRS-80 and TRS-80 color computer was to type in a simple basic program that would poke random values into random memory addresses and see how long it would take to crash or do something else.

Sometimes the value would wind up in the basic program itself and it would stop. Mostly it just locked up and I had to hit the power button and try again.

Nevermark 2 days ago [-]
Ha! I did that with the first machine I worked with. A TRS-80 Model III.

Not only was finding interesting memory locations fun, it generated interesting ideas for program features.

I found the address for the line length constant 64, used by the screen scrolling loop. I think the screen was 16 lines x 64 characters. By setting the scroll width to less than 64 I could protect the right side of the screen from scrolling.

So my first games had an area on the right for a non-scrolling title, author attribution, and game state info. It seemed to be a unique feature - I didn't come across any other programs that did that.

Some of my first programs were text adventures. Looking back, I should have put a short room description and usable object list on the right, updating in response to actions. That would have been a significant improvement over having to type "look" over and over, as was typical for those games.

Crazy times: 64x16x1 byte = a 1,024 bytes screen. Total memory was only 16k -> Today that is just a 64x64 rgba (4 x 8-bit channel) icon. But we always found a way to create our programs. I had a 4k RAM TRS-80 handheld and was able to create a tiny version of Zork on that, with a few starting and iconic rooms.

bitwize 2 days ago [-]
Pretty sure I broke a VIC-20 or two doing something like this.
lproven 1 days ago [-]
The HCF instruction is a myth... :-)

https://encyclopedia.pub/entry/33038

bitwize 12 hours ago [-]
But killer pokes were real!
tomcam 2 days ago [-]
All that and he has the name Oscar Toledo. I am pretty sure he’s going to be the subject of a Wes Anderson movie within five years.
kragen 2 days ago [-]
Why, did Wes Anderson make a movie about his father?

If not, somebody definitely should.

trhway 2 days ago [-]
>It was 1992 when the 32-bit transputer board add-on was built by my father.

It were great times. Like aviation in 192x-193x.

raymond_goo 2 days ago [-]
Play his engine here in 3D: http://chess.hulha.net/
junon 2 days ago [-]
Wow I suck at chess.
zamadatix 1 days ago [-]
If the author is still reading: did you enjoy programming for "oddball" systems for the time (like the transputer) more than x86 or would you say the fun comes more from enforcing strict limitations (like fitting in a boot sector) more than system uniqueness?
nanochess 21 hours ago [-]
I didn't know it was "oddball". I had brochures, official Inmos datasheets, and reference books about it, along magazines articles citing it as the "faster processor in the world". I believed it was pretty popular until Internet put me down in Earth, and I discovered the transputer was pretty much dead since 1994.

I was already proficient in Z80 and 16-bit x86, so learning another instruction set was pretty welcome. The fun came from developing things for the first time and discovering how to actually do things, a 32-bit operating system, a K&R C compiler, and the assorted utilities.

Enforcing limitations was inspired by the IOCCC, and later by my boot sector programs. The type of things you do after work, just to test yourself and have some fun.

dang 2 days ago [-]
Submitted title was "Released my full transputer OS, K&R C compiler and utilities (1996)". We've changed that to the title on the page.

(Actually we sometimes make exceptions when the author is the submitter, and I'd be happy to do that here, but the original title is pretty damn cool and will probably attract more readers!)

nanochess 2 days ago [-]
Wow! Thank you!
ForOldHack 2 days ago [-]
Thank you. A ton of work was done, in typing and debugging as well as creating. While some of us were cutting out teeth on nix clones... You made an OS. This is amazing* worthy of praise from Michael Swaine.
nanochess 21 hours ago [-]
Thanks! I love the "Fire in the Valley" book of Michael Swaine. I've read it so many times and always find it very inspiring.
kragen 2 days ago [-]
Michael Swaine dreams of being able to do what Oscar Toledo G. can.
nofool 2 days ago [-]
That's hilarious
bee_rider 2 days ago [-]
Amazing!

> CD path, creates a directory.

Oh, that will mess with Linux users’ muscle memory, haha.

leptons 2 days ago [-]
This is amazing. Nice job, I'm going to have to check this out sometime.

Back around 1985 I was 15 years old and very interested in transputer processors, so much that I called up SGS Thompson, as I wanted to get the datasheets for the chip. The guy at the company was so surprised to be getting a call from a 15 year old. He didn't send me the technical info I was seeking but he did send me some brochures. That's as close as I got to a transputer :(

I daydreamed about transputers and how they could be the future of computing, while I was hacking way on assembly language on my Commodore 64. I'd draw all kinds of network topologies between transputer chips in my high school english class. I had dreams of a system where adding more computing power meant just adding some more transputer chips. In my ideas, connecting a printer would also add more computing power, because the printer would also have a transputer chip in it to control print functions, but when it wasn't printing the rest of "the system" could use the CPU. Of course none of that came to pass, but it was great to daydream about the possibilities.

nanochess 21 hours ago [-]
These brochures were amazing. Just like video games, the cover promised a lot!
1 days ago [-]
LoganDark 2 days ago [-]
Lots of hints of Dutch grammar in here:

> if you are using macOS you'll be able to edit easily the files

I find it charming though, to be honest :)

lproven 1 days ago [-]
The author is a native Spanish speaker, so that would be unexpected.

I think it maybe points to shared features of European languages that English doesn't follow.

LoganDark 1 days ago [-]
> The author is a native Spanish speaker, so that would be unexpected.

Huh, apologies. I have a Dutch friend who has similar quirks in their English, and the article mentions Dutch by name (in "A Dutch operating system"), so I assumed the author was Dutch or that that quirk came from Dutch influence.

For what it's worth, Dutch is not the only language that does this, I'm pretty sure German does as well, and a bunch more. So you may be correct.

hackburg 2 days ago [-]
[dead]
karparov 2 days ago [-]
CD-ROMs and only 128k of RAM? Sorry, that doesn't pass the smell test. Once CD-ROMs were available, 2-digit megabytes of RAM were standard (and affordable) for home PCs.
nanochess 2 days ago [-]
It is something you can download and test, and it includes the source code for the emulator, the operating system, the C compiler, and everything else.

Just provide the emulator with an ISO CD image, and once it boots up, type DIR D: this single operation requires just about 28 kb of transputer RAM memory for the operating system, the command-line processor, and the buffers.

There's a file browser embedded in the text editor, so you can navigate using the arrows keys and choosing text files to read.

In fact, we need very little info to read CD-ROM directories. A directory search only requires a 2 kb buffer and some variables to keep track, read until you find the first part of the path, read that block, and repeat recursively until you find the desired file.

Reading a file from the CD-ROM can also be done just keeping a 2 kb. buffer and some position variables. My transputer operating system is inefficient in this because it reads the CD-ROM discs in terms of 512-byte sectors, cached by the host system.

zamadatix 2 days ago [-]
When something doesn't match your expectations you (and others reading along) can often learn a lot more if you start with the assumption you had missing information rather than the assumption it's just incorrect. Even in cases where the story really does have an error by asking about it instead of asserting it you are more likely to hear something additional you didn't know before.
karparov 1 days ago [-]
When somebody questions a description that by the face of it violates general sanity checks then you (and others reading along) can often contribute more to the discussion by providing the context in which it makes sense, rather than berating the commenter for being critical and not just buying into any claim posted on the internet.
zamadatix 1 days ago [-]
I'm not recommended you buy every claim made on the internet, just inviting you to open with curious discussion about them! I need a good reminder of that myself every once in a while.

If the other commenters left additional discussions on the table I didn't consider let's chat about them. You've also got the author themselves as the poster and in the comments so they may be able to shed more light than I ever could on that side though. It looks like they've since left a comment about the technical approach in the source.

kgwgk 2 days ago [-]
nextts 2 days ago [-]
Bold. In a different timeline they could have been the nvidia.
alexisread 2 days ago [-]
Absolutely: https://www.transputer.net/tn/46/tn46.html

Too bad the UK gov were so shortsighted, or that Atari, instead of making the ATW (https://en.wikipedia.org/wiki/Atari_Transputer_Workstation)

should have simply used a T212 in the ST blitter socket as a coprocessor. That way people could have slowly gotten familiar with the arch :|

People are building new hardware to run transputers though: https://forums.atariage.com/topic/369254-pre-annoucement-atw... so maybe this amazing code can be resurrected on real hardware!

Edit: Found it. This is the paper on 3d parallel transforms: https://repository.arizona.edu/bitstream/handle/10150/611934...

Later transputers also had DSP instructions built-in.

cmrdporcupine 2 days ago [-]
The modern descendant of this stuff (intersecting group of people and ideas) is at https://www.xmos.com/

The target is the embedded space now, though.

rjsw 2 days ago [-]
Later model STs had an expansion connector on the PCB, it wouldn't have needed to be instead of the blitter.
kgwgk 2 days ago [-]
“Parallel implementation of backpropagation neural networks on a heterogeneous array of transputers”

https://pubmed.ncbi.nlm.nih.gov/18255845/

nextts 2 days ago [-]
I like how it isn't laced with superlatives too. Unlike today's papers that sound like a (well educated) used car salesman.
kryptiskt 2 days ago [-]
CD-ROMs were pretty widespread in 1990-91 before RAM prices fell, I had a CD-ROM drive in a 386SX with 1MB RAM.
karparov 1 days ago [-]
Sure. Not common, but possible. Still 8x as much as what I responded to, and thereby even as an uncommon case an order of magnitude more. Further contributing to my point.
piltdownman 2 days ago [-]
An Apple IIc with an Apple II SCSI interface card will happily utilise the 1989 AppleCD SC. Apple IIgs maxed out at 8mb RAM or so; with only 128kb out of the box for the IIc for example.

CD-ROMs were outselling all other audio formats in the United States by 1991 for context.

aa-jv 2 days ago [-]
CD-ROM block sizes were 2048 bytes (2k), so its not entirely unreasonable to design what we now consider low-memory devices around the technology, nor is it a requirement that huge-memory systems be tied to CD-ROM drives...

128k is enough for a lot of things.

kragen 2 days ago [-]
The standard home PC in rural Mexico at the time was a mechanical typewriter—if you were lucky. Oscar Toledo E. designed and built one from electronic components, such as the Zilog Z280 CPU mentioned in the article. As I understand it, he and his son Oscar Toledo G. wrote the operating system for it in assembly.
badgersnake 2 days ago [-]
Pretty sure the ZX Spectrum (also 128k) had some kind of CDROM adaptor, it worked via the joystick port IIRC.

A quick google didn’t tell me anything so maybe I imagined it.

lproven 2 days ago [-]
I think you did imagine it, yes.

The Spectrum did not have 128kB until near the end of its life. It started out with a choice of 16kB or 48kB and that was all you got until 1986.

It also didn't have a joystick port. Nor did it have floppy disks (although 3rd party interfaces existed). Amstrad added joystick ports when it bought the product line and brand from Sinclair Research, soon after Sinclair launched the Spectrum 128, based on a Spanish model.

https://www.computinghistory.org.uk/det/57231/Amstrad-Buys-S...

badgersnake 2 days ago [-]
Yeah, it was definitely in the Amstrad era, not the rubber keyboard. Spectrum +2 / +3 had 128k, and joystick ports. The +3 had a disk drive.

I may still have imagined it.

badgersnake 2 days ago [-]
Okay, I did not imagine it - https://spectrumforeveryone.com/features/inside-codemasters-...

But it's not really a CDROM.

lproven 2 days ago [-]
:-o

Wow! I defer.

A CD not a CD-ROM, but you're right.

bitwize 2 days ago [-]
CD-ROMs were available long before the mid-90s and even 8086-class machines could be equipped with them. They were just very expensive, and there wasn't a consumer market for them until the "multimedia" craze hit which required a 386 or 486 with at least 4 MiB of RAM (8 or more was better). But public libraries, for instance, had InfoTrac machines as early as the late 80s, which were XT- or AT-class machines that pulled magazine data off a CD-ROM catalog.
karparov 1 days ago [-]
That all may be the case. But these two arguments are working against each other.

One is to work on a super low spec machine because things were really expensive and the tech scrap in Mexico at the time just didn't have anything better. Fine, believable.

The other is that CD-ROM drives were available much earlier than the general public believes, just that they were really expensive. Fine, also believable.

But it's much harder to believe that both are true for the same person at the same time and place. Either they couldn't afford the CR-ROM drive or they could afford more RAM. Moving forward on the time axis strengthens one argument (CD-ROM drive availability since those got cheaper over time) at the expense of weakening the other.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact
Rendered at 15:50:54 GMT+0000 (Coordinated Universal Time) with Vercel.