Aesthetics and Immersive Retrocomputing

In a recent reply to the @@@-assisted retrocomputing discussion (ok, how about “Lambda Lambda Modulo” … :grinning_face_with_smiling_eyes:)

Policy on posts about LLM-assisted retro projects

NoLand stated:

“Personally, what interests me most, apart from the historic aspects, is the challenge of doing things in the respective constraints and limitation of these systems.”

This finally triggered a desire to share in an aesthetic side of my hobby which I’ve termed “Immersive Retrocomputing”. I’ve had a hard time explaining the “why” of historical immersion, especially to younger people, but to give you a flavor of what I do: I use my dad’s plastic templates for drawing circuits and laying out logic blocks. I wire wrap my boards, and I now and then hand code my programs from assembly listings I create into hex machine code. I do use an assembler if the code gets large enough. I rarely go beyond Forth or Basic as far as HLLs. I target the mid-to-late 1970’s machine examples with a slant towards “frugal computing”, using machines I homebrew with ram no larger than what I could afford as a student back in the 70s. So, I think I align a bit with NoLand’s aesthetics regarding our retrocomputing hobby. I also use period-correct parts as much as possible and even use 60s or 70s calculators if I have to compute something while designing or programming, having shown you all examples of my calculators in a reply to Drogon’s “Harking for the past” post.

A harking for the past?,

This hobby of ours is big enough for so many interests and aesthetics that I’ve had to expand my recognition of what retrocomputing and vintage computing is and can be. The variety and depth of many individual’s efforts have been so enjoyable and enlightening for me. It’s changing my aesthetics and interests. For example, I want to investigate early Lisp and the lisp machines, which will require modern laptops and emulators. I will die before being able to investigate even a small fraction of computing’s history in any depth.
My efforts at early microcomputer restoration have been a real challenge with sourcing parts and dealing with never-ending component and board failures. Projecting to the future, I can see this hobby becoming something that will be so emulator-heavy due to the constant physical degradation, bit rot, and lack of authentic parts. This used to bother me a lot. My aesthetic regarding emulators is changing, and I’m looking at Oscar’s PiDP machines with mounting interest.

So, not to get too philosophically constipated here (ok, I already have!), have you given thought to what exactly is your Retrocomputing Aesthetic? How do you handle having to insert an Atmel, Pic, or Pico microcontrollers into your boards to keep something working but not exactly “authentic”? Does the physical, structural, tactile, and color aspect of the box, boards, switches and lights matter to you? Maybe software is your focus, and the second law of thermodynamics won’t be as vicious to your efforts and enjoyment. Anyway, Drogon primed me with his “Harking post” and NoLand’s recent response finally got me to post this. So, Immersive Retrocomputing, Frugal Computing, even Permacomputing. Discovering one’s aesthetic can be so helpful to one’s hobby.

-Paul

6 Likes

I never had never-ending component and board failures.I don’t think I have ever had part or board
explode when powered up.:slight_smile: I have come close, KICAD will let you tie VCC and GND together,

I have problem of having to order parts
months in advance from ebay, if I order now I get them in mid october, or pay $5 per chip from my favorite
supplier if they have stock plus $15 shipping . Thus I have big mis-match of parts on hand or lost in the junk box that I ordered more of by chance.
I have been using CPLD’s and power supply issues have been killing my projects.I think I have found
the right bypass cap sizes. .02 uF and 1.0 uF ceramic caps. I got a 25 ns power glitch after the clock edges on the scope.

I have been using this time to build the computer of my dreams. or is it nightmares.
A simple 16 bit machine has been running for 24 hours with no power supply issue,
I am expanding that design to 20 bits, my dream computer size. Since it is only tacking
on 4 more bits most of my pcb layout is done already. I just need to check now for stupid
mistakes.

The big iron with the moving machinery has always caught my eye, as well as the surplus
ads from the mid 70’s. With low cost programmable devices you can build that odd mainframe
or lab computer. Igor 18 lives again 16 bits plus lisp tag bit and garbage bit.
I have been using a lot of 22V10’s for glue, a 100% TTL computer is still to expensive or
large in size for me.

Mechanical design like cases and front panels is my bugbear, so don’t have anything
but a bare computer for prototyping. I consider my computers to give the feel of the older stuff.

Me? I’m all in on emulation. I have some working hardware from back in the day, but I don’t have the skills or money to do restorations or buy more “stuff”. If I’ve got it and it’s working, great, but mostly it’s emulation for me.

2 Likes

Emulation is a good option , but I don’t have the skills to write a emulator or a computer to spare
to run it on.

For me, it’s a two part answer, at least.

I like having hands on to some of the physical hardware: my main thing is the BBC Micro, and I have the space and the kit to have one to hand next to me in my usual space. The keyboard is quite satisfying, for feel and for sound. The red function keys - which I virtually never use - are quite iconic and they jump out at me whether in real life or in a photo or on film. I do have a green screen CRT and I used to take both the machine and the monitor to user group events:

I’m completely happy to have modern solid state storage: for me, an SDcard, even on a bare board connected by cable, is great. I don’t personally need the sound or the accurate speed of a floppy emulator, but they exist and are popular and I’m fine with them.

I’m also happy to connect a modern LCD monitor, and happy to use PiTubeDirect to connect to a DVI monitor with perfect pixel sampling and frame locking. I don’t have a colour CRT in play (I was going to say I don’t have one, but I remembered that I do have one, gathering dust.)

But, for me there’s a huge mental arena too: the hardware, the memory map, the Basic, the operating system, the assembler, the peripherals. For this, the real thing is interesting but an emulation environment is good too, and often more convenient. In fact, the technology of the emulation is also interesting to me: the performance, the accuracy, the facilities. I can be interested in the details of 6502 coding for the machine, or details of ARM coding in an emulation. I particularly like in-browser emulation, for the convenience, so I’ll run Owlet, jsbeeb, even visual6502.

I’m also very interested in CPLDs and FPGAs and very happy to see, to use, to help develop and debug those kinds of hardware designs, as well as through hole TTL parts in green PCBs. It’s largely a matter of building and exploring a mental model, and I find that very rewarding.

So my actual physical BBC Master does have one or two or three Raspberry Pi devices connected to it, and sometimes an FPGA device, and almost always an SD Card dongle. I do have a Spectrum Next, which I view as an FPGA board in a nice case with a keyboard, but I rarely have reason to use it. I have other FPGA boards and sometimes will use them, driven by a PS/2 keyboard or over serial from USB.

Overall, I like the authentic hardware but I don’t only like that. I’ll visit computer museums and see paper tape in use, or magnetic tape, or a clunky teletype, and I like that very much, but I don’t run that kind of thing at home. I don’t think I’ve even used cassette storage in modern times.

3 Likes

This is a very interesting train of thought.

I feel there are 2 (main) sides to it - one is genuine old (or now retro) hardware. We love our old Apple IIs, BBC Micros, Altair, PDPs, Northstar Horizons, and so on and want to keep them “as is”…

Well, for the most part, as we now have disk emulators (e.g. GoTek) because floppy disks (and even old hard drives) are not lasting forever. We have modern network hardware for e.g. Econet in the Beeb. We have modern replacements for unobtainium add-ons - A lot for the BBC Micro in the form of the PiTubeDirect, Music 500, sector hole emulators for old system that needed floppys with sector holes, etc.

So things like that do represent a real conundrum - but from my point of view, I still have the original unit and 100% compatible peripherals, even if it’s a Raspberry Pi/Pico authentically emulating an original, or being use to create new peripherals that simply weren’t feasible back in the day.

I think that’s fine.

Then there is the “retro new” side of it all. We build something from scratch with an aim of it being “retro”. Emulators are relatively easy and I really don’t think they’re applicable to this, but real hardware.

Which is what I’ve done - I wanted a real 6502 (ok, 65C02) with my own software on a board I designed… But Look at the old systems - The Apple II with a veritable raft of TTL and individual DRAM chips. The BBC Micro with slightly less TTL but a big ULA and more VLSI ICs directly on-board (Disk, Network, Sound) So here did that leave me?

I really didn’t want that, so I turned to using a GAL to save 3 TTL ICs and an Atmel to make booting, video, serial, storage easier. My 2nd main iteration with the 65C816 was the same but had a 2nd GAL to help with the address+data multiplexing that the 65C816 uses. (Also IRQ handling) so that again saved me 2-4 TTL ICs.

So I end up with boards where the focus is really on software. Emulators would give me that, but there is nothing like having real hardware with a real reset button you can push when it all goes pear shaped…

At least for me.

(And note I’ve never looked at putting my boards into a box, but recently I did want that and simply bought something in a box with keyboard and screen, then ported all my code over to it - the code is still mine, still ‘retro’ but it’s now running on very new modern hardware)

And FWIW: I used my 6502/65816 board to help me develop my own TinyBasic, then I built a minimal board to run it with a cut-down 6502 (6507), 4K RAM, 4K ROM (Actually 32K EEPROM, banked 4K at a time) and … a GAL to plumb it all together which saved 3 or 4 TTL ICs.

I also used it to help develop the software for the “next gen” system using a different CPU - much as we might have done “back then”.

We continue to live in interesting times.

-Gordon

4 Likes

To elaborate a bit on my position: Firstly, I’m not a purist. Being able to write source code on a modern, GUI-driven machine, has been a great enabler for me, regardless of whether I’m going to transmit this via serial to the actual machine or if it’s about an emulator. (Frankly, the limited field of view on these system is often just too narrow for me, when it comes to a more complex project) Similarly, being able to process data sections, etc, by the use of modern scripting languages has opened up things for me that would have been just too tedious on the real machine. And, while we’re at it, yes, being able to quickly iterate, test and debug code using an emulator is a game changing productivity enhancement.

(But there are also aspects to this, where I do draw a line. E.g., you could have an emulator which accepts any image file on drag and drop, pops up a control window for scaling, crop, thresholds, etc, and gives you, say, a PETSCII rendition of this image on the screen, and, if you’re eventually happy with the result, exports this is a data section or as a ready-made program. I’m definitely not going to integrate this in my PET emulator, as I’m convinced that this would spoil the core experience, the kind of creativity these systems require and pose as a challenge – and it may also do harm, when it comes to appreciating historic programs that originated under these conditions. I’m already feeling bad, if I’m doing something similar using any tools, I’ve written myself. On the other hand, I’m not averse to drafting something in ASCII as a text file and processing this text to usable data, something you could have done back then, but it would have been much more tedious and messy, of course. The lines will be always blurry.)

When it comes to emulators, for me, it’s kind of important that I’ve already established some connection to the machine. To give a practical example, lately, I’ve been following Tech Tangent’s live streams, where he’s exploring the Sony SMC-70G. This is really a fascinating machine, both in physical appearance and in what it is, does, and how it does this. It’s also a great example for how being able to handle and process disk images to physical media on a modern system using modern workflows greatly improves the ability to explore the system. Without these modern enhancements, the machine would probably remain just an opaque block, lost to history, for the most.
So, while I would love to own this system, I’m probably never have access to one. But, of course, there is an emulator. Will I use it? Probably not. Not at this point, it’s just not a suitable substitute, it’s just not interesting to me. But, if were lucky enough to obtain a SMC-70, I’d be probably more on the emulator than on the real machine.

And, finally, I do think that aesthetics matter. I think, it’s important that an emulator provides some impression of the real hardware and the related experience, especially, when it comes to screen representation. (E.g., it’s hard to appreciate what “Spacewar!” actually is, if all you have is some white on/off pixels stamped onto a black canvas. Of course, any effort to emulate the “real thing” will be only an approximation, but we should at least try.) But this is also just my personal approach, as I’m also interested in the media aspect of computers, and wont be as important to others. And, of course, it also depends on the intended use case and it may be of lesser importance for an emulator, which is merely a productivity tool on the way to real hardware.

3 Likes

I think about this question a lot. It varies some from time to time and project to project, but I think I tend to fall into two brackets of preference:

Everything as it would have been Back in the Day

I think this is more or less what you’ve described as your aesthetic, which you’ve termed Immersive Retrocomputing. In this “mode,” I use physical disks and vintage calculators and printed materials only. I usually try to use a configuration that is more or less realistic for the time, as well – A C128 with the full complement of three external drives including a 1581 or two is just not something that Period Ethan would have had access to, so the internal 1571 and maybe a single external 1541 or 1571 is what I get.

I typically use a configuration like this mostly to run period software and do period things, although in some cases I have used it for deeper exploration and development. For example, I have spent quite a few hours on an Osborne 1 with DD drives but the original 52-column display writing 8080 assembler in CP/M asm with ed.com. In this case, the platform meets a kind of minimum usefulness to embark on more significant activities.

I enjoy and value this because I think it is a necessary step for really understanding computation as a tool or a way of operation, from a different era. The 8-bit home computers of the 1980s were absolutely a lived experience for me, but it turns out that the intervening decades of quickly-expanding computational capability have left me not really remembering how it really was to compute in those days. Floppy drives are slower than I remembered, operating systems are more clever than I knew at the time, display constraints are more important than I had the context to understand, etc.

A particular place that I have found going all the way to really open my eyes is in the area of slow printing terminals. This is a world that just predates my computing experience, so I was aware of it from early on, but had never lived it until recent decades. Many things that I just really Didn’t Understand ("how can you write an entire operating system in ed (1)?) started to become clearer, sitting in front of a PDP-11 with a DECWriter. (“Oh! ed had infinite scrollback with zero-overhead seek and indexing!”) Had I not taken the time to say “no, emulation isn’t what I want, and convenience isn’t what I’m looking for right now,” I don’t think this insight (and others) would have come to me.

Just enough concessions to smooth the way

The second approach I frequently take is to knock of just enough of the rough corners of the period to facilitate my chosen activities. This is a concession to both my own impatience and the reality that I just don’t have as much time for this hobby as I wish I did. In this frame of reference, I might (for example) replace the single 160 kB floppy disk drive with an emulated disk with several times that capacity, allow myself access to an extensive library of scanned or anachronistic documentation, and use a modern laptop to transfer files back and forth from the machine of interest as convenient.

My goal here is to preserve as much of the experience that I would have had in the era of interest, but allow much more rapid progress. As an example of this kind of activity, I have been doing some assembly language development on an Apple //e with a friend, recently; we’re both using original Apple //e computers in a fairly typical late-period configuration (80 column card, dual floppy disks, Super Serial card), but we have augmented them with large A2Pico-emulated ProDOS “hard disk” images. While the emulated disk is faster than the floppy disk, and that does matter, the big acceleration here is that I can have all of my disk utilities, Merlin Pro, my development files, and whatever other tools I “need” on-line at the same time.

Another possibility for this approach is simply an “original” machine, but in a hardware configuration that I could never have afforded or would not have practically used. For example, this might be an Amiga 500 with an external SCSI drive and a period-plausible FastRAM extension module, or an Apple IIgs with a Fast SCSI adapter, 4 MB of RAM on an Applied Engineering extender, and a Zip drive. Did such machines exist? Absolutely. Were they the normal user experience? Not at all, and I would not have had one, because when it was a desirable configuration I couldn’t have afforded it, and when it became attainable I had already moved on. In both cases, however, this has become a relatively convenient machine to use, eliminating floppy swapping and the associated slow access times, and opening the software capabilities to include (particularly in the case of the Amiga) a multitasking workflow with easy access to many tools.

Bridging the gap

Where possible, I like to use machines in their original configuration, and then start smoothing the process a little at a time until I get to a situation that is sustainable given my budget, time constraints, and intellectual itch. For example, the aforementioned Apple //e project started out purely on floppy disks, but getting started each day, and remembering to do all of the swaps and flops, ate a little bit of the fun out of it, so the A2Pico was introduced with a large, fast volume. From that point forward I didn’t feel a lot of friction, so I made no additional changes. In another case, I was using an Apple IIgs with two 3.5" disks and a Disk ][, then added SCSI and a Zip drive, and then later replaced the Zip with a BlueSCSI emulator and dropped back to a single 3.5 drive. The Zip was reasonably handy, but it left some pain points that the SCSI emulator pushed back just enough farther, and carting around those floppy drives just cluttered the workspace and made set-up more painful once transferring files was as easy as remounting an SD card.

I enjoy this philosophy in most things in life; if you want to pay a shop to change the oil in your car, that’s fine, but you should probably do it yourself once to learn what they’re doing and what it’s actually worth to you. If you want to hire a handyman to replace some drywall, that may be a reasonable choice, but try your hand at patching it the first time. I have followed this line of reasoning for many years, and while those around me don’t always understand (“You have a Ph.D., how does it make sense to replace that wheel bearing yourself?” – which is not only an elitist sentiment that I do not appreciate, but also misses the point), I think it leads to a level of personal satisfaction and steady growth of my abilities and knowledge that I value.

Emulation

I should also say that I do not shun or look down upon an emulator! I generally prefer hardware for the aesthetic, as you say, experience, but there are machines I either do not currently have access to or am unlikely to be able to find, tasks that are just a bridge from here to there that don’t capture my experiential interest in the same way, and times and places where hardware just isn’t practical. I’m unlikely to take a half-rack PDP-11 on vacation with me, but I sure can fire up SIMH and do some early Unix hacking. At the end of the day, though, I seldom take this path if I have a choice.

2 Likes

i dunno, i think that retrocomputing solves problems for me, rather than creates them.

low power, low resources? yes please!

retrocomputing contains a lot of lessons you can carry into other spheres.

thank you for this post, very creative.

The only real problem with retro computing is replacement printers and floppy media.
That field could use improving. For floppy media replacement please use standard SD
cards rather than micro-SD cards. The latter are too small to keep track of.
I still use a IBM clickey keyboard, so better keys are a better option than USB.

There are quite a few good reasons to use microSD cards, ranging from availability and cost effectiveness of the hardware to physical constraints. What I do with microSD cards when I’m not using them … is stick them in a microSD to SD adapter so I don’t sneeze them off the table.

2 Likes