Stories
Slash Boxes
Comments

SoylentNews is people

SoylentNews is powered by your submissions, so send in your scoop. Only 18 submissions in the queue.
posted by Fnord666 on Friday May 01 2020, @04:38AM   Printer-friendly
from the gaming-old-school dept.

Back before computers (and cell phones!) regularly sported multi-GHz processors and GBs of memory, there was the 6502 microprocessor. It was the CPU that powered computers made by Apple, Acorn, Atari, BBC Micro, Commodore, and others. Though the 6502 was introduced in 1975, it is far from being a dead parrot!

Classic 8-Bit Computing The Atari Way:

In the classic gaming world, even before the NES arrived on the scene, there was no name more ubiquitous than Atari. Their famous 2600 console sold almost as many units as the Nintendo 64, but was released nearly 20 years prior. In many ways, despite making mistakes that led to the video game crash of the early 80s, Atari was the first to make a path in the video game industry. If you want to explore what the era of 8-bit computing was like in the Atari age, a new resource is compiling all kinds of Atari-based projects.

To get started, this Atari Projects page has instructions on how to install Altirra (a 6502 emulator) to your PC. That is really handy if you don't happen to have a 40-year old computer lying around. Read on for lots more!

Altirra was programmed by Avery Lee to emulate the Atari 400, 800, XL, and XE computers as well as the XEGS game system. It was first released in 2009 and has been consistently updated since. Version 3.0 was released in December of 2017. According to the website, "Altirra is designed with emulation quality in mind, sometimes over speed and polish. It's designed as a system emulator and debugger instead of a games machine, so there is some setup involved". Altirra is licensed under the GNU General Public License (GPL), version 2.

From there, go back to Atari Projects for some code to run on it. Also available on that site are links to still other sites which have downloadable Atari programs.

Then, for those who are curious about the 6502 processor itself, take a look at Visual Transistor-level Simulation of the 6502 CPU. There you can find an emulator of the 6502 processor that runs in your browser! It depicts all activity on the chip when each instruction is executed. Starting from high-resolution photographs of the silicon die and its substrate, they created an exact model of its circuits. They state:

This model is very accurate and can run classic 6502 programs, including Atari games. By rendering our polygons with colors corresponding to their 'high' or 'low' logic state, we can show, visually, exactly how the chip operates: how it reads data and instructions from memory, how its registers and internal busses operate, and how toggling a single input pin (the 'clock') on and off drives the entire chip to step through a program and get things done.

Now you can really say "I see what you did there."

If that's whetted your appetite, check out http://www.6502.org/ for lots more.


Original Submission

 
This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • (Score: 2) by RS3 on Friday May 01 2020, @04:07PM (3 children)

    by RS3 (6367) on Friday May 01 2020, @04:07PM (#989014)

    It seems like the Z80 was a more serious machine and found its way into some pretty decent computers of the day.

    It's kind of a shame the Z8000 didn't take off. Wiki page mentions some good reasons: https://en.wikipedia.org/wiki/Zilog_Z8000 [wikipedia.org]

    Gotta wonder where computing would be if it had been selected by IBM. Maybe the PC wouldn't have taken off. Or???

    Starting Score:    1  point
    Karma-Bonus Modifier   +1  

    Total Score:   2  
  • (Score: 0) by Anonymous Coward on Sunday May 03 2020, @08:57AM

    by Anonymous Coward on Sunday May 03 2020, @08:57AM (#989728)

    The amazing thing about the Z80 is that it is still in use today. Knowing that has to put a smile of pride and accomplishment on the face of the designers whenever they think of that.

  • (Score: 2) by Muad'Dave on Monday May 04 2020, @11:31AM (1 child)

    by Muad'Dave (1413) on Monday May 04 2020, @11:31AM (#990133)

    Indeed. I really liked the idea of having a separate address space for IO [wordpress.com]. I was/am not a fan of memory-mapped I/O. I understand how that got popular, though. Holding a C pointer to your device's register base is pretty handy.

    • (Score: 2) by RS3 on Monday May 04 2020, @02:06PM

      by RS3 (6367) on Monday May 04 2020, @02:06PM (#990191)

      Yes, agreed.

      I guess I've always wondered what ultimately is the most efficient: MMIO or separate I/O. It seems that for multi-thread and multi-core CPUs, you could bog down the RAM bus with very slow I/O stuff. But I'd have to think it through... If all I/O had some kind of Command Queuing spec, it wouldn't matter- as long as IRQ is in effect. If it's polled I/O, then you're bogged down. Too much to think about on a Monday morning! Wish I did this kind of stuff full-time...

      > Holding a C pointer to your device's register base is pretty handy.

      Yes, absolutely. From my modest programming experience, it seems it might open things up to where programmers get into more trouble with array bounds, pointer errors in general. Again, I have to think about it, but maybe mistakes will happen no matter what.

      I guess one of my "worries" with programming is that a wayward program could clobber some I/O somewhere and maybe even cause disk trashing. But I guess some random / errant I/O clobbering is not likely to trash a disk- more likely some other internal error.

      A couple of years ago one of the servers I admin went down. Some kind of MB failure. All I know is the RAID 1 was badly badly trashed. Fortunately I had a standby system ready to go, and recent backups. Point is: some kind of MB failure was able to trash the filesystem.