Milowork 公式站

(米洛维基 2.0)

用户工具

站点工具


zh:fc_资料

6502 指令表

4 C 14 1C 0 8 10 18 2 1A
00 BRK PHPBPL dCLC
20BIT dBIT a JSR PLPBMI dSEC
40 JMP a RTI PHABVC dCLI
60 JMP (a) RTS PLABVS dSEI
80STY dSTY a STY d,x DEYBCC dTYA TXS
A0LDY dLDY a LDY d,xLDY a,xLDY #iTAYBCS dCLVLDX #iTSX
C0CPY dCPY a CPY #iINYBNE dCLD
E0CPX dCPX a CPX #iINXBEQ dSED
5 D 15 1D 1 9 11 19 6 E 16 1E A
00ORA dORA aORA d,xORA a,xORA (d,x)ORA #iORA (d),yORA a,yASL dASL aASL d,xASL a,xASL
20AND dAND aAND d,xAND a,xAND (d,x)AND #iAND (d),yAND a,yROL dROL aROL d,xROL a,xROL
40EOR dEOR aEOR d,xEOR a,xEOR (d,x)EOR #iEOR (d),yEOR a,yLSR dLSR aLSR d,xLSR a,xLSR
60ADC dADC aADC d,xADC a,xADC (d,x)ADC #iADC (d),yADC a,yROR dROR aROR d,xROR a,xROR
80STA dSTA aSTA d,xSTA a,xSTA (d,x) STA (d),ySTA a,ySTX dSTX aSTX d,y TXA
A0LDA dLDA aLDA d,xLDA a,xLDA (d,x)LDA #iLDA (d),yLDA a,yLDX dLDX aLDX d,yLDX a,yTAX
C0CMP dCMP aCMP d,xCMP a,xCMP (d,x)CMP #iCMP (d),yCMP a,yDEC dDEC aDEC d,xDEC a,xDEX
E0SBC dSBC aSBC d,xSBC a,xSBC (d,x)SBC #iSBC (d),ySBC a,yINC dINC aINC d,xINC a,xNOP
#i 8 位立即数 d 8 位寻址 a 16 位寻址(小端字节序,下同)
d,x 8 位加 x 寄存器寻址 a,x 16 位加 x 寄存器寻址a,y 16 位加 y 寄存器寻址
(d,x)8 位加 x 寄存器取 16 位地址间接寻址(d),y8 位取 16 位地址加 y 寄存器间接寻址
(a) 16 位间接跳转(目标地址不得跨页,即 JMP ($xxFF) 是不被允许的,详见此处
  • ADC: 带进位加法 A←A+M+C C←256≤A+M+C V←A[7]==M[7]&&A[7]!=(A+M+C)[7] (NZ)
  • AND: 按位与 A←A&M (NZ)
  • ASL: 算术左移 C←A[7..0]←0 (NZ)
  • BCC/BCS: 无进位或有借位则跳转、有进位或无借位则跳转(条件跳转均为相对跳转)
  • BEQ/BNE: 为零或等于则跳转、不为零或不等于则跳转
  • BIT: 位测试 N←(A&M)[7] V←(A&M)[6] Z←(A&M)==0
  • BPL/BMI: 正数则跳转、负数则跳转
  • BRK: 制造一个中断
  • BVC/BVS: 未溢出则跳转、溢出则跳转
  • CLC/SEC: 清除进位或设置借位、设置进位或清除借位 (C)
  • CLD/SED: 禁用十进制模式、启用十进制模式(在 FC 上无效) (D)
  • CLI/SEI: 启用中断、禁用中断 (I)
  • CLV: 清除溢出 (V)
  • CMP/CPX/CPY: 比较 C←A≥M Z←A==M N==A[7]
  • DEC/DEX/DEY: 减一 M←M-1 (NZ)
  • EOR: 按位异或 A←A^M (NZ)
  • INC/INX/INY: 加一 M←M-1 (NZ)
  • JMP: 跳转 PC←M
  • JSR: 调用 ST←PC+2 PC←M
  • LDA/LDX/LDY: 加载寄存器 A←M (NZ)
  • LSR: 逻辑右移 0→A[7..0]→C (NZ)
  • NOP: 空指令
  • ORA: 按位或 A←A|M (NZ)
  • PHA: 出栈到寄存器 A←ST
  • PHP: 出栈到符号位 [NV.BDIZC]←ST
  • PLA: 寄存器入栈 ST←A
  • PLP: 符号位入栈 ST←[NV0BDIZC]
  • ROL: 循环左移 C←A[7..0]←C (NZ)
  • ROR: 循环右移 C→A[7..0]→C (NZ)
  • RTI: 中断返回 [NV..DIZC]←ST PC←ST
  • RTS: 子程序返回 PC←ST+1
  • SBC: 带进位减法 A←A-M-1+C C←A<M+1-C V←A[7]==M[7]&&A[7]!=(A-M-1+C)[7] (NZ)
  • STA/STX/STY: 储存寄存器 M←A
  • TAX/TAY: 累加器传送至 X、Y 寄存器 A→X (NZ)
  • TSX: 栈指针传送至 X 寄存器 S→X (NZ)
  • TXA/TYA: X、Y 寄存器传送至累加器 X→A (NZ)
  • TXS: X 寄存器传送至栈指针 X→S (NZ)

内存空间分配表

FC 卡带引脚排列

GND0131+5V电源
CPU 地址线A110232M2 CPU 时钟,详见原文
A100333A12CPU 地址线
A9 0434A13
A8 0535A14
A7 0636D7CPU 数据线
A6 0737D6
A5 0838D5
A4 0939D4
A3 1040D3
A2 1141D2
A1 1242D1
A0 1343D0
高电平读取,低电平写入R/W1444/ROMSELPRG ROM 选通,低电平有效,A15 和 M2 的与非
中断,低电平有效,内置上拉/IRQ1545AUDFC来自游戏机的音频,一般接 AUDRF
GND1646AUDRF发送至音频输出的音频
PPU 读取,低电平有效PPU /RD1747PPU /WRPPU 写入,低电平有效
内置显存 A10,横向卷轴接 A10,纵向卷轴接 A11CIRAM A101848CIRAM /CE内置显存选通,低电平有效
PPU 地址线PPU A61949PPU /A13翻转的 GA13,一般接 CIRAM /CE
PPU A52050PPU A7PPU 地址线
PPU A42151PPU A8
PPU A32252PPU A9
PPU A22353PPU A10
PPU A12454PPU A11
PPU A02555PPU A12
PPU 数据线PPU D02656PPU A13
PPU D12757PPU D7PPU 数据线
PPU D22858PPU D6
PPU D32959PPU D5
电源+5V3060PPU D4

Mapper 表

粗体意味着该Mapper已受到本社团产品的支持。 过于复杂、资料不足或只有盗版/合卡使用的Mapper不会列入。

名称 寄存器 作用 寄存器 作用
000NROM
001MMC1 8000-9FFF(S)CPPMM(+/+)(P/P/H/L)(0/1/H/V)A000-BFFF(S)ccccc
C000-DFFF(S)ccccc E000-FFFF(S)Rpppp(WRAMNCE)
002UNROM 8000-FFFF ….pppp(H)
003CNROM 8000-FFFF ….CCCC
004MMC3 8000-9FFE CP…RRR(R0..R5)(R6..R7=LL+LH+-2+-1/-2+LH+HL+-1)
8001-9FFF R0CCCCCCC.(LL/HL) 8001-9FFF R1CCCCCCC.(LH/HH)
8001-9FFF R2CCCCCCCC(HLL/LLL) 8001-9FFF R3CCCCCCCC(HLH/LLH)
8001-9FFF R4CCCCCCCC(HHL/LHL) 8001-9FFF R5CCCCCCCC(HHH/LHH)
8001-9FFF R6..PPPPPP(LL/HL) 8001-9FFF R7..PPPPPP(LH)
A000-BFFE …….M(V/H) A001-BFFF RW……(WRAMPCE/WRAMNWE)
C000-DFFE DDDDDDDD(PA12RISE:D–,D=0:IRQ)C001-DFFF ……..(*=IRQRELOAD)
E000-FFFE ……..(*=IRQOFF) E001-FFFF ……..(*=IRQON)
007AxROM 8000-FFFF …MPPPP(0/1)
011Color Dreams8000-FFFF CCCCLLPP(LL=NES CIC defeat)
034BNROM 8000-FFFF ….PPPP
066GxROM 8000-FFFF ..PP..CC
094UN1ROM 8000-FFFF …ppp..(H)
180Crazy Climber8000-FFFF …..ppp(L)
218Magic Floor (0)(1K VRAM)
简写 含义 简写 含义
0 单屏幕,AAAA 1 单屏幕,BBBB
H 水平滚动,垂直镜像,AABB V 垂直滚动,水平镜像,ABAB
P/p/P#PRG BANK C/c/C#CHR BANK
P/C 切换整个32K/8K 0H 切换高16K或高4K,低16K固定于首BANK
L 切换低16K或低4K,高16K固定于首BANK H 切换高16K或高4K,低16K固定于末BANK
S 移位寄存器,位0=数据,低位在前,共5位
zh/fc_资料.txt · 最后更改: 2021/11/01 03:20 由 milowork