Questions tagged [8080]
For questions about the Intel 8080 8-bit microprocessor
78 questions
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 ...
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 ...
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, ...
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 ...
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 ...
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 ...
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 ...
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, ...
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 ...
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 ...
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 ...
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, ...
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 ...
1
vote
1
answer
418
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 ...
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 ...
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 ...
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 ...
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 ; @...
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 ...
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 ...
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 ...
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?
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 ...
0
votes
2
answers
384
views
Vector-06C Soviet home PC schematics
Looking for Vector-06C schematics in any form.
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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,...
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 ...
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 (...
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?
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 ...
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 ...
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 ...
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, ...
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 ...
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 ...
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, ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...