Personal computing discussed

Moderators: mac_h8r1, Nemesis

 
whm1974
Gerbil Elder
Topic Author
Posts: 5761
Joined: Fri Dec 05, 2014 5:29 am

Didn't know this is even possible on a 8-bit PC.

Fri Nov 03, 2017 5:40 pm

I found this 8-bit OS on Wikipedia:
https://en.wikipedia.org/wiki/SymbOS
The Website:
http://symbos.de/

I had no idea all of this could be done with 8-bit systems using assembly language no less. Kind of makes me want to build a homebrew computer using the Z80 w/ 1 MB of RAM and with SD cards for storage. Makes a compiling aguemeant for learning assembly now doesn't it?

Talk about pushing hardware to the max.
 
just brew it!
Gold subscriber
Administrator
Posts: 51531
Joined: Tue Aug 20, 2002 10:51 pm
Location: Somewhere, having a beer

Re: Didn't know this is even possible on a 8-bit PC.

Fri Nov 03, 2017 5:48 pm

Sure, it's possible. Hardly anyone writes stuff like that in assembly language any more because it takes orders of magnitude longer to code and debug non-trivial applications compared to using a high-level language. But it does allow you to squeeze every last bit of performance and functionality out of a platform that is severely constrained in both speed and resources.
Nostalgia isn't what it used to be.
 
whm1974
Gerbil Elder
Topic Author
Posts: 5761
Joined: Fri Dec 05, 2014 5:29 am

Re: Didn't know this is even possible on a 8-bit PC.

Fri Nov 03, 2017 6:04 pm

just brew it! wrote:
Sure, it's possible. Hardly anyone writes stuff like that in assembly language any more because it takes orders of magnitude longer to code and debug non-trivial applications compared to using a high-level language. But it does allow you to squeeze every last bit of performance and functionality out of a platform that is severely constrained in both speed and resources.

Now I'm wondering if we should be teaching kids to build 8-bit homebrew computers and write applications in assembly so they will learn how to work with severely constrained and limited resources.
 
Pancake
Gerbil First Class
Posts: 156
Joined: Mon Sep 19, 2011 2:04 am

Re: Didn't know this is even possible on a 8-bit PC.

Sat Nov 04, 2017 2:46 am

whm1974 wrote:
just brew it! wrote:
Sure, it's possible. Hardly anyone writes stuff like that in assembly language any more because it takes orders of magnitude longer to code and debug non-trivial applications compared to using a high-level language. But it does allow you to squeeze every last bit of performance and functionality out of a platform that is severely constrained in both speed and resources.

Now I'm wondering if we should be teaching kids to build 8-bit homebrew computers and write applications in assembly so they will learn how to work with severely constrained and limited resources.


When I studied EE one class was 8080 assembly language programming. Not that I learned much interesting about computers in that degree. Most interesting stuff was picked up by self-learning programming and making computers (from chips and datasheets) or dropping into comp sci lectures some of my friends were in... 8-bit just isn't that meaningful anymore. I think learning how a computer actually works is useful to picture how algorithms work and data flows in a system but that could be done just as readily using an abstract virtual machine for some sort of simple clean 32-bit instruction set. We are now in an age where you can cobble together some sort of "embedded control system" using a multi-core GHz class credit-card sized computer bought for nix drawing milliamps and building an application using node.js with a web front-end over Wi-Fi... I don't think you learn much or demonstrate much skill doing that. Somebody still has to know how to draw a line pixel by pixel. But the world doesn't need too many people like that anymore. It's APIs all the way down.
 
whm1974
Gerbil Elder
Topic Author
Posts: 5761
Joined: Fri Dec 05, 2014 5:29 am

Re: Didn't know this is even possible on a 8-bit PC.

Sat Nov 04, 2017 3:25 am

Pancake wrote:
whm1974 wrote:
just brew it! wrote:
Sure, it's possible. Hardly anyone writes stuff like that in assembly language any more because it takes orders of magnitude longer to code and debug non-trivial applications compared to using a high-level language. But it does allow you to squeeze every last bit of performance and functionality out of a platform that is severely constrained in both speed and resources.

Now I'm wondering if we should be teaching kids to build 8-bit homebrew computers and write applications in assembly so they will learn how to work with severely constrained and limited resources.


When I studied EE one class was 8080 assembly language programming. Not that I learned much interesting about computers in that degree. Most interesting stuff was picked up by self-learning programming and making computers (from chips and datasheets) or dropping into comp sci lectures some of my friends were in... 8-bit just isn't that meaningful anymore. I think learning how a computer actually works is useful to picture how algorithms work and data flows in a system but that could be done just as readily using an abstract virtual machine for some sort of simple clean 32-bit instruction set. We are now in an age where you can cobble together some sort of "embedded control system" using a multi-core GHz class credit-card sized computer bought for nix drawing milliamps and building an application using node.js with a web front-end over Wi-Fi... I don't think you learn much or demonstrate much skill doing that. Somebody still has to know how to draw a line pixel by pixel. But the world doesn't need too many people like that anymore. It's APIs all the way down.

You still need people who can write the APIs, or rewrite them if needed. I'm thinking that if more programmers have learned how to write code to max out the performance of 8-bit machines, we could be avoiding all of this Bloatware and poorly written programs that has plagued computering for the couple of decades(or longer)
 
just brew it!
Gold subscriber
Administrator
Posts: 51531
Joined: Tue Aug 20, 2002 10:51 pm
Location: Somewhere, having a beer

Re: Didn't know this is even possible on a 8-bit PC.

Sat Nov 04, 2017 7:55 am

whm1974 wrote:
Pancake wrote:
whm1974 wrote:
Now I'm wondering if we should be teaching kids to build 8-bit homebrew computers and write applications in assembly so they will learn how to work with severely constrained and limited resources.

When I studied EE one class was 8080 assembly language programming. Not that I learned much interesting about computers in that degree. Most interesting stuff was picked up by self-learning programming and making computers (from chips and datasheets) or dropping into comp sci lectures some of my friends were in... 8-bit just isn't that meaningful anymore. I think learning how a computer actually works is useful to picture how algorithms work and data flows in a system but that could be done just as readily using an abstract virtual machine for some sort of simple clean 32-bit instruction set. We are now in an age where you can cobble together some sort of "embedded control system" using a multi-core GHz class credit-card sized computer bought for nix drawing milliamps and building an application using node.js with a web front-end over Wi-Fi... I don't think you learn much or demonstrate much skill doing that. Somebody still has to know how to draw a line pixel by pixel. But the world doesn't need too many people like that anymore. It's APIs all the way down.

You still need people who can write the APIs, or rewrite them if needed. I'm thinking that if more programmers have learned how to write code to max out the performance of 8-bit machines, we could be avoiding all of this Bloatware and poorly written programs that has plagued computering for the couple of decades(or longer)

Yes, I believe that understanding what the hardware does under the hood can make you a better developer, even if you code in a high-level language. I don't think we necessarily need to force people to learn 8-bit assembly language though. A more modern architecture (say, ARM) would be fine for this, and you have a lot of inexpensive hardware available like the Raspberry Pi. You could have students write assembly language routines to do stuff via the RPi's GPIOs or something like that.

APIs aren't written in assembly language any more. Device drivers are written mostly in C now, so even if you're working at the bare metal level there's typically little or no need for assembly language in the real world.
Nostalgia isn't what it used to be.
 
Ikepuska
Gerbil
Posts: 98
Joined: Fri Jul 18, 2014 1:53 pm

Re: Didn't know this is even possible on a 8-bit PC.

Sat Nov 04, 2017 9:53 am

just brew it! wrote:
whm1974 wrote:
Pancake wrote:
When I studied EE one class was 8080 assembly language programming. Not that I learned much interesting about computers in that degree. Most interesting stuff was picked up by self-learning programming and making computers (from chips and datasheets) or dropping into comp sci lectures some of my friends were in... 8-bit just isn't that meaningful anymore. I think learning how a computer actually works is useful to picture how algorithms work and data flows in a system but that could be done just as readily using an abstract virtual machine for some sort of simple clean 32-bit instruction set. We are now in an age where you can cobble together some sort of "embedded control system" using a multi-core GHz class credit-card sized computer bought for nix drawing milliamps and building an application using node.js with a web front-end over Wi-Fi... I don't think you learn much or demonstrate much skill doing that. Somebody still has to know how to draw a line pixel by pixel. But the world doesn't need too many people like that anymore. It's APIs all the way down.

You still need people who can write the APIs, or rewrite them if needed. I'm thinking that if more programmers have learned how to write code to max out the performance of 8-bit machines, we could be avoiding all of this Bloatware and poorly written programs that has plagued computering for the couple of decades(or longer)

Yes, I believe that understanding what the hardware does under the hood can make you a better developer, even if you code in a high-level language. I don't think we necessarily need to force people to learn 8-bit assembly language though. A more modern architecture (say, ARM) would be fine for this, and you have a lot of inexpensive hardware available like the Raspberry Pi. You could have students write assembly language routines to do stuff via the RPi's GPIOs or something like that.

APIs aren't written in assembly language any more. Device drivers are written mostly in C now, so even if you're working at the bare metal level there's typically little or no need for assembly language in the real world.


"C is a language that combines all the elegance and power of assembly language with all the readability and maintainability of assembly language”
As someone who actually wrote non trivial programs in 8086 Assembly (not crazy complex either, but definitely non trivial), I can honestly say that properly structured school classes in C for system programming can teach all or at least almost all of the programming skills that assembly would teach with perhaps more engagement and certainly more portability. I mean look at Kernel development or other bare metal or embedded programming like JBI mentioned. I think more people should be exposed to system and ABI development in school, or embedded sensor or other physical hardware with structural resource limitations but you don't need ASM for that, C can do it if you grade people 'correctly' in ways that make them utilize the features of C that mirror ASM.

I remember that one of my classes was programming in C for a chip where the most expensive instruction was MOV, and that had a dramatic effect on my programming once performance was a metric in the grading rubric. It's just that a lot of instructors won't have the skills required. I mean a lot of people who are great at that kind of programming, are usually one of the last few such experts that are quite necessary and well paid at a company, and aren't necessarily great teachers.

Who is online

Users browsing this forum: No registered users and 1 guest