34

In 1982 the original 400 and 800 were on the market. These were expensive machines to implement. Even the low-cost 400 was significantly more complex and expensive than something like a VIC-20. Say what you will about the VIC-20, it was cheap. And it proved that the #1 selling point for a computer was its price. And then came the 64. So as Commodore started ...


33

MADS uses * in three ways (See MADS "Manual") Using the current assembly address for calculation of an address, i.e. the one the actual statement is assembled to. Multiplying in expressions. Mark the beginning of a comment (until line end) In above listing it will be interpreted as the address the JMP instruction is assembled to, so it will form an ...


32

There are two elements: The background The sprites The background is very straightforward: The vanishing point never changes so you have one graphic with a checkerboard in perspective. That graphic takes 2 bits per pixel so that you have the 2 checkerboard colors and the edges of the field color. It just needs to be the width of the screen + 4 tiles (2 ...


27

The physical design of the Atari 800 was radical, but not for reasons related to the aspects you highlight. As others have commented, using multiple boards for a system was pretty standard at the time. S-100 systems for example were based on a backplane, with system features implemented on multiple boards connected to that. (The Atari 400 and 800 were ...


25

The gameplay can be implemented without any 3D calculations (or very little, depending on your definition of 3D calculations): The checkerboard never rotates, so it can be drawn using affine segments and fills (y = ax + b); the players never get close enough to the edges (on the goal sides) for the vanishing point to be an issue. The checkerboard isn't ...


20

We can no longer ask Bill Lowe, may he rest in peace. But here's a little more information: According to Blue Magic by James Chposky and Ted Leonsis, when Entry Level Systems Lab Director Bill Lowe went to IBM's Corporate Management Committee in July 1980 to propose the project, he told them, "The only way we can get into the personal computer business ...


19

De Re Atari describes the cassette boot protocol, which helps understand why bootloaders were (nearly) always used. In cassette boot mode, the operating system reads a record from the tape recorder and loads the following information: byte 2 gives the number of records to load (up to 256 records, each containing 128 bytes, so 32 KB in theory) bytes 3 and 4 ...


19

In the end, I decided that it had to be easier to take the keyboard apart than to de-solder the 4051's and so I carefully removed the 18 tiny screws from the back of the keyboard. It wasn't nearly as bad as I expected (I was concerned that I was going to have springs everywhere). After disassembly I fired up the Atari to try and see if I could get the A ...


19

In composite video, a scanline has the following format: Every line has: a sync mark, which is the lower level, on the left. a color burst, which I'll explain below. video data. The sync mark is used to tell the TV set to bring the beam back to the left side of the screen. At the time TVs were black and white, you had the sync mark and then the video ...


18

Somewhat of a guess:  The C64 always interleaved CPU and graphics RAM access (with additional graphics cycles if necessary), effectively accessing RAM at 2 MHz. Judging from the ANTIC Timing Diagram, the ANTIC just stole CPU cycles whenever it needed them. So in both cases you have a RAM access of about 2 MHz, which seemed to have been the limiting ...


18

That's a usual way to an indirect JSR with a 6502. The 6502 does not support indirect subroutine calls (*1), so it has to be done in software. Indirect subroutine calls are a useful tool for function calls into OS/library functions which may change during runtime or by configuration - like when redirecting output to a different driver. By using a routine ...


16

I can only add to the other answers with observations and memories, some of which come from owning an Atari 800 in the time period you're asking about. First, notice the names flying around in the space of only a few answers: IBM, Apple, VIC-20, Commodore 64, TI. Add to that list TRS-80, Timex Sinclair, and the Coleco Adam (released in 1983), and more. In ...


14

There are a few improvements that made the 800 more valuable Candy Coleen (400) (800) RAM (original design 1979) 4 KiB 8 KiB RAM (first delivered 1980) 8 KiB 16 KiB Maximum RAM (48) KiB 48 KiB (*1) RAM (later models 1982) 16 KiB 48 KiB ROM Slots ...


14

At that point in time, Atari had separate divisions for the Home Computer market and the Consumer Electronics, or console, market. There was a lot of competition between the divisions. The Consumer Electronics division was the pride of the company due to all the cash that was rolling in thanks to the Atari VCS(2600), and it seems there was a bit of hubris ...


14

I suspect the * means the current instruction/location, as it does in some other assemblers, like PDP-8.  Often it would be used in an expression like *-label in the data section to get something's size, or *+3 perhaps, in code. If that's the case for 6502 assembly, then jmp * means branch to self, or, infinite loop, which would be a form of halting ...


13

Memory chips of the era were limited to an access speed of about 2MHz. On the Atari 400/800, cycles could be given arbitrarily to either the processor or the display hardware. On the Apple II and VIC-20, there are 65 cycles per scan line but half of each cycle is given to the processor and the other half the display hardware, whether it needs it or not. ...


12

Colour in NTSC is represented as the high-frequency part of the signal. A colour-aware TV will separate the low and high frequency parts. The colour decided will depend on the relative phase of the colour signal and the colour burst, a brief period of pure signal from the retrace period. Therefore the ability for a computer to affect colour decoding depends ...


12

It seems the 6502C "Sally" added a HALT pin to allow Atari to remove four support chips and thereby build cost-reduced versions of the Atari 400 and 800.


12

The speaker was known as the console speaker and is controlled using the byte at location 53279; as indicated in Mapping the Atari: POKEing any number from zero to eight will cause a click from the speaker. The book also includes a program listing based on a COMPUTE! article, illustrating how to play different tones on the console speaker. The ...


11

Why did the Atari's have such clear displays? I suspect it might have something to do with all the shielding No. As usual it's about the effort the designers did put into the display. To reduce cost, the VIC-II outputs an already internally mixed B&W signal and chroma. While this is basically like S-Video, the quality is defined by the internal ...


11

The Super Nintendo Entertainment System (called Super Famicom in Asia) is mostly TMS9918-like. However, the CPU's integrated memory controller has its own counterpart to Amiga COPPER, called HDMA (horizontal blanking direct memory access). HDMA can reprogram PPU registers during hblank based on up to eight lists stored in work RAM. Each HDMA channel has ...


10

No. At least not in a software compatible manner. The PIA which is used in the 800 to read joystick ports 3 and 4 was repurposed in the XL systems to control memory mapping (eg. disable OS ROM, disable BASIC ROM, etc.) and for other special XL functions. Source: http://www.atarimagazines.com/compute/issue57/feedback_atari_amnesia.html


10

I use Altirra, which does emulate the drive beeping. http://www.virtualdub.org/altirra.html Note: I had to tweak the preferences to get the drive beeping turned on, and it was some time ago, so I can't direct you to the exact preference. But I just tried it and it definitely makes the drive beeping sounds. As an added bonus, you can also enable the '...


8

It's mainly based on VICII's (or generally for memory mapped video adapters) demand together with limitations on access time for RAM and ROM components. VICII has to access the RAM (video character, hires, sprites, RAM refresh) interleaved with the CPU and ROM (character set), as already commented above. Generally speaking: Faster RAM were a cost problem, ...


8

Let's sort out some different kind of color artifacts. 1) The composite signal carries both lumincance and chrominance, the latter encoded in the phase of the color carrier. That means if it's somehow possible to change the composite signal quickly enough, it will affect the color. This is not a consequence of the bandwidth limitation of luma and chroma (...


8

I just booted mine with the three 16KB RAM packs removed. At power up it displayed a green screen. With a Centipede cartridge, the 10K ROM pack, and no RAM packs, it just displayed two medium grey, inch-wide vertical lines on a black background. I then removed Centipede and the ROM pack (RAM still removed). It still displayed a green screen. I then ...


8

I've found that the old Atari keyboards can lose conductivity and that pressing they key repeatedly, not necessarily with a lot of pressure, can revive them. I've had Apple II keys start working again after pressing them a hundred or two times. Assuming the above isn't the issue, if the rest of the keys, particularly in the same row and column work (not ...


8

Well, after spending some time googling last night I have discovered something called SIO2PC. This is probably old news to the Atari fans out there, but in case anyone is having the same initial questions I was, I thought I would answer my own question with what I have learned. Please feel free to correct me if I get this wrong, or add more information. ...


8

So what were the actual limits on data transmission speed before and after 1980? There were no limits, at least no artificial and regarding the transmission speed. The only limits were set by technology and effort (aka money) spend to reach a certain speed. Transmission speed on corporate data lines was already at or beyond 64 kbps in 1980. No hassles there....


8

The Altirra emulator manual describes the operation of the ANTIC in some detail, and says A 48 byte buffer within ANTIC is used to store graphic data for a single scan line. Its purpose is to buffer data for use on repeated scan lines, reducing DMA overhead. For bitmap modes, it allows ANTIC to only read graphics data for a mode line once, during the ...


Only top voted, non community-wiki answers of a minimum length are eligible