Hot answers tagged

57

Well, it was simply the BIOS' way to tell you that the keyboard buffer is all the way filled up. What was actually "counting" my keypresses? In so far as there is a 16 entry (32 bytes) buffer area to type ahead while the main program is still working on something else. So if 16 keystrokes come in without a single one being read, it's full and the beeping ...


23

As well as being the first colour Mac-like, the Atari ST was absurdly competitive on price, being the first mainstream 68000-based home computer. The Amiga wasn’t relaunched for the home market until 1987*. As a result it is the original home of a wealth of innovative game software — especially in Europe it was often the lead platform for games until the ...


16

There is a circular buffer which holds all your keypresses. The BIOS is always monitoring the keyboard and filling that buffer, even after some kinds of crashes. It is expected that MS-DOS or the application is going to eventually fetch some keypresses, but that wasn't happening. So as soon as the buffer filled up, the BIOS just wanted to warn you. Most ...


14

Typically memory allocators need some extra data in addition to the requested allocation size. This is for maintaining a list of allocated blocks on the heap, it's usually a linked-list node along with a couple of other bits of info like if the block is currently allocated or free. This tiny structure usually goes behind the pointer returned to you by malloc ...


12

You're asking us to speculate about something that hasn't been released yet. However, looking at the FAQ, it's clear that this is just a fancy Linux box with some emulators on it. Processor: Intel Coffee Lake S Series Processor Memory: 2GB DDR4 RAM Polymega’s Modules use top tier emulators with low latency controller inputs. Emulators: Legally licensed ...


9

A one octet word (eight bits, also known as a byte) can take a value 0-255 as you've found. When you use a byte as an address, you can identify 256 different locations. A two-octet word (sixteen bits) can take a value 0-65535. When you use that value as an address, like on a Z80 or 6502 processor, you can identify 65536 different locations.


7

Tommy's answer mentioned it just "en passant": You could buy one of Atari’s laser printers plus the ST, and DTP software for quite a bit less than Apple’s LaserWriter alone. but that was indeed one innovation that was brought by the Atari: bare laser printer without own rendering controller, using the computer to replace it. A technique that came ...


7

But it's not a ROM; [...] it's actually a PLA Then again, a ROM and a PLA is essentially the same technology. What differs here is not only the decoding, but that in case of the 6502 only the decoding part is present and it's not monotone. Such compression is obviously useful. Die space is expensive True. But it's worth to note that the cited answer says &...


7

Why aren't each pixel's bits stored sequentially on the SNES? Well, to start with, they are always (!) 8 pixels sequentially within a byte - and multiple byte in parallel for extended colour depth. Why? TL;DR: Because it simplifies hardware when multiple colour depth is handled. Why are graphics stored this way when, if each bit of a pixel was stored ...


6

I have not tried it but the following trick might work: You can use halloc(0x1000, 0x10) to allocate a "huge" memory block of 0x1000 × 0x10 bytes (= 64 KiB) size. According to the manual this block will be 0x10-byte aligned if the second argument is 0x10. halloc() can allocate more than 64K but returns a huge memory pointer, not a far memory ...


5

Two interconnected moments in history with the popularity of microcode in microprocessors need to be distinguished: Firstly, the ratio of price, volume and speed of various types of memory; Secondly, the ratio of manual labor and the development of automation, including the theory of compilers. The heyday of the microcode came at a time when the means for ...


4

For those interested in the hands-on use of microcode, including how to implement a CPU (1802 - which was NOT microcoded, but a FSM control unit) and a display controller, I developed a compiler that generates the [horizontal] microcode and instruction mapper memory. https://hackaday.io/project/172073-microcoding-for-fpgas


3

As I understand it, later chips like the 8086 and 68000 use microcode of the conventional ROM variety. This is simply not true. 68000 CPU used a combination of PLA-driven decoding and ROM-driven microcode engine. Look https://dl.acm.org/doi/10.1145/1014198.804299 for reference (remember that there is Sci-Hub at your service if you know DOI: https://sci-hub....


3

A community wiki answer because it includes a lot of useful evidence, but I seem to flub the numbers somewhere: Per OpenWatcom, the definition of _fmalloc is this. Notably: if( amt == 0 || amt > - ( sizeof( heapblk ) + TAG_SIZE * 2 ) ) { return( NULL ); } Allowing for integer rounding and given that size_t is 16-bit, that asserts that if the ...


3

An 8-bit (also called a 1-byte) number, can hold one of 256 distinct values, often an integer between 0 and 255. When used as an address, an 8-bit or 1-byte number can address up to 256 different values, such as different bytes in memory.


3

You seen to be confusing the concept of "works" and "supports". "Supported" generally means that the vendor is willing to address any problems that arise. Code I write may appear to "work" in certain situations, but that doesn't mean I must "support" those situations - generally because I lack the capacity to ...


2

The sad thing for me is that the ST's blitter chip didn't make it in time to be included on mass production as part of the base spec. I was fortunate to visit Atari during the early ST years and saw the blitter chip running on a prototype system. If they had included it from the start it would have been a very capable system at a price point that was ...


2

Why are graphics stored this way when, if each bit of a pixel was stored sequentially (2 full pixels per byte), only one byte need be accessed and a simple >> 4 or & 0x0F could get a pixel's value? This seems like it would be not only much faster (less bit/math ops and memory accesses) but also simpler in design. You are clearly thinking as a software ...


2

It simplifies the video generation hardware. When generating a pixel the hardware needs to determine its colour index into a palette. The index value can have a variable number of bits depending on how many colours the individual element is using - 2, 4, 8 or 16 colours for 1, 2, 3 and 4 bit images. The simplest way to implement the loading of a variable ...


1

The A bomb, the Amiga, with its custom chips-coprocessors, colourful graphics, stereo sound, pre-emptive multitasking OS and probably other stuff which I forget. I've never heard Amiga being called the "A bomb", especially as both the Atari and Mac would display bombs as error messages with Atari even showing mushroom clouds in the very early ...


1

The perception of 'new' is maybe an individual one as... Recalling the rise of 16bit era, defined mainly by Motorola 68k cpu computers When ignoring the TI 99/4 (and PC (*1)) that is. The Mac, brought the GUI interface. Not really. It was already on sale since 1981 by Xerox (and others) (*2) as well as offered in form of the Apple Lisa, which wasn't so ...


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