Hot answers tagged

215

I'm the author of the TPUG article. The "BILL GATES SUCKS" message isn't really an Easter egg; that was just a conceit of mine to make the article a bit more interesting and to turn it into a bit of a puzzle. Here's how it works and how it was created: In any given infinite sequence random numbers, it's a mathematical certainty that a given subsequence of ...


56

I don't think that's an easter egg. Someone just made an effort to find random seeds that produce the numbers to create the intended words. It would be an easter egg if the seed numbers were in some way related to CBM or Microsoft. A=RND(-A) initializes the (pseudo) random generator with A, generates a random number and stores it in A. The GOSUB20 ...


37

The way I understand it, ROMs are like virtual games, Not really. ROMs are a piece of hardware storing a bit image. Like a disk, a tape or a punch card. It holds an image of the game's software. and emulators are like virtual game consoles, or handhelds. Basically yes. What I don't understand is how there are ROMs for arcade games, which don't have ...


28

Excess capacity. ROM chips come in standard sizes based on powers of 2 and it is quite unlikely a particular size will be exactly what a game needs. For example, suppose a game displays numbers that are 8 x 8 pixels in size. It will need the digits from 0 to 9, each digit needs 64 bits so a ROM of 640 bits is required. That could be accommodated with a ...


27

I'd guess a lot of the systems used for development didn't clean the memory down in between usages. It's also likely that for games "gaps" got left between binary chunks. So if for a hypothetical system redefined characters had to start on a multiple of 256 (0x100) byte boundaries the memory layout might have looked like this: 0x0000 - 0x1789 - Compiled ...


22

The following is an excerpt from the article César Hernández Bañó and I wrote about the internals of the Inves Spectrum+, exposed after a detailed work of reverse enginnering. First, some background: César is the author of the first (and AFAIK, only) emulator that handles the oddities of the Inves Spectrum+. With time, his emulator has evolved and now it ...


20

The other answers already covered a lot, but there is something else that is important but which hasn't already been addressed in detail: Despite appearances to the contrary, arcade machines are quite frequently not built with unique hardware. For example, the hardware originally designed for Galaga was used for several additional games, including well ...


17

I've done this partially with Commodore PET Space Invaders which I used as a test program to debug my Commodore PET emulator. I used a disassembler to convert the program to assembly language and I then went through the code annotating it as I found out what it does. When I understood what a bit of code did, I would look for its entry point (my disassembler ...


17

Does fast page mode apply to ROM? No. Why should they? You're missing one step to start with in your chain of thoughts. (Fast) Page Mode is an improvement to the address multiplex protocol dynamic RAM uses. As such it isn't a general improvement, but a relative one, reducing the overhead the address multiplexing implies. Address multiplexing was ...


16

I don't know if this applies in every case, but, on the Commodore PET and by extension C64, an executable program file on disk/tape consisted of a load address (normally $0401 on the PET) and then literally a memory dump of the the region of RAM containing the program. The normal save routine would save all the memory until it got to the end of the BASIC ...


15

The page you linked on The Cutting Room Floor offers its own explanation: Sometimes this is to pad out a disc or ROM to fill any empty space, other times it's just funky compiler behavior... "Funky compiler behaviour" is the most likely explanation for the older games. More specifically, as explained in Muzer's comment, it's likely because memory was ...


15

As a personal project I had the idea to create a custom cartridge for my Commodore 64 and use an ATmega 1284p microcontroller to emulate eproms and/or custom chips. I doubt that this will work! The reason is simply the time needed by the microcontroller to react on a signal change: As far as I know, you have about 0.25µs to react on some edge on the C64 ...


13

The original Apple II has up to 48K of RAM from $0000 to $BFFF and 10K of ROM between $C000 and $FFFF except for a hole between $D800 and $DFFF. You can get a language card which puts 16K of RAM under the ROM space. The Apple IIe has a full bank of 64K of RAM, just like the Apple II with the language card installed. The 128K models have an additional 64K ...


13

The GBA's memory controller can be configured using WAITCNT, an MMIO port at 0x04000204, to use slow or fast timing when accessing the Game Pak slot. The BIOS boots up in slow mode, in case Nintendo would release games on slow ROM. But Nintendo ended up releasing all games on fast ROM, and when a game starts, it writes a value to WAITCNT to enable fast ...


13

Simple Answer: Unlimited and Many Ofc, every system can only reserve a certain amount of real address space for cartridges, but then there is Bank Switching. Just take the original Atari 2600. Address space for ROM was 4 KiB, and many early games only used 2 KiB ROMs. But already in 1982 Burger Time came in a cartridge with 16 KiB ROM and some sort of bank ...


13

Your observation about the 64K address space is correct, your 32K RAM and 32K EEPROM will be able to fill that address space to 100%. In Z80 designs, the ROM/PROM/EPROM/EEPROM is usually placed starting at 0x0000 since when you do a RESET, the Z80 starts executing at 0x0000 and you usually want to have your program start there. Of course there are many ...


12

The standard US Apple //e Video ROM was pin compatible with 2732 (4k) EPROMs, but some foreign models (UK, German, French, Italian) used a 2764 (8k) compatible ROM with two character sets. Your clone might be the same or it might be different - the best way is to try to decode the pinout using either a logic probe (while on) or even a multimeter (while off) ...


11

A typical EPROM series of that period is the 27xx series. Today's DIL EEPROMs still use the same pin layout. Access time varied with models. Datasheets with exact dates are difficult to google systematically, but for example, an Intel 2764A-250 had a 250ns access time in 1983, while the 2764A-1 variant had a 180ns access time in1989. So the ballpark is "...


10

With the information in pndc's answer to this question I've been able to examine the various ROMs and I think I have the definitive answer. Firstly it seems that CDTV and CD32 do things slightly differently so I'll examine them separately. Background The commented disassembly of Exec by Markus Wandel provides some very useful information. In particular, it ...


10

Where could I find a list of all of the microchips released by Intel, including microprocessors, Rams, roms, storage devices. Etc. Oh, that's a simple one: Get the Databooks Intel, like any other manufacturer, has a good history of publishing big volumes of databooks and even more datasheets. At least all basic chips that ever made it into production (and ...


10

Initial assumption you are making about the signals /GAME, /EXROM, R/W, and the clock are reasonable. There are some nuances with the other signals that you might need to consider. The C64 has the ability to map the 4K of addess space at D000-DFFF as either system RAM or I/O. The only way your cartridge can know which one is mapped is using the /IO1 and /...


10

Sure, it works, but then again, why decoding four 16 KiB blocks when it's about two 32 KiB chips? All you need to decode is A15. A15=LOW should select the ROM (*1), while A15=HIGH does the same for RAM Inccoperating a A14 is rather pointless and using a'139 looks like overkill unless there is some future use. It also adds signal time, limiting maximum ...


9

You can get a sampling of prices for EPROMs the hard way, by checking ads from electronics magazine archives. For example on page 116 of Popular Electronics Jan. 1977 you can see the 1702A 2K(bit) EPROM listed for $12.95. The old magazines always had full-page ads with components near the end.


9

JackSprat was a tool produced by a company called Brayder, used to remove portions of the original ROM images. It used to produce a ROM backup along with a PRC which could be used to restore it; you can still find the original manual on the Internet Archive's copy of Brayder's technical support page. Without that ROM backup and the associated restore PRC, ...


9

There are a number of ways that an extension ROM can add to or replace Kickstart functionality: Within the first few instructions, Kickstart checks for the magic value 0x1111 at 0xf00000, and will transfer control to any ROM there which passes muster. This is mainly useful for debug cards and other things that completely replace Kickstart. Kickstart is ...


9

I think one reason that it is very prolific, is that JDV is right: in many cases the rightsholders may not have any interest in pursuing legal interests. And in the case of very old games and companies (that may not exist any longer) that is probably true. Nintendo however, has some very specific things to say about this on their corporate legal page: ...


9

I feel like you're remembering the Apple At Play disk that came with the Apple //c. It had Lemonade Stand, Quick Quiz, and Space Quarks (more of a Galaxian clone than Space Invaders, but I didn't know Galaxian when I was young, so I compared it to Space Invaders, too). On Windows 10, I use AppleWin, which is really a //e emulator, but it has all the ...


9

A ROM, short for Read-Only Memory, is computer chip with bits stored in it. Unlike RAM chips, the bits are persistent (remain when the power is turned off) and (usually) require a special programming process to change them. An arcade machine of 80s or 90s vintage is just a computer (often a custom-built, somewhat special-purpose computer) which reads the ...


9

However, the TI cartridges could also contain a different type of ROM called "GROM". Which I believe was "Graphics ROM". Jup, although, it wasn't really related to graphics at all. More due the fact, that its primary usage within the TI99/4 was to hold GPL code - which itself stands for Graphic Programming Language. There was also GRAM, if memory serves, ...


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