top | item 22645704

(no title)

dmitripopov | 6 years ago

A friend of mine, an 8-bit enthusiast, calls usage of ATMEGA chips "cheating" :) "True" 8bitter relies solely on component base of the 80s.

discuss

order

lvturner|6 years ago

Saw this a few times on HN, but immediately thought of it and feel its an appropriate response to your friend.

"I thought using loops was cheating, so I programmed my own using samples. I then thought using samples was cheating, so I recorded real drums. I then thought that programming it was cheating, so I learned to play drums for real. I then thought using bought drums was cheating, so I learned to make my own. I then thought using premade skins was cheating, so I killed a goat and skinned it. I then thought that that was cheating too, so I grew my own goat from a baby goat. I also think that is cheating, but I’m not sure where to go from here. I haven’t made any music lately, what with the goat farming and all."

joefourier|6 years ago

While clever, I’m not a fan of this argument as it ignores the fact that each of steps are different things requiring different skills. Putting samples together is more arranging music, while creating the notes is composing. After that, you have sound design, playing an instrument, making an instrument yourself...

Sure none of these are “cheating”, but someone somewhere has to do each of those things, and the further down the chain you go, the more “control” you get over your sound and composition. The law of diminishing returns of course hits at some point (although someone may argue that their breed of goats has a certain sound they can’t get any other way).

It’s the same thing in programming: someone chaining together libraries may eventually run into a point where there’s nothing out there that does exactly what they need. That doesn’t mean it’s not your work unless you’ve written the compiler yourself, or have your own fab in your garage, it just means you have to be aware of the degree of control you give up the higher level you go.

JNRowe|6 years ago

Love that description.

In many ways watching people describe and choose their spot in the "grab package" <-> "herd goats" spectrum is my favourite part of AoC each year¹. The squirming some people choose to do when justifying their place in a table of magic internet points is a lot of fun.

Edit: Should add I'm one of those squirmers too, often when I'm thinking about networkx/numpy/etc.

1. https://adventofcode.com/

dmitripopov|6 years ago

I see what you are talking about, but your parable has another side that no one sees - the guy learned a lot of different things in the process :) For people who enjoy learning and exploration it is the true meaning of the whole thing, not a written tune.

okareaman|6 years ago

Beautiful. The law of diminishing returns means that the perfect is the enemy of the good (or something like that.)

coupdejarnac|6 years ago

If your goal is to reduce the problem domain from hardware and software to just software, then yeah, using a chip with most of the hardware work done for you is fine.

Looking at Ben Eater's youtube channel, there seems to be a healthy demand for building more authentic '80s 8-bit systems.

If one's goal is to learn about how to build an 8-bit computer, using a microcontroller is not going to be an edifying experience unless the goal is to do something mostly in the software domain like write a simple OS.

While I think your parable is good advice for getting a business going quickly, it's not appropriate for deep dive learning or hacking.

lalalandland|6 years ago

Yes, it's silly to be gate keeping like this, with some purist fantasy. If OP friend like to role play as a engineer from 1981, that is cool. But he has to realize that that is not everybody's goal.

phire|6 years ago

Personally I don't care that it's a modern "90s" chip.

But the fact that it's a microcontroller rather than a microprocssor bugs me. The lack of an external memory bus feels incredibly in-authentic to me.

phkahler|6 years ago

>> The lack of an external memory bus feels incredibly in-authentic to me.

Yep. It's still a neat project, but don't claim to build an 80's computer using "only 5 chips" when they're more modern chips that allow that low count. A single FPGA can do it all too.

On a tangent, I'm curious about upgrades to old machines that could have been done at the time. For example, my Interact has super low-res graphics where each pixel is 3 scan lines high. That machine was designed for 4-8K of ram but shipped with 16K and had an upgrade to 32K. It seems like increasing the vertical resolution should have been a fairly trivial hardware hack since the RAM is all there. Bumping the horizontal resolution might have been possible but harder. Increasing the available colors should have been fairly easy. It seems to be a case of not enough time for the design to bake. The other 8bit machines with ASICs might not be so incomplete, but there may still be some things that could have been done.

tyingq|6 years ago

Many of the ATMEL 8 bit chips do have an external memory bus. Not used in this case, but it's possible.

Sometimes it's pretty blurry what is a microcontroller and what is a microprocessor. The PIC32MZ/DA has an integrated Graphics Controller and 32MB of DRAM.

pritovido|6 years ago

Steve Wozniak himself was cheating. Instead of using proper D/A converters that costed 100 times more, he made a hack.

And the hack was good enough.

It is one of the things in which academical training is perverse. It trains you to always complicate more and more any subject, and that the hard work is the goal, shortcuts are not permitted.

dmitripopov|6 years ago

I agree. But, you know, enthusiasts enjoy holywars. And there's a thin hazy line between a "true" and a "cheater".

glouwbug|6 years ago

What was the hack? PWM to an RC filter?

tenebrisalietum|6 years ago

A lot of 8 bit designs used designed ASICs that weren't a generally available part, like the Atari 2600 with the TIA, the Commodore 64 with the PLA, etc. Using microcontrollers for these seems fair.

djmips|6 years ago

The PLA wasn't an ASIC but you could call out the VIC 2 instead.

tyingq|6 years ago

Meh. The spirit of a self contained unit (display output, keyboard input, etc) and boot-to-interpreter are there. The Maximite family of boards "cheat" even more with a PIC32. But they are popular, and have the same feel as the 80's 8 bit PCs.

dmitripopov|6 years ago

Yes, but it's not about the feel of the product which is definitely there, but about the skills required to design. I, personally, would never call anybody who designed his own computer whether with ATMEGA or not, a "cheater". It deserves respect, to say the least.

hyperpallium|6 years ago

ZX81, from 1981, used 4 chips.

fred256|6 years ago

One of which was custom designed (an ULA) for the ZX81.

The ZX80 used 21 (IIRC) off-the-shelf TTL chips.

dmitripopov|6 years ago

Well, his argument is not about the number of chips but rather component origins. If you are about to pretend that you are in the 80s and you develop a computer in that time, you've got to use what was available. I argue that ZX Spectrum used custom-made ULA and you kind of emulate that approach to design with ATMEGA and he just laughs :)

The truth is that we live in magnificent times where there's a wide range of choice on how to do things and it is amazing.

jeadfa|6 years ago

[deleted]

yellowapple|6 years ago

I feel like it depends on the goal.

If your goal is faithful retrocomputing, then sure, an ATMEGA is out of the question v., say, a 6502 or Z80.

If your goal is minimalism or simplicity, then an ATMEGA is perfectly viable as a way to get there.

rzzzt|6 years ago

The display controller chip seems to be a hard to source part if you want to stick to 80s components. Do you know what his recommendation would be for that piece?

transitorykris|6 years ago

Yes, that’s been a frustration for me. I’ve settled on the Motorola 6847 which requires a couple supporting chips. This is scavenging parts off eBay though, which seems to be a plentiful source. I’ll find out shortly whether any of them are actually good.

djmips|6 years ago

I can do this in one Chip, an ARM emulating the whole thing or an FPGA version.