Jump to content
IGNORED

Question for 1970s-1980s vintage console / computer homebrew developers


Recommended Posts

I'm curious to know what kind of advantages / disadvantages modern programmers have when it comes to developing games for the 2600 and other older systems. For example you have computing power at your disposal that could have only been dreamed about in 1981 as well as solid state media, but you don't have Gary Kitchen working in the next cubicle. I'm under the impression that between 1977 and 1992 there must have been lots of programming tricks dreamed up to take full advantage of the 2600s limited, difficult to work with, yet flexible hardware. I have always found it fascinating how Atari 2600 Combat would have looked right at home on a dedicated home pong type console in 1977, while Solaris could almost pass as an early NES title in 1987 and seems like it should have been manufactured with heat sinks integrated into the cartridge. Thanks!!!

 

PS (actually, I think the Atari 2600 does some things with Solaris that would cause the NES to slowdown, flicker, choke, crash, and catch fire. IMO that game is bat shit insane in the graphics department like a Sega Genesis running Halo LOL :) )

  • Like 3
Link to comment
Share on other sites

Yea power storage tools maybe starting off one would write out code and hand assemble it

 

By the end a low cost computer had a hard drive better compilers and tools to make graphics and whatnot

 

(Start and end of the 2600s life that is)

Edited by Osgeld
Link to comment
Share on other sites

One thing that makes full screen animations easier on the 2600 is that the game program is responsible for drawing the entire picture every frame, meaning that with a few tweaks, a video frame can look completely different from the previous one. The NES, on the other hand, has a certain amount of video memory whose contents define what will be displayed on the screen, and changing large amounts of this memory from one frame to the next is usually not possible. All the dynamism of the 2600 comes at a cost though: not only are the graphics more limited, but a huge portion of the CPU time is spent on video generation and can't be used for actual game logic, so the complexity of the gameplay is affected as well.

 

As a programmer, I really enjoy working with 8-bit consoles because the constraints help define the scope of the software you write for them. If I code a simple platformer for modern PCs, I'll feel like I'm underutilizing all the resources that are available to me, and I don't find that fun. But on machines that have well defined limits that even a single programmer can easily reach, playing around those limits can be really fun, and if you're creative and/or clever enough to come up with something that was previously considered unlikely or even impossible on a specific platform, that comes with a really cool sense of accomplishment.

 

Working with retro computers, as opposed to consoles, isn't as fun for me, because the limitations aren't as well defined. Computers have different configurations, peripherals, add-ons, expansions, upgrades... Because of this, just the name of a machine doesn't convey a specific set of limitations your software has to respect.

  • Like 2
Link to comment
Share on other sites

I feel the same as Tokumaru, it is way more fun developing games for retro consoles than modern PCs and the like. Coming up with a great idea that pushes the hardware and figuring out the puzzle of how to implement it with limited resource is the best challenge.

 

As for modern advantages, definitely writing modern tools to convert graphics and things is very nice. No longer do you need graph paper or something similar to make sprites, but you can easily design them. (Though there are many editors for the A8 and other PCs which are nice.)

 

However like my personal A8 level editor, you can load images of levels and automatically convert them to A8 levels, and the program will subdivide and create the tileset. That would have taken forever or have been impossible on older PC hardware.

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

I enjoy the Atari 2600 because it is very well engineered. The 6502 processor has a wonderful instruction set, and the TIA is an ingenious solution to drawing video graphics with such a small number of transistors.

 

I have been developing video games in the Unity game engine, which uses a high level language called C#, and it is fun to do incredible things with so few lines of code, but it honestly doesn't feel special.

 

I spend a lot of time on the Atari because it has such a big community. I know Unity also has a community, but it's much more corporate.

 

For me, the Atari 2600 /is/ a challenge, but I don't develop almost exclusively on it because it is such a challenge. For instance I am very annoyed that the system only has 128 bytes of RAM, and there are only 76 CPU clock cycles per scanline. I am also very frustrated that the maximum size your cartridge banks can be are 4 kilobytes. If the 2600 had a faster processor, more RAM, and a bigger address space, I honestly don't think I'd ever leave it. The fact it only has 2 hardware sprites is not an issue for me.

 

I find modern consoles and platforms to be very unparsimonious and inefficient with their resources and architectures. Like Hennessey and Patterson (?) of the RISC-V processor foundation say, right now, because Moore's Law doesn't apply anymore, we have to return to a lot of the design priorities that were manifested in computer systems like the Atari 2600 which are Domain Specific - they have a very specialised architecture which does a small number of things /very well/.

 

I suppose that's the reason why the 2600 is so special to me. It only tries to do one thing very well, and it really succeeds at that. The more I work on the 2600, the more beautiful I think it is. It's so easy to use and its architecture helps you achieve what you want to do.

 

I feel like the dawn of the era of the minicomputer, say, the mid-1960s, up until say... the early 1980s is my favourite era of engineering, both at the mainframe/minicomputer and microcomputer level. There are so many beautiful processors and computer architectures that were realised during that time. The DEC minicomputers like the PDP-8 and PDP-11, the Commodore VIC-20 and Commodore 64, the Atari 2600, and the Z80 processor, as well as the Motorola 680X series of microprocessors were all such beautiful beautiful inventions. I look at processors today and they're just churned out for making money instead of being carefully and beautifully engineered.

 

I also like the education and 'hope' for computers that characterise the culture of the mid-60s to early-80s. You had to prosecute an /argument/ for the introduction of computers into everyday life, and it wasn't always taken for granted (why get the newest phone? Honestly: why?). Entire documentaries and TV series were invented for explaining the purpose and need for computers, and a lot of this culture was reflected in the applications towards which computers were put, like the Atari 2600. We have none of that now.

 

I feel very passionately about the Atari 2600, but I still haven't really discovered the /essence/ of that passion, so I'm still working away at my stupid game, and maybe the next game, until I really try and grasp the core of what is driving me.

  • Like 4
Link to comment
Share on other sites

Very well-put, vidak, I 100% agree. I haven't played with Unity yet, mostly because I haven't learned C# (C++ seems to be the highest level language I enjoy coding in), but I mucked around in Blender's game engine awhile ago which uses Python for scripting. It's pretty average I would say, and my biggest issue with it was that it doesn't let you control every little detail in realtime. (They are planning on releasing a new game engine soon which will be much more powerful).

The Atari 2600, on the other hand, while being extremely primitive, gives extreme power to the programmer. The limits of what the system is capable of are fairly known, although coders are constantly pushing the hardware to the max and doing things nobody thought possible.

I think the most beautiful thing about the system is the fact that the designers spent a lot of time adding inexpensive "features" to keep the manufacturing costs down while still allowing Pong and Tank to be possible, not realizing that they were creating an enormous (albeit delicate) universe of possibilities to be discovered.

For example, the VDEL registers. Because the CPU is so slow, the VCS designers realized that many games would need a 2-line-kernel (where the CPU uses 2 scanlines to update the graphics instead of 1). More specifically, they expected Player 1 to be updated on one line, and Player 2 on the next. This would mean they could never be exactly side-by-side, which would be annoying. To solve this, they added simple delay registers, that could delay the graphics of a player/missile/ball by a single scanline. (Actually, it's more complicated than that, but this was the way it was intended to be used.) And because they decided to add this feature, the 6-digit score and 48-pixel sprite are possible. All because the CPU was too slow. And this is just one of many examples. Magic? No, beauty.

Edited by JeremiahK
Link to comment
Share on other sites

I'm curious to know what kind of advantages / disadvantages modern programmers have when it comes to developing games for the 2600 and other older systems. For example you have computing power at your disposal that could have only been dreamed about in 1981 as well as solid state media, but you don't have Gary Kitchen working in the next cubicle. I'm under the impression that between 1977 and 1992 there must have been lots of programming tricks dreamed up to take full advantage of the 2600s limited, difficult to work with, yet flexible hardware. I have always found it fascinating how Atari 2600 Combat would have looked right at home on a dedicated home pong type console in 1977, while Solaris could almost pass as an early NES title in 1987 and seems like it should have been manufactured with heat sinks integrated into the cartridge. Thanks!!!

 

PS (actually, I think the Atari 2600 does some things with Solaris that would cause the NES to slowdown, flicker, choke, crash, and catch fire. IMO that game is bat shit insane in the graphics department like a Sega Genesis running Halo LOL :) )

 

Writing a game that must race the beam in a small footprint is far more challenging for modern programmers than it was in the 70's and 80's.

The biggest disadvantage is that they can't optimize the way we could bitd for having had (relatively) tremendous computing power at their disposal.

Link to comment
Share on other sites

  • 5 years later...

This video shows the process of doing #gamedev using other, larger systems to develop software for the #Atari 2600 and 5200 game consoles using a cross assembler. This example contrasts a cross assembler from Sorcim running on #Atari8bit and #S100 hardware. Enjoy. #retrocomputing #retrogaming

 

  • Like 1
Link to comment
Share on other sites

10 hours ago, tschak909 said:

Yes. I know, and I am in tears, because I can't buy it. (I have a budget I have to adhere to, so I can speak at VCF events!)

I can't justify the cost either. Hopefully it will be bought by somebody who is prepared to make a video, or some other record, that gives us a better idea of how it works.

Link to comment
Share on other sites

12 hours ago, tschak909 said:

Yes. I know, and I am in tears, because I can't buy it. (I have a budget I have to adhere to, so I can speak at VCF events!)

 

-Thom

 

2 hours ago, JetSetIlly said:

I can't justify the cost either. Hopefully it will be bought by somebody who is prepared to make a video, or some other record, that gives us a better idea of how it works.

I would like to buy it, but I don't have an Apple II.

 

I also would like to find a Sluggo I or II

 

Link to comment
Share on other sites

3 hours ago, JetSetIlly said:

I can't justify the cost either. Hopefully it will be bought by somebody who is prepared to make a video, or some other record, that gives us a better idea of how it works.

I know where these development systems wind up, as I know more than a few people of a whole sect whose sole fetish is to buy development systems.

They have no fucking idea how to use them, they just put them on a shelf to gawk at and prostrate themselves towards. :)

 

-Thom

Link to comment
Share on other sites

22 hours ago, tschak909 said:

I know where these development systems wind up, as I know more than a few people of a whole sect whose sole fetish is to buy development systems.

They have no fucking idea how to use them, they just put them on a shelf to gawk at and prostrate themselves towards. :)

 

-Thom

I'd much rather get the schematic and build one from scratch. 

  • Like 1
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.
Note: Your post will require moderator approval before it will be visible.

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.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...