Q) I know that the third console generation (NES/ Master System) were 8-bit but what were the systems before that? Was Pong 1-bit?
That’s a surprisingly good question but the answer may disappoint. What we classify as the first console hardware generation (the Pong systems) actually predate the idea of bits altogether. Why? Well because bits typically refers to the data bus between the processor, the RAM and the GPU (graphics processor), the original Pong systems contained none of this.
Rather than process information like a modern computer, early hardware made use of transistors, like computers were doing as far back as 1954 (before that computers used vacuum tubes). In essence, a transistor is a physical binary switch that can be in one of two states (off or on), very much like the binary bit the microprocessor would do a little later on.
A very interesting look as to how these early games worked can be found in this article and proves that even a game as simple as pong would have required several bits of memory to function.
As for the home consoles that followed, even the second generation (Atari 2600, Intellivision, ColecoVision etc.) were in fact powered by 8-bit processors. There are often rumors that they were 4-bit and doubled to 8 upon the 3rd generation but these are untrue. No 4-bit system ever existed (though it should be noted 4-bit processors did exist and were used in many calculators and even early simple handhelds). The reason NES and Sega MS games look so superior to the graphics of the prior generation has all to do with the amount of RAM dedicated to graphics.
Q) I was wondering what language was used to program games for the NES and SNES? Could anyone write a game for these systems on today’s personal computers?
Let’s start with the last part of your question first. Yes. Coding a game can be very easily done on today’s technology using any one of a variety of readily available options. To mimic the resources available to developers at the time or to just get a better understanding of how systems like the NES process information across their data registries, using an emulator is a very convenient way of starting fresh or deconstructing the code of an existing game to see what does what.
That’s not the only means, however. We live in a time where developing a game for nearly any platform (even modern hardware) can be accomplished using powerful preexisting engines (like Unity and Unreal). Anyone with an internet connection has access to the same exact tools and resources as the best developers in the industry. The myriad of options, customizations and controls of these engines can be extremely intimidating to beginners, however, so there are much simpler tools out there (Game Salad, GDevelop etc.) that all but eliminate the need to know how to code to make a game.
If you want to develop a game using pre-existing tools that can even be saved to a cartridge for play on original NES hardware, have a look at NESmaker.
Now as for the beginning of your question, most games were originally developed for the NES using 6502 assembly language and 65c816 assembly language for the SNES.
If you’re not familiar with assembly, it’s a low-level language that controls memory resources directly through the processor’s registries (6502 is, of course, the NES’ CPU). This was critical as memory was so limited, working in a higher language would have been too taxing on system resources to run quickly and smoothly.
On the NES, writing game code in assembly was essential, but by the time the 16-bit era came around, some developers began writing in C and using the assembler just for the base code. By the N64 era, programmers could develop games entirely in a higher-level language like C, though even then MIPS R4K assembly was still vital for maximizing the hardware configuration’s resources directly.
These days C++, C# and Python are popular languages for developers who prefer to do their own coding over using premade toolsets.
Q) Help settle a bet – was Purina’s Chase the Chuk Wagon or Mattel’s Kool-Aid Man the earliest known cross-promo in video gaming?
The answer is neither as both were released in 1983. Midway had an arcade racing game that served as a video game promotion for the Datsun 280-Z (called 280-ZZZAP) all the way back in 1976.