Jump to content

Why you are interested in 8bit computers?


Ju+Te
 Share

Recommended Posts

During one of David's videos he interviewed several YouTube celebrities when announcing his dream computer. A lot of their answers resonate with me.

One reason is simplicity. The machines can be understood completely by one person. One person could program the computer without needing a team of specialists.

Another reason is platform stability. If you have Windows 10 or Linux or MacOS you have a moving target of sorts. 8 bit machines were usually made for years and remained compatible through their life. Not that compatibility is impossible on modern platforms, but it is still a moving target.

Clearly new systems aren't all bad. We're using them after all. But one can get a lot done with the old systems, far beyond just gaming. The newer technology is just so inexpensive that it is cost effective to write memory hungry inefficient applications.

I think there is a certain charm to the look of older stuff, but I think that comes somewhat of being of a certain age. Some people gravitate to old cars or furniture or whatever. We appreciate old tech. When we are gone, future generations will look back fondly at today's state of the art.

  • Like 5
Link to comment
Share on other sites

I think, what contributes to the appealing is the balance of possibilities and limits. With the success of the PC started an era where one with more money could purchase a better PC than his friend - I remember a friend of mine at the beginning of the 90s was proud of having an 80MB hard disk which already was filled by the half with applications. An 8bit computer has strict hardware limits, so the wow-effect was larger if some smart guys (or girls) had squeezed out some nice graphic effects or cool sounds.

I also think, that 8bit computers mostly attract people who had them in their childhood, so it's rather the hope to get back a little bit of the feelings of youth ("the good old times"). I'm quite sure I couldn't convince my childs to look at them a second time. I only would receive a glimbse of compassion.

  • Like 1
Link to comment
Share on other sites

Nostalgia is of course a big factor.

But the other factor is fun, it's fun to develop on 8 bit stuff.   Modern stuff can be fun to some extent, but it's a lot more like work, in my opinion.

I'd compare it to R/C modeling.  Building and operating your remote/radio control airplane/car/boat is a lot of fun.
As opposed to building or restoring a full size plane, car or boat.  Yeah, there's some fun there, but also, A LOT of work.

Not a direct comparison of course, but pretty similar I'd say.

  • Like 2
Link to comment
Share on other sites

The TLDR of it is, nostalgia. 😁

For me, it's not about being any "better" than what we have today, since that's pretty subjective. I mean, I love modern hardware, Raspberry Pi, and Arduino. I use all of it just about every week for various reasons.

I have always been a hardware guy, I wanted to know how it all works under the hood, and I don't mean the code, I mean how was that code actually processed and executed on a hardware level. That goes for all electronic devices, not just computers, I wanted to know how it functioned at it's most fundamental level. That really got it's start for me back in the 8-bit era, back when computers were easier to use IF you understood HOW they worked. Today, everything is so "user friendly" that most anyone can pick up something and use it with no understanding of how it works, even though the hardware itself is vastly more complicated and powerful. That's both good and bad in my opinion, but that's a whole separate topic. 

It takes me back to a time when I was excited to learn the magic that was computers. These days it's much harder to impress me becasue I know how most of it works, but back then I was honestly impressed with just about every new system I got to see for whatever reason. I was impressed what they were able to do within the limitations of the systems.

Also, something like the X16 is a nice bridge between the 80's and today for me. Like I said, I was all about the hardware, not the code. So I never moved much past BASIC, COBAL, and Pascal when it came to "programming", well, unless you consider Ladder Logic, I did work with that a lot back in the 90's on Allen Bradley PLCs when I was working for Pepsi Co. So this is an opportunity to learn some of what I missed back then, just for the fun of it.

Edited by Strider
  • Like 2
Link to comment
Share on other sites

It's Commodore's ease of use that ignites my nostalgia.  Not just simple, but also usable.

  • The pipeline on Commodore machines was smaller.
  • It didn't require a full team to develop something that people might appreciate and enjoy.
  • Artwork!  Bah!  If you could draw pixels on a grid, then you could do about as well as anyone.
  • Music?  Bah!  SID made it easy -- a decent range of sound effects was reachable.

 

==> Note.  I cannot today create a "game" -- especially not one that anyone will be interested in.  I don't know how to do sound and music, and I don't know how to do graphics.  I don't have an art degree, so my graphics will look like crap compared to anything done in the past 30 years.  I don't have a music degree either, so I won't be able to craft sound effects and the obligatory soundtrack.  Also, I'm not going to buy the Studio Softwares required to do these things.

 

And, yeah, BASIC stank, but Commodore used it very well, and that interface was both simple but also effective.

And yeah, the 1541 disk drive was terrible and good riddance.

 

In short, you could create something like PETSCII Robots, and the big software houses weren't making stuff two orders of magnitude better for most of the 80s.

 

Edited by rje
Link to comment
Share on other sites

On the other hand, my nostalgia isn't so strong that I want to code on the Commodore 64.  The limitations of that platform are painful.

The 40 column display always irked me, even in the 80s.

Eight sprites (without raster interrupt) is painful, and 21 x 24 one-color no longer seems all that great.

Data management was always a problem; the 1541 and I never got along.

I suppose I could write in C for the C64, but the X16 showed up before I tried it, and gave me a beautifully capable system.  In many ways, it improves on the Commodore hardware in ways that are highly attractive.

Yes, there are things I don't know anything about.  The YM sound chip, I will never be able to use.  Fine, I'll ignore it.  Much of the video modes I am really unschooled in.  That's no big deal; what I do know is enough to do what I want.

 

Edited by rje
  • Like 2
Link to comment
Share on other sites

  • Administrators
On 10/31/2021 at 6:19 PM, Scott Robison said:

During one of David's videos he interviewed several YouTube celebrities when announcing his dream computer. A lot of their answers resonate with me.

They pretty much nailed all the reasons! A lot of this resonate with me as well.

Firstly, it's nostalgia. Pure and pleasant feel of nostalgia.

And secondly, it turned out that I did not had enough time with old tech. I hope to redeem that lost time using X16 within the community that is building around it.

Speaking about modern tech, it's truly great that they are so easy to use. We stream video worldwide and all other heavy stuff is easily accomplished by regular modern device. But when you mess with its internals, it turns out to be so complicated and confusing, you just can't grasp it all.

  • Like 2
Link to comment
Share on other sites

On 10/31/2021 at 6:04 PM, rje said:

The 40 column display always irked me, even in the 80s.

VIC20 owners could only be so lucky!

On 10/31/2021 at 6:04 PM, rje said:

On the other hand, my nostalgia isn't so strong that I want to code on the Commodore 64.  The limitations of that platform are painful.

I thought I wanted to do this a few years ago, so I bought a C64c, SD2IEC, and Epyx Fastload cartridge. It was nicer to type on than my VIC20 "breadbin", but the key layout was just different enough from my decades of ANSI layout experience to make typing slow and cumbersome. And then, somehow it didn't feel as nostalgic as I thought it would, even though I learned BASIC on a C64c in 1989. Finally, I wasn't adept with assembly, so I was much capable of being creative with my modern PC, using other tools and languages. So I sold all my C64 stuff and kept the VIC20 as a desk ornament.

On 11/1/2021 at 3:40 AM, Cyber said:

Firstly, it's nostalgia. Pure and pleasant feel of nostalgia.

And secondly, it turned out that I did not had enough time with old tech.

Hit the nail on the head there. There's still a lot of entertainment value and learning to be had with old machines and I keep coming back to the concept for these reasons, but...

Honestly, I am not going to live forever and I'm tired of chasing the perfect creative platform. What I have on the PC already works really well... Why do I need something else, something old? Need? I don't. Want? Increasingly, I don't want it either.

Yeah... It all seems a little silly now... huh.

  • Thanks 1
Link to comment
Share on other sites

Well aside from maybe the Arduino, the phrase Hardware Abstraction Layer comes to mind, also the words latency, and time-slicing. The Arduino though is made to be more sort of an "appliance" than to have an OS.

The 8BG has a lot of various videos on nostalgic technology that I guess elicit different emotions in different people.

One that really stood out to me was the Boot Sector Games video.

If I had things my way maybe I would have an x86/x64/arm compatible DOS with NTFS and TCP/IP support that also can do things like PEEK and POKE to read and write memory addresses directly from C64 BASIC from the command-line. I'd put that on my RPis and NUCs instead of Linux. It's been in the back of my mind for months to try making something like that.

You have to remember also, that way back in Windows 3.1/95/98 you could boot from DOS or "Exit to DOS" from Windows whenever you wanted, you weren't locked into Windows. They took that out around the time Windows Millennium Edition and Windows XP came out. It should have stayed. Plenty of people using PCs around that time just knew that Windows gives up time-slicing and so it's not very low latency when it comes to things like games. In DOS it was direct access to hardware, so you write to something like 0xA000:0000 in 320x200x256, it writes to the screen, no hardware abstraction layers of things hidden behind the scenes. It was more like this, I remember it was a big thing to have a copy of Ralf Brown's Interrupt Listing, things like this: http://www.ctyme.com/intr/int-10.htm

Back then there was also no one going to and fro on stack-overflow asking, "why do you need to know that?" when asking questions about how the kernel works when you even want to learn things like KMDF driver development. There wasn't some ridiculous nonsense about how you don't own the assets in your OS on the system you just bought, that's a real thing with assets like fonts on macOS, that's why you don't see the iOS style emoticons on websites. 🤨

Those latency issues with Windows time-slicing don't seem to have totally gone away with faster processors. I recently wrote a NES emulator in C++/SDL2 I see the latency there occasionally, I see it in Dosbox, I see it in the X16 emulator. There's also a reason people are buying these MiSTer devices because they want low latency.

On the X16 you get to work with the hardware directly that you paid for and own, what a novel idea. 👍

So, on the Arduinos remember that they're mainly made to be an "appliance." They do a task you give it from a sketch, and that sketch can include C/C++ libraries, which could even include inline ASM if I'm not mistaken. I was just checking on my Arduino 33 Nano IoT though and it's like 32kb SRAM and 256kb Flash so there's not much to work with there if you wanted to build an OS. Not saying it couldn't be done.

Edited by john_e79
  • Like 1
Link to comment
Share on other sites

The biggest problem is that there are two (in general) audiences that use computers. There are the technical people who love to use and understand the internals, and there are those who just want or need to use it as a tool. People who only have an interest in web browsing, word processing, etc, want cheap and fast. The rest of us need them to be secure so that we aren't all paying for their lack of knowledge. Most of the lock down of tech has been security related, though there is plenty of "trade secret" and "walled garden" and other stuff at work as well.

In the 80s, the 8 bit computers weren't powerful enough for most people to find them compelling. Now they are and there is far more to accomplish with them.

But I am in agreement with you. I'd like to have both worlds: low level access that allows me to do whatever I want with the computer I own, and high level access that allows me to get stuff done. They don't have to be mutually exclusive, even though they often are.

  • Like 1
Link to comment
Share on other sites

Latency never, really never, was a problem for me on a Windows-/Linux-PC or Mac.

Though I know how my 8bit machine worked (from hardware to software), I've did not reach this level of knowledge for a modern PC (I'm a Java developer since >20 years). There is a lot of abstraction that hides the details - modern processors are much more complicated beasts than 8bit processors. Think about multiple threads, memory not accessible for different processes, ways of leaking information from other threads. But this is not bad in general, the details are not necessary for a normal application developer any more. But as a consequence it produces application bloat - think of some RGB keyboard configuration software that would not fit on a CD or operating systems that require downloads of ~15GB.

Link to comment
Share on other sites

  • Super Administrators
On 11/2/2021 at 11:19 PM, Ju+Te said:

think of some RGB keyboard configuration software that would not fit on a CD

Agreed: program size is getting out of hand, although I will squarely place the blame for a lot of that on bloat. I've gone back and used old versions of Office, and I still maintain that Office 97 is the last version that I actually enjoy using - before the bloat cut in. I feel the same way about older versions of other software I relied on : Paint Shop Pro was my go to tool back in 2001-2002, and I can't even use it now, it's gotten so chonky and slow. 

As to that keyboard configuration software: configuration software my keyboard is less than 2 megabytes, and It actually fits on a small flash drive built into the keyboard itself. (I have 3 KinesisGaming keyboards.) These gigabyte-plus installers are just super bloat heavy with graphics, animation, and a lot of unnecessary junk that should be removed. Razer might be the worst offender, requiring a cloud connection to program your keyboard

45+ gigabyte game installs are down purely to the assets. Bitmaps, game maps, and music are just causing games to burst at the seams. 

None of that really is caused by low level OS dependency stuff, however. Most of what a game developer does is hidden by the game engine, in fact, so they're actually developing on two operation systems, stacked on top of each other: the game engine on top of the OS. 

As to latency - there's a super obvious place to see it. Load up something like Cynthcart on VICE, which lets you play music in real time using the keyboard, and you'll see the latency problem....

  • Like 2
Link to comment
Share on other sites

On 11/3/2021 at 2:41 PM, john_e79 said:

You have to remember also, that way back in Windows 3.1/95/98 you could boot from DOS or "Exit to DOS" from Windows whenever you wanted, you weren't locked into Windows. They took that out around the time Windows Millennium Edition and Windows XP came out. It should have stayed. Plenty of people using PCs around that time just knew that Windows gives up time-slicing and so it's not very low latency when it comes to things like games. In DOS it was direct access to hardware, so you write to something like 0xA000:0000 in 320x200x256, it writes to the screen, no hardware abstraction layers of things hidden behind the scenes. It was more like this, I remember it was a big thing to have a copy of Ralf Brown's Interrupt Listing, things like this: http://www.ctyme.com/intr/int-10.htm

Man, those were the days... once you discovered that plotting pixels in any DOS graphics mode was as easy as setting a pointer address to 0xA000:0000 in EGA/VGA memory, then incrementing the pointer to fill the screen pixel array with the colour palette index of your choice... you entered the magical realm of PC graphics where life would never be the same...

The next step of the journey would be displaying PCX images and sprites to screen, then Bresenham's line algorithm and eventually polygon rasterization... add a bit of logic and you had your very own DOS game. And if it's possible to feel more nostalgic for a development environment than the actual game you designed with it, then... Borland Turbo C, you were simply the best!

  • Like 1
Link to comment
Share on other sites

Well, I also remember my first steps in the Win32-API using TurboPascal. Man, those were days! It was amazing how well everything fitted together and allowed to create applications that looked and behaved like normal Windows applications.

  • Like 2
Link to comment
Share on other sites

On 11/5/2021 at 9:53 PM, MaicoD said:

Man, those were the days... once you discovered that plotting pixels in any DOS graphics mode was as easy as setting a pointer address to 0xA000:0000 in EGA/VGA memory, then incrementing the pointer to fill the screen pixel array with the colour palette index of your choice... you entered the magical realm of PC graphics where life would never be the same...

The next step of the journey would be displaying PCX images and sprites to screen, then Bresenham's line algorithm and eventually polygon rasterization... add a bit of logic and you had your very own DOS game. And if it's possible to feel more nostalgic for a development environment than the actual game you designed with it, then... Borland Turbo C, you were simply the best!

Oh yeah, all good stuff. When I started out with PCs in DOS back in 92 I was tinkering around with BASIC, then in mid-93 I was in 9th grade they sent me out to Texas Tech for two weeks for this gifted program which was not super fun with the competitiveness of other students there but I did pick up LOGO there, about 96-ish I picked up Turbo Pascal then Turbo C and some Turbo ASM a little later. I was hooked on demoscene-ish things back then and Ansi Art and BBSes too. All you have to say is PCX and images of Deluxe Paint 2 Enhanced and Neopaint come to mind. I started writing a pixel art paint program in C#/UWP just a few weeks back that does pen support for my Surface Pro 7 pen with InkCanvas and hardware accelerated pinch-zoom with ScrollView and I put a small LOGO interpreter in it if you want to code pixel art using a LOGO turtle.

  • Like 1
Link to comment
Share on other sites

On 11/3/2021 at 1:19 AM, Ju+Te said:

Latency never, really never, was a problem for me on a Windows-/Linux-PC or Mac.

Though I know how my 8bit machine worked (from hardware to software), I've did not reach this level of knowledge for a modern PC (I'm a Java developer since >20 years). There is a lot of abstraction that hides the details - modern processors are much more complicated beasts than 8bit processors. Think about multiple threads, memory not accessible for different processes, ways of leaking information from other threads. But this is not bad in general, the details are not necessary for a normal application developer any more. But as a consequence it produces application bloat - think of some RGB keyboard configuration software that would not fit on a CD or operating systems that require downloads of ~15GB.

When you say that latency isn't a problem for you and that you're a Java coder in the same reply...............

Here you go, I was trying out halfNES, written in Java the other day. Yep it's got lots of frame stutters and frame skips when I test it, I put that in the category of general latency, and not just input lag necessarily, maybe I'm miswording that.

I picked up Java about 20 years ago back when it was still under Sun Microsystems, which were much nicer days I think for Java, I also learned Oracle around the same time. I also picked up C# around the same time, which I still use fairly regularly. I recently started writing a NES emulator though in C/C++/SDL2 much like the X16 emulator is written in C/SDL2. I probably would not write something like that in C# or Java without writing the core of it in C/C++ and calling into it via Interop in C# or JNI in Java, using the higher level language as a UI layer. Higher level languages do try to hide some details, but I still find them very beneficial to learn, depending on what I want to do.

Since your post though was about Arduinos and Raspberry Pis let me respond to that. I've got a few Arduinos and a few Raspberry Pis. You could with the Arduinos hypothetically take a sketch and make it reference some C/C++ library which could reference some inline ASM, but, you might not do that regularly. Arduinos are made to be more so "appliances" than a full OS. I've seen attempts at an OS on the Arduino but it's a bit of a squeeze, my Arduino 33 IoT Nano only has I think 256kb flash RAM so it's not much to work within. You could also try to make a bare metal OS for the Raspberry Pi and I've been in those forums before talking to various developers and there are nuances I've read about it with regards to things like the GPU, I've done some minor ASM so far on the RPi4B.

I'm interested in OS development btw, so something like the X16 interests me and I plan to get one. The X16 doesn't have its ASM already watered down by a Hardware Abstraction Layer was part of my earlier point, it's direct access so you can maybe learn some interesting things with it. There are no ominous "why do you need to know that?" responses from people if you ask questions about the kernel, as there are sources to its kernel on github. I'm also familiar with the 65C02 because I've already written a 6502 emulation for a NES emulator. One of the things that makes the X16 interesting is precisely that it's not a multi-tasking system so yes, it doesn't have to think about thread safety and about protecting process memory, so, if you were delving into it, it's not so complex to learn as, say, taking in and learning the whole Linux kernel sources.

Link to comment
Share on other sites

On 11/2/2021 at 10:58 PM, Scott Robison said:

The biggest problem is that there are two (in general) audiences that use computers. There are the technical people who love to use and understand the internals, and there are those who just want or need to use it as a tool. People who only have an interest in web browsing, word processing, etc, want cheap and fast.

I'm in neither category, and you're right, I'm probably a niche in the niche.

I'm a software developer who doesn't really want to understand all of the internals if I can avoid it; I just want a simple toolchain that lets me write games that aren't three orders of magnitude worse than most things written for the target platform (I'm fine with being two orders of magnitude worse though).

With some minimal software*, the Commodore 64 gave me that toolchain.

 

* The ubiquitous Sprite Editor, Butterfield's Supermon, and Martin Kees' SuperBASIC 64 (which made it trivially easy to use sprites and the SID), helped me write a dozen half-finished BASIC games in the 1980s.

 

Edited by rje
  • Like 2
Link to comment
Share on other sites

On 11/12/2021 at 8:50 AM, rje said:

I'm in neither category, and you're right, I'm probably a niche in the niche

Well, I did simplify it quite a bit. Most analogies fall apart at some point, and mine did. I think your desire still puts you in the tech loving crowd. Even if you don't want to understand the hardware at the chip level, the fact that you are willing to live with the limits of the tech and desire for good tools for it definitely excludes you from the "just web browsing and word processing" crowd.

  • Like 2
Link to comment
Share on other sites

On 11/12/2021 at 11:39 AM, Scott Robison said:

Well, I did simplify it quite a bit. Most analogies fall apart at some point, and mine did. I think your desire still puts you in the tech loving crowd. Even if you don't want to understand the hardware at the chip level, the fact that you are willing to live with the limits of the tech and desire for good tools for it definitely excludes you from the "just web browsing and word processing" crowd.

Quite. It's not the second group who are buying the coffee cups that say "It's a Hardware Problem" and "It's a Software Problem" ... it's the Software and Hardware subgroups (respectively) of the first group.

And, to be clear, it IS a hardware problem. The software's working JUST as it was intended to.

  • Haha 3
Link to comment
Share on other sites

On 11/12/2021 at 11:46 AM, BruceMcF said:

And, to be clear, it IS a hardware problem. The software's working JUST as it was intended to.

That reminds me of an incident many years back where a software problem cost me $100 because I was sure it was a hardware problem.

Long story short, I was having issues with a sound card, the internet was young, info was scarce, and I concluded the card must be failing. So, I upgraded, got a new card, different model. Couple weeks later, I randomly learn via a forum it was a driver issue, and a patch was forthcoming.

Yeah, that was defiantly a classic "Picard Facepalm" moment for me. 😆

picard-face-palm.gif.87f04a9dcf76540ea3e26848a2db01fc.gif

Edited by Strider
  • Like 2
Link to comment
Share on other sites

About 7 years ago, a friend of mine started building his own giant collection of arcade machines focused on vector graphics games and pinball. I was into retro gaming/computing a bit at that point, but getting to spend so much time with those machines really gave me the bug bad.

I didn't have the money or space to get into arcade machines. I've been a programmer for 20 years and I knew there were still at least a few people out there doing programming for old consoles, so I decided to pickup a 2600, my first childhood console, to learn how it worked and how to program for it.

Every 2600 tutorial starts out with a brief history of the 6502, that's where I learned just how big a part of my childhood entertainment that little processor was. It was in basically every console I loved and a bunch of the arcade/pinball machines I liked. Then I learned just how big of a community there still was around, not just retro computing, but even specifically 6502 based machines. Knowing that what I learn for programming the 2600 could be somewhat transferable to so many different machines was really appealing.

I learned a ton over the next few years but, eventually, my interest in building anything fun or useful myself waned quite a bit. Now I appreciate what others have built so much more and I love playing the homebrew games.

IMO, the retro communities are the best ones to be a part of on the internet these days, and they are what have really kept my interest so high for this long.

Edited by jtk
  • Like 4
Link to comment
Share on other sites

On 11/18/2021 at 5:31 PM, jtk said:

IMO, the retro communities are the best ones to be a part of on the internet these days, and they are what have really kept my interest so high for this long.

I share that opinion. While I love modern tech, many of the communities are more "toxic" than I care to deal with, so I don't participate in them unless there's a darn good reason.

My time is precious to me, so I prefer to spend my community "geek" time here. 😉

Link to comment
Share on other sites

On 11/19/2021 at 11:16 AM, Strider said:

I share that opinion. While I love modern tech, many of the communities are more "toxic" than I care to deal with, so I don't participate in them unless there's a darn good reason.

My time is precious to me, so I prefer to spend my community "geek" time here. 😉

I concur. With a minimum of exceptions to the rule, everyone here is great to interact with. I may or may not be an exception. 😄

  • Haha 1
Link to comment
Share on other sites

On 11/19/2021 at 10:25 AM, Scott Robison said:

I concur. With a minimum of exceptions to the rule, everyone here is great to interact with. I may or may not be an exception. 😄

Some consider you exceptional, but I don't know what noun they'd pair with that adjective. 🙄

I guess making that comment makes me a retro grammar geek. 😁

  • Haha 2
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

Please review our Terms of Use