add project files

This commit is contained in:
2019-02-07 15:56:39 -07:00
parent 746c09d826
commit 9cc69a67ea
25 changed files with 5962 additions and 0 deletions

View File

@@ -0,0 +1,355 @@
<!DOCTYPE HTML PUBLIC "-//SQ//DTD HTML 2.0 HoTMetaL + extensions//EN">
<HTML><HEAD><TITLE>GameBoy Opcodes Summary</TITLE></HEAD>
<BODY BACKGROUND="pbbg.gif"><H1>GameBoy Opcode Summary</H1>
<P>The GameBoy has instructions &amp; registers similiar to the 8080, 8085, &amp;
Z80 microprocessors. The internal 8-bit registers are A, B, C, D, E, F, H, &amp;
L. Theses registers may be used in pairs for 16-bit operations as AF, BC, DE, &amp;
HL. The two remaining 16-bit registers are the program counter (PC) and the
stack pointer (SP).</P>
<P>The F register holds the cpu flags. The operation of these flags is
identical to their Z80 relative. The lower four bits of this register always
read zero even if written with a one.</P>
<TABLE BORDER="1"><TR><TD ALIGN="CENTER" COLSTART="1" COLSPAN="8">Flag
Register</TD></TR><TR><TD COLSTART="1">7</TD><TD COLSTART="2">6</TD><TD
COLSTART="3">5</TD><TD COLSTART="4">4</TD><TD COLSTART="5">3</TD><TD
COLSTART="6">2</TD><TD COLSTART="7">1</TD><TD COLSTART="8">0</TD></TR><TR><TD
COLSTART="1">Z</TD><TD COLSTART="2">N</TD><TD COLSTART="3">H</TD><TD
COLSTART="4">C</TD><TD COLSTART="5">0</TD><TD COLSTART="6">0</TD><TD
COLSTART="7">0</TD><TD COLSTART="8">0</TD></TR>
</TABLE>
<P>The GameBoy CPU is based on a subset of the Z80 microprocessor. A summary of
these commands is given below.</P>
<TABLE BORDER="3"><TR><TD COLSTART="1">Mnemonic</TD><TD COLSTART="2">Symbolic
Operation</TD><TD COLSTART="3">Comments</TD><TD COLSTART="4">CPU Clocks</TD><TD
COLSTART="5">Flags - Z,N,H,C</TD></TR>
</TABLE>
<H3>8-Bit Loads</H3>
<TABLE BORDER="1"><TR><TD COLSTART="1">LD r,s</TD><TD COLSTART="2">r
<IMG SRC="arrow.gif" ALIGN="BOTTOM" WIDTH="15" HEIGHT="7"> s</TD><TD
ALIGN="CENTER" COLSTART="3">s=r,n,(HL)</TD><TD ALIGN="CENTER" COLSTART="4">r=4,
n=8, (HL)=8</TD></TR><TR><TD COLSTART="1">LD d,r</TD><TD COLSTART="2">d
<IMG SRC="arrow.gif" ALIGN="BOTTOM" WIDTH="15" HEIGHT="7"> r</TD><TD
ALIGN="CENTER" COLSTART="3" ROWSPAN="2">d=r,(HL)</TD><TD
ALIGN="CENTER" COLSTART="4">r=4, (HL)=8</TD></TR><TR><TD COLSTART="1">LD d,n</TD><TD
COLSTART="2">d
<IMG SRC="arrow.gif" ALIGN="BOTTOM" WIDTH="15" HEIGHT="7"> n</TD><TD
ALIGN="CENTER" COLSTART="4">r=8, (HL)=12</TD></TR><TR><TD COLSTART="1">LD
A,(ss)</TD><TD COLSTART="2">A
<IMG SRC="arrow.gif" ALIGN="BOTTOM" WIDTH="15" HEIGHT="7"> (ss)</TD><TD
ALIGN="CENTER" COLSTART="3">ss=BC,DE,HL,nn</TD><TD COLSTART="4" ROWSPAN="2">[BC,DE,HL]=8,
nn=16</TD></TR><TR><TD COLSTART="1">LD (dd),A</TD><TD COLSTART="2">(dd)
<IMG SRC="arrow.gif" ALIGN="BOTTOM" WIDTH="15" HEIGHT="7"> A</TD><TD
COLSTART="3">dd=BC,DE,HL,nn</TD></TR><TR><TD COLSTART="1" ROWSPAN="2">LD
A,(C)</TD><TD COLSTART="2" ROWSPAN="2">A
<IMG SRC="arrow.gif" ALIGN="BOTTOM" WIDTH="15" HEIGHT="7"> ($FF00+C)</TD><TD
ALIGN="CENTER" COLSTART="3" ROWSPAN="9">-</TD><TD
ALIGN="CENTER" COLSTART="4" ROWSPAN="2">8</TD></TR><TR></TR><TR><TD
COLSTART="1">LD (C),A</TD><TD COLSTART="2">($FF00+C)
<IMG SRC="arrow.gif" ALIGN="BOTTOM" WIDTH="15" HEIGHT="7"> A</TD><TD
ALIGN="CENTER" COLSTART="4">8</TD></TR><TR><TD COLSTART="1">LDD A,(HL)</TD><TD
COLSTART="2">A
<IMG SRC="arrow.gif" ALIGN="BOTTOM" WIDTH="15" HEIGHT="7"> (HL), HL
<IMG SRC="arrow.gif" ALIGN="BOTTOM" WIDTH="15" HEIGHT="7"> HL - 1</TD><TD
ALIGN="CENTER" COLSTART="4">8</TD></TR><TR><TD COLSTART="1">LDD (HL),A</TD><TD
COLSTART="2">(HL)
<IMG SRC="arrow.gif" ALIGN="BOTTOM" WIDTH="15" HEIGHT="7"> A, HL
<IMG SRC="arrow.gif" ALIGN="BOTTOM" WIDTH="15" HEIGHT="7"> HL - 1</TD><TD
ALIGN="CENTER" COLSTART="4">8</TD></TR><TR><TD COLSTART="1">LDI A,(HL)</TD><TD
COLSTART="2">A
<IMG SRC="arrow.gif" ALIGN="BOTTOM" WIDTH="15" HEIGHT="7"> (HL), HL
<IMG SRC="arrow.gif" ALIGN="BOTTOM" WIDTH="15" HEIGHT="7"> HL + 1</TD><TD
ALIGN="CENTER" COLSTART="4">8</TD></TR><TR><TD COLSTART="1">LDI (HL),A</TD><TD
COLSTART="2">(HL)
<IMG SRC="arrow.gif" ALIGN="BOTTOM" WIDTH="15" HEIGHT="7"> A, HL
<IMG SRC="arrow.gif" ALIGN="BOTTOM" WIDTH="15" HEIGHT="7"> HL + 1</TD><TD
ALIGN="CENTER" COLSTART="4">8</TD></TR><TR><TD COLSTART="1">LDH (n),A</TD><TD
COLSTART="2">($FF00+n)
<IMG SRC="arrow.gif" ALIGN="BOTTOM" WIDTH="15" HEIGHT="7"> A</TD><TD
ALIGN="CENTER" COLSTART="4">12</TD></TR><TR><TD COLSTART="1">LDH A,(n)</TD><TD
COLSTART="2">A
<IMG SRC="arrow.gif" ALIGN="BOTTOM" WIDTH="15" HEIGHT="7"> ($FF00+n)</TD><TD
ALIGN="CENTER" COLSTART="4">12</TD></TR>
</TABLE>
<H3>16-Bit Loads</H3>
<TABLE BORDER="1"><TR><TD COLSTART="1">LD dd,nn</TD><TD COLSTART="2">dd
<IMG SRC="arrow.gif" ALIGN="BOTTOM" WIDTH="15" HEIGHT="7"> nn</TD><TD
COLSTART="3">dd=BC,DE,HL,SP</TD><TD COLSTART="4">12</TD><TD
COLSTART="5" ROWSPAN="3">-</TD><TD COLSTART="6" ROWSPAN="3">-</TD><TD
COLSTART="7" ROWSPAN="3">-</TD><TD COLSTART="8" ROWSPAN="3">-</TD></TR><TR><TD
COLSTART="1">LD (nn),SP</TD><TD COLSTART="2">(nn)
<IMG SRC="arrow.gif" ALIGN="BOTTOM" WIDTH="15" HEIGHT="7"> SP
</TD><TD ALIGN="CENTER" COLSTART="3" ROWSPAN="3">-</TD><TD COLSTART="4">20</TD></TR>
<TR><TD COLSTART="1">LD SP,HL
</TD><TD COLSTART="2">SP
<IMG SRC="arrow.gif" ALIGN="BOTTOM" WIDTH="15" HEIGHT="7"> HL</TD><TD
ALIGN="CENTER" COLSTART="4">8</TD></TR><TR><TD COLSTART="1">LD HL,(SP+e)</TD><TD
COLSTART="2">HL