Skip to main content

All Questions

Tagged with
Filter by
Sorted by
Tagged with
4 votes
0 answers
158 views

How much does Micro-80 BASIC resemble Microsoft BASIC?

The first DIY Soviet home computer Micro-80 and its successor Radio-86RK had an implementation of BASIC available (albeit not in ROM, but as an loadable binary). A page from which the link is taken ...
Leo B.'s user avatar
  • 20.7k
3 votes
0 answers
109 views

What is the output of the Supersoft Diagnostics II v1.2 on an Intel 8080?

Supersoft Diagnostics II is a program to test 8080 and Z80 CPUs, as mentioned in this answer, and questions here and here. As well as sources mentioned in those posts, the program binary and a ...
cjs's user avatar
  • 27.9k
5 votes
1 answer
617 views

Does the Intel 8080 ANI instruction clear or update the half-carry?

It's known and documented that on the Intel 8080 most logical operations (including all OR and XOR operations) clear the half-carry (auxiliary carry) flag. A known exception is the ANA instruction, ...
cjs's user avatar
  • 27.9k
3 votes
1 answer
730 views

What do the pins D0-D7 on the Intel 8080 exactly signify?

I am currently trying to create a FPGA styled simulator of the 8080 in C. I have a couple of questions regarding the D0-D7 pins. As far as I can see the D0-D7 lines are used in order to store data (a ...
cdunku's user avatar
  • 31
4 votes
0 answers
598 views

Was the Game Boy CPU a completely new layout?

As explained on the Wikipedia Game Boy article and Is the Game Boy Sharp LR35902 object-compatible with the 8080/Z-80?, the Game Boy used a custom CPU that was fairly close to being a superset of the ...
rwallace's user avatar
  • 63.8k
16 votes
2 answers
939 views

Long Term Prevalence of 8080 Code Over Z80 Code in Software Packages

TL;DR: The Z80 was introduced not long after the 8080 and replaced it quickly and almost entirely for personal computing. Still, a large chunk of new software written stayed with 8080 code, making no ...
Raffzahn's user avatar
  • 236k
10 votes
4 answers
872 views

Is there any known magic number signature for CP/M-80 program files?

I'm looking for a way to identify CP/M-80 (i.e. 8080 code) program files (.COM) from their content. A process usually known as Magic Number or File Signature detection, intended to identify a file by ...
Raffzahn's user avatar
  • 236k
21 votes
3 answers
3k views

Anyone up for decompiling some 8080 code for Kaleidoscope?

I came across a series of blog posts about Kaleidoscope, a demo program for the Cromemco Dazzler graphics card. The series implements an emulator for the system so that it could run this code again, ...
Maury Markowitz's user avatar
16 votes
3 answers
3k views

Running CP/M on my own Intel 8080 emulator

I recently finished writing an emulator for the Intel 8080, having passed all of the usual test suites, and wanted to try running an actual OS on it (such as CP/M). I'm aware that I would have to ...
linguisician's user avatar
28 votes
3 answers
5k views

Why are the Intel 8080's rotate instructions called opposite to intuition?

The Intel 8080 has two pairs of instructions for rotating the value of the accumulator -- RLC/RRC and RAL/RAR. One of them shifts the 8 bits in the accumulator circularly, writing out into the carry ...
Danya02's user avatar
  • 383
17 votes
2 answers
796 views

Why did the 8080's PUSH PSW write one reserved bit as 1 and the other two as 0?

The x86 "flags" register, which holds condition codes and other processor status bits, has several reserved bits with fixed values, but these fixed values are not all the same. In ...
zwol's user avatar
  • 449
1 vote
1 answer
308 views

Game assembled using RGBDS can't access cartridge RAM

Any writes I do to cartridge RAM on my test game assembled with RGBDS are silently ignored. I wanted to move the stack pointer to cartridge RAM to have more room in high ram to use as a scratchpad, ...
puppydrum64's user avatar
  • 1,668
32 votes
2 answers
5k views

Why did the Z80 break 8080 compatibility?

Although the Z80 is nearly fully backward compatible with the Intel 8080, there are minor differences such as the Z80 handling the parity flag differently with certain operations. Why? Would providing ...
Paolo Amoroso's user avatar
1 vote
1 answer
419 views

Can the window only be moved once per frame on the Game Boy?

I wanted to cover the top part of the screen to use as a status bar for a game. My idea was to use the Game Boy's window feature to do so. But I ran into a problem: The window's size is fixed to be ...
puppydrum64's user avatar
  • 1,668
1 vote
0 answers
131 views

Getting a loading seam to work with 2x2 metatiles

I'm working on a prototype for a scrolling loading seam similar to Pokemon where the screen scrolls incrementally by 8 pixels with each direction button press, and new tile graphics are drawn off the ...
puppydrum64's user avatar
  • 1,668
4 votes
0 answers
390 views

Game Boy interrupt handler crashes unless I jump to it indirectly

I have an interrupt handler I created, which is meant to reduce the overhead of interrupts as much as possible. Setting up the interrupt handler is done while interrupts are disabled, of course. It ...
puppydrum64's user avatar
  • 1,668
5 votes
1 answer
404 views

Can I use cartridge RAM for the stack pointer?

My understanding is that the extra cartridge RAM banks at &A000-&BFFF are battery-backed SRAM that is preserved after powering off the game. If I'm making a simple game that doesn't have a ...
puppydrum64's user avatar
  • 1,668
20 votes
3 answers
5k views

How does this 8080 code perform division with remainder?

Empirically, I've found that this routine (i8080) divides value from E by B and returns the result in D and E (result and remainder of division). divide_by_12_with_rest: MVI C, 9 ; @1 MOV A, D ; @...
DraganS's user avatar
  • 353
4 votes
2 answers
370 views

Looking for NEC RA87 “Relocatable Assembler Package”

I admit, I am pushing my personal envelope (punching above my weight, beyond my pay-grade etc. etc.) on the trailing edge of technology. So please be kind! I would like to write new firmware for a NEC ...
Birdman's user avatar
  • 41
21 votes
3 answers
3k views

Z80 to x86 asm translator?

8086 is source code compatible with 8080. Zilog Z80 extended Intel 8080 with: An enhanced instruction set including bit manipulation, block move, block I/O, and byte search instructions New IX and IY ...
Schezuk's user avatar
  • 3,794
18 votes
6 answers
4k views

Are there other examples of CPU architectures mostly compatible with Intel 8080 other than Z80?

When the Zilog Z80 was released, it was marketed as being mostly ISA compatible with Intel 8080, while also providing enhanced features. Likewise, the CPU of the Nintendo Game Boy is a custom ...
nitro2k01's user avatar
  • 706
10 votes
1 answer
554 views

Why was the Altair numbered "8800" even though the processor was an 8080?

The Altair 8800 was a computer using the Intel 8080 processor. Why the difference in numbers?
DrSheldon's user avatar
  • 16.6k
13 votes
2 answers
2k views

How did the Altair ensure that the −5 V supply was the first connected and last disconnected?

The Wikipedia page for the Intel 8080 processor describes pin 11 as The −5 V power supply. This must be the first power source connected and the last disconnected, otherwise the processor will be ...
DrSheldon's user avatar
  • 16.6k
0 votes
2 answers
385 views

Vector-06C Soviet home PC schematics

Looking for Vector-06C schematics in any form.
ayc's user avatar
  • 35
9 votes
1 answer
182 views

Compucolor 2 emulator CCEmu's `.ccvf` disk format

This Compucolor 2 emulator uses disk images with the file extension .ccvf. Here is an example file. I would like to understand how to interpret that format. I understand from the documentation that ...
Cactus's user avatar
  • 2,810
13 votes
1 answer
613 views

Ratio of code density between 8080 and Z80

The Z80 was (except for a handful of tiny incompatibilities) a superset of the 8080, adding a number of new instructions as well as the alternate register set. It seems therefore that it must have at ...
rwallace's user avatar
  • 63.8k
13 votes
1 answer
1k views

When did the Altair move ROM to the top of memory?

The 8080 starts running code at location 0 on reset. The natural layout of memory on a computer using that CPU is therefore ROM at the bottom of the memory map and RAM at the top. CP/M demands the ...
rwallace's user avatar
  • 63.8k
6 votes
3 answers
1k views

Does the 8080 always handle unaligned access correctly?

The 8080 is referred to as an 8-bit CPU because it has an 8-bit data bus, but there are a number of cases where it must perform 16-bit memory access, for example when reading or writing a 16-bit ...
rwallace's user avatar
  • 63.8k
2 votes
1 answer
363 views

READY / WAIT when reading from / writing to IO ports

During the execution of an IN or OUT instruction (so after the opcode and its single-byte argument have been fetched from memory), how does the Intel 8080 react to its READY pin going down? Is it ...
Cactus's user avatar
  • 2,810
12 votes
11 answers
3k views

Were there any 8080 computers that used a bitmapped display?

Does anyone know of any bitmap-based 8080/8085 (or, failing that, Z80) computers? Background: In the late 70s and early 80s, there were a few hobby computers with bitmapped displays. For example, the ...
tobiasvl's user avatar
  • 1,549
2 votes
1 answer
304 views

Peripherals needed to run Tiny BASIC interactively on an Intel 8080

I have an Intel 8080 core and would like to build the minimal computer system around it to run Tiny BASIC interactively. I am building this computer on an FPGA, so I am not asking about actual ...
Cactus's user avatar
  • 2,810
4 votes
2 answers
508 views

Execution time for conditional jumps on the Intel 8080

On the Intel 8080, all conditional instructions have varying execution time depending on whether the condition is true or not, except conditional jumps. Why is this? The Intel 8085 changes this; there,...
tobiasvl's user avatar
  • 1,549
4 votes
2 answers
1k views

Auxiliary Carry and the Intel 8080's logical instructions

I'm trying to figure out how the Auxiliary Carry flag on the 8080 is affected by logical instructions. Reading the Intel 8080 manual, it seems that logical instructions do not affect AC: The ...
tobiasvl's user avatar
  • 1,549
23 votes
3 answers
2k views

Will disassembling an 8080 program as Z80 code work?

The Z80 is "binary compatible" with the 8080. It adds a bunch of new instructions, but places them all in unused (well, undocumented) opcodes. Does this mean that if I disassemble an 8080 program (...
tobiasvl's user avatar
  • 1,549
13 votes
4 answers
4k views

In the Intel 8080, where does the "Stack" start?

Having trouble trying to search for this in the data sheet, just have seen how big it is and how it handles stack pointers. Would anyone mind helping me out where the "Stack" start on an Intel 8080?
Ssweet-disposition's user avatar
19 votes
4 answers
4k views

How did integer multiplication work in 8-bit BASIC without CPU support

I've recently been teaching my 11 year old binary multiplication, which is on the UK maths syllabus at secondary school. We have used long multiplication, eg shift and add. This has made me wonder ...
Mark Williams's user avatar
24 votes
6 answers
7k views

Why did the Z80 with 4-bit ALU out-perform the fully 8-bit Intel 8080?

Looking at the development and architecture of the Z80, it appears to be a scaled-down, cost-reduced (in terms of total system cost), clone of the Intel 8080. It only used a 4-bit ALU. I assume this ...
Brian H's user avatar
  • 61.5k
27 votes
4 answers
10k views

8080 vs. 8086 - Are 16 Bit CPUs bloaty by nature?

In comments to a parallel question (Why was IBM BASIC so Huge?) one point discussed is code density of 8 vs. 16 bit CPUs. Some assumptions were that 16-bit must be more bloaty due to its need for an ...
Raffzahn's user avatar
  • 236k
12 votes
1 answer
2k views

The behavior of the auxiliary carry flag in subtraction on Intel 8080

Does SUB B on Intel 8080 set the auxiliary carry flag when the accumulator and the B register are 1 and 0, respectively? On Z80, which was designed to be a backward-compatible, albeit not fully, ...
user5583413's user avatar
20 votes
3 answers
4k views

Bit one of the Intel 8080's Flags register

Did bit one of the Intel 8080's Flags register, the bit between the carry and parity flags, get set to one on startup? If so what was the reason for this, and was this inherited from the 8008 Flags ...
Single Malt's user avatar
  • 1,869
11 votes
3 answers
960 views

What are examples of providing non-RST instructions for 8080 interrupts?

When a peripheral in an 8080 system generates an interrupt request and the 8080 acknowledges the interrupt, the peripheral is expected to put an instruction opcode on the data bus which the 8080 will ...
cjs's user avatar
  • 27.9k
15 votes
1 answer
2k views

Why is the original Altair BASIC (for the 8080 CPU) source code not available on-line?

As described by The Register in 2001, around 1987 journalists and others started asking Bill Gates for a copy of the source code for the original version of Altair (eventually Micro-Soft) BASIC, ...
cjs's user avatar
  • 27.9k
17 votes
2 answers
7k views

Is the Game Boy Sharp LR35902 object-compatible with the 8080/Z-80?

(Note: by "object-compatible" I mean that the opcodes and their following operands are the same—the assembler produces the same output for equivalant assembler mnemonics. This of course ...
cjs's user avatar
  • 27.9k
10 votes
3 answers
4k views

How does Game Boy / Sharp LR35902 HRAM work?

The Nintendo Game Boy has RAM called "HRAM" (meaning "high ram") decoded at locations $ff80 through $fffe. (All other decoded locations in the $ffxx page appear to be I/O device and system control ...
cjs's user avatar
  • 27.9k
21 votes
9 answers
7k views

Intel 8080-based home computers

I'd like to build an FPGA replica of a home computer based on the Intel 8080. I am not looking to design my own computer, since I would like to tap into an existing software base. Were there any ...
Cactus's user avatar
  • 2,810
24 votes
2 answers
3k views

Details of video memory access arbitration in Space Invaders

I am working on an FPGA implementation of the original Space Invaders arcade machine and I'd like to implement access arbitration between the CPU and the video system. I can imagine several ways of ...
Cactus's user avatar
  • 2,810
5 votes
3 answers
2k views

Can someone explain this algorithm used to compute the auxiliary carry flag?

I'm debugging my 8080 emulator and I've gone the route of comparing it to the output of another tested emulator to see where I went wrong. When calculating the auxiliary carry flag, I used this ...
dav's user avatar
  • 1,069
40 votes
1 answer
6k views

Fixing obscure 8080 emulator bug?

I'm using cpudiag.bin from http://www.emulator101.com/files/cpudiag.bin to test my emulator. I've already implemented the CP/M CALL function at 0x05, offset the program at 0x100 and fixed the offset ...
dav's user avatar
  • 1,069
14 votes
4 answers
4k views

Why do the i8080 I/O instructions take a byte-sized operand to determine the port?

I thought the i8080 had 8 16-bit IN ports and 8 16-bit OUT ports. Doesn't that mean the instructions IN d8 ; only index 0-7? OUT d8 can only take 8 possible values? What would it be indexing ...
dav's user avatar
  • 1,069
1 vote
1 answer
2k views

Where can I find and download emulator of Altair 8800 with Intel 8080 processor for Windows?

I would like to look back to the very beginning of personal computer when Paul Allen and Bill Gates started their debut. So I need to find an emulator of the MIT Altair 8800 with Intel 8080 processor ...
AirCraft Lover's user avatar