任天堂FC专题 (现在还有没有人对FC感兴趣? 红白机游戏汉化)
调查一下。 我干了一年相关的工作,有共同爱好的话可以聊聊·~~
例子
.ORG $8000 ;from c921 / [4 [9 J6 ?6 X( Q
PHA ;保护A 进堆栈
% X& h8 c' D4 q, @% c TXA ;保护X
1 x# R) W! V6 w9 / N ?; u8 G PHA 9 {, p V7 L8 R. S/ u! d+ f1 |
TYA ;保护Y
+ u- g" v$ y; y PHA % }; q" N( b G& y& v, b6 _$ c: ]
LDA #$01 ; Z7 k3 X4 F% Q+ [# s) w1 j
STA $8000
! v1 o9 Q% b9 ]! ^: _0 f7 L- | ' f3 L$ ?2 a% J. S- M
;********************************************************* ! B9 W. h" ^: o) w( j: c8 ]: i
LDY #$02 / t0 {* n: v8 e7 n* q {
LDX #$60
& m' ?# k& T6 C# d8 y LDA #$22 ;写屏幕,从$2200开始,写$60X$02=$C0个
% l- }% P# {6 I* ? B* h STA $2006
' N0 k6 k3 D* a+ F/ u& F+ S4 f: f0 Z LDA #00 / r2 F) ~9 h) q
STA $2006
' F# h7 d Z+ /8 {) }+ /* X; ? LDA #$24 ;屏幕清成$24,空格,写$C0个
( [4 N( L8 ]7 T3 B" [jp8 9 W2 L }6 h! v
STA $2007
% x5 {" k! u8 m) C DEX + e& k# s+ r9 O( _" j- T
BNE jp8
! F) O Q8 b% e8 A DEY 2 J6 `; h% b2 i
BNE jp8
6 B$ K% ^6 P0 U$ t, @;**********************************************************
" m4 e' Q2 B, /5 n;将test中的数据显示在屏幕上 7 `9 y6 ~) u6 l
LDY #$02 ;每个数据写2次 6 L& h' g; i- b# `( h" Q
LDX #$00
; U1 H4 L" ]3 i0 @3 T3 I: S# C6 Q( k- Q0 pjp7 2 X9 G0 C6 F2 r% m; @7 V5 t8 J& {
LDA text,x ;起始地址为:$220B,放在$20和$21中 , t0 t* j+ /' y2 J% B
STA $20 & B7 |# v# [( N; t
INX ; ?5 Y8 ~% ~2 d& b5 E" M. d
LDA text,x ' W3 X7 X8 _6 e. C
STA $21
. ]3 l- ?$ [4 p1 M INX 6 ~- G4 c# ]7 y( [2 {' W
0 C" J4 S% C* r* |jp3 & J5 f3 f" I# A* ^, y- B5 z$ d5 `
LDA text,x
7 [ F' {( E S$ a% E CMP #$ff ;数据在$FF终止
2 L. {1 L. X) t: Z" l BEQ jp5 ;结束
6 `' N1 t L4 N! G: X9 } CMP #$fe ;$FE为换行的标志,换行后的2位数是新的一行的地址。(如$224B)
; ^& o' n3 Z: S BNE jp6
5 }9 G. T" n* b2 W5 A: J1 q INX
8 O( J) [/ ?) H- |; O& @! g- R JMP jp7
1 S1 ]: O: a5 V X 6 ?' Z, Z( e6 {( ]) e3 x
jp6 : N$ I& U( R3 i1 h8 p- d9 n
STA $22 ;$22中放要写在屏幕上的数据。 5 P& l8 T/ P; y" ~. B( e6 g
INX
. Z Q, T q% C' u;********************************************************************** 8 k2 ~. V7 X5 r; M
;将准备好的数据写入口地址,看的出是在写汉字:如 70,71 2 m( j% /# n9 Y& l: J2 @0 U
; 72,73
1 z) Y+ t) R- c! d r( o9 S, H- |;这样只要一个字$70,就代表一个汉字 " G) W3 z5 M& }6 R4 j& d- l
jp1
& F( I$ f% q; P/ t0 [4 u4 i& h LDA $20 ;高位地址 , d2 [9 q+ T6 y% _( T
STA $2006 - G& }2 }, P' v
LDA $21 ;低位地址
, U% C: n8 c6 B) h! k& _ STA $2006 . I& V3 U8 I/ ] e9 C
LDA $22 2 [& P' E. ]* x. h
STA $2007 ;写数据
5 ~2 k, {+ R _! x* Y; f) z/ }- T INC $22 - o6 v) r1 ^! _% Z4 w' S- d8 x% s
LDA $22
2 S5 R) f. A1 x7 Y/ z8 u4 /, T8 k6 k STA $2007 ;数据+1再写一次
6 S4 ]% w& W0 E6 U1 b J INC $22 8 ]8 d Y1 h1 a: g
DEY ;Y=1 # a: |+ K+ H) I s
BEQ jp2 ;写完一个中文字,准备写下一个中文字 % /& }9 i0 O% K4 Z5 j0 `3 h
3 ~6 Z+ A2 C+ E' [
CLC / B& ]2 y/ o7 e9 ?8 P5 n
LDA $21 ;写屏幕的下面一行,即汉字的下半部
$ e# V2 q/ o& R5 e3 Z ADC #$20
. l6 O8 g: i5 F5 g& t; g3 |4 @! F* B STA $21 % x, o* r' s( ]( T) h% m
LDA $20 7 A }( c' z6 i* t1 v6 H$ E- ^
ADC #$00
+ u* V8 O& K7 I% ` o STA $20 , }1 {8 U8 q' G1 d
' `, w$ j% c; W1 }8 O3 C5 X" / JMP jp1
. w7 c8 I1 s! j3 J& ` , f% j5 R4 y. b8 {$ j1 r% {1 d
4 Z7 E2 L1 }4 V5 H- N' I$ /
jp2 & [2 U9 x( ]' ^$ ~
LDY #$02 ;写第二个中文字
" L8 d/ n& ^/ r. d/ R, E SEC
* P' ~. m7 V: E; H$ }4 J LDA $21 ;高度退回1E,跟前一个中文字平
' L7 n0 |* p, s% M SBC #$1e
5 [2 e. m: ~% H4 p6 G( Q STA $21
2 w/ f5 e; L& d- m& O LDA $20
W b& N f$ Y. F SBC #$00
% ^; @ k5 i: b1 _: a STA $20 # ^/ B5 E# S, A5 P" {* T
JMP jp3 ;运行JP3直到数据出现$FF结束 * z3 z3 _; L( ~0 r; ?
0 M- d+ f/ j i" S& _5 P) ljp5
8 e- ^. |) q# b- c* V$ }* L LDA #$00 ;清中间变量
2 E$ g% q8 ^9 _, v/ j STA $20
/ v6 E9 _; Y# i STA $21
9 h' [+ D: P* B4 ]- ~: T% v STA $22 / _1 ]9 w" ~; t- i4 T7 f8 K# y6 w
3 o- l0 _6 a- ~" L( ` PLA ;推出堆栈 / n5 Y( }1 H$ d* D$ o& b& J5 U d; H' x
TAY & N% c' m* [3 t
PLA 2 B3 f* h8 w2 v# i: [
TAX 7 x. J) h9 [' r3 F$ p" a
PLA 1 ~" r' u, n `$ j p
LDA $0511 4 Z. v6 f+ ~( W" `
JMP $c924
# k$ S% X* p/ Q0 u6 Z' c 5 P) ^! P$ ^) ?
text
1 K- m8 g. I% k& _3 R6 p8 F( L! w$ y .DB
% }, {' P' V+ n3 K" r 7 V% D" H! s5 ?+ u
$22,$0b,$70,$78,$7c,$80,$84,$fe,$22,$4b,$70,$78,$7c,$80,$88,$fe,$22,$8b,$74,$78,$7c,$80,$84,$fe,$2
- K8 u+ P7 G9 P5 E5 ~( a8 t , H6 {. D2 Z6 c2 x* W( D
2,$cb,$74,$78,$7c,$80,$88,$fe,$23,$03,$8c,$90,$94,$8c,$98,$9c,$a0,$fe,$23,$14,$a4,$a8,$ac,$b0,$fe,
- ?+ y$ N" d" O' w. P5 w/ X
0 h V/ |9 b1 J' l" w: j# u( T7 }$20,$43,$b4,$fe,$20,$4f,$b8,$fe,$20,$5b,$bc,$fe,$23,$4a,$c0,$c4,$c8,$cc,$d0,$d4,$ff
晕了没???
任天堂FC专题 (现在还有没有人对FC感兴趣? 红白机游戏汉化)相关推荐
- 小霸王其乐无穷~FC红白机游戏600合集(支持mac 12.x系统)
FC游戏是任天堂红白机一FC(Family Computer),代表作品主要有<魂斗罗系列>.<93超级魂>.<沙罗曼蛇系列>.<超级玛丽>.<赤 ...
- fc安卓模拟器_安利一款手机上的红白机模拟器
戳上面的蓝字关注我哦! 使用平台:安卓 软件简介: NES.emu是一款任天堂红白机(NES.FC)模拟器,软件支持横竖屏.自动保存游戏进度.按键自定义等功能,还可以自行编辑作弊文件,小编为大家带来的 ...
- 【转】FC(红白机)游戏nes文件的汉化技术
FC大字体汉化方法 作者:madcell 一.前言: 本文以FC上第一个发售的游戏<大金刚>为例,介绍如何对标题画面进行大字体汉化. 阅读本文,必须具备一定的的条件,否则看了也是不知所云. ...
- TI-89T 教你在C程序里调用TI-BASIC程序,看看是否有人对这个感兴趣
2019独角兽企业重金招聘Python工程师标准>>> 教你在C 程序里调用TI-BASIC程序,看看是否有人对这个感兴趣 昨天翻TIGCC的文档,先瞅了瞅FAQ,话说我看文档有个习 ...
- 任天堂“红白机之父”上村雅之去世,他曾给千万人带来欢乐
行早 发自 凹非寺 量子位 报道 | 公众号 QbitAI 立命馆大学游戏研究中心12月9日发布讣告:红白机之父上村雅之教授于2021年12月6日去世,享年78岁. △ 图源:立命馆大学 上村雅之教授 ...
- 计算机丢失fc64,FC红白机64合1
软件简介 Soft Introduction FC红白机64合1 64in1.nes 01Islander冒险岛1 02Grading沙罗曼蛇1 03Star Soldier星际战士 04Goonie ...
- 使用C++实现FC红白机模拟器 Cartridge 与 Mapper(原理篇)
1. 认识nes文件 我们既然是模拟,就不可能使用实体的卡带硬件.那我们如何获取游戏文件呢?好在已经有人为我们准备好了(心怀感恩). .nes文件是NES(FC)的rom文件,关于它的来龙去脉这里就不 ...
- java写红白机_Java 开发的编程噩梦,这些坑你没踩过算我输
很多 Java 初学者在开始编程时会出现一些问题,这些问题并不是指某个特定领域的问题,也不是指对某个业务不熟悉而导致的问题,而是对基础知识不够熟悉导致的问题.而就是这些问题让我们编写了一些不够健壮的代 ...
- 使用C++实现FC红白机模拟器 Cartridge 与 Mapper(实现篇)
(继上篇:原理篇,下:实现篇) 2. Cartridge 与 Mapper的实现 首先我们在QT中创建两个类,Cartridge 与 Mapper类: Cartridge 类负责加载和解析ROM,因为 ...
最新文章
- sqlalchemy mysql_SQLAlchemy简明教程
- MySql中truncate,delete,drop的异同点
- VTK:Math之HomogeneousLeastSquares
- jQuery-demos轮播图练习(一)
- MOCTF-Web-访问限制
- 22张图片倒叙霍金:我爱宇宙也爱这苦乐人生
- 如何将SAP数据传输到其他系统(Transferring Data from SAP to Other Systems)
- Unity3D研究院之获取摄像机的视口区域(转)
- KeyMob:移动聚合广告的潜力无限
- hibernate 基础方法(一)及Hibernate中java对象的三种状态
- No package ‘libusb‘ found
- 戴尔r510服务器修复,DELL R510服务器宕机案例(1)
- Highcharts 隐藏右下角的官网链接
- 什么是串行端口?分哪几种类?-道合顺大数据Infinigo
- java 标点符号_java的标点符号
- js怎么识别图片中的文字,js图片文字识别代码
- C语言经典项目之二——扫雷
- php源码中powerby,小龙源码网 - discuz论坛怎么去掉power by discuz版权
- CVPR 2021 论文大盘点-去阴影、去反光、去高光、去伪影篇
- SQL SERVER数据库修复