Retro device wqx nc2000/nc2600 emulator, which emulates a 6502 SoC and peripherals. The emulator runs firmware dumped from physical device.
Cross-platform, supports running on windows/linux/mac.
nc2000/nc2600 is a series of 6502-based portable computer:
image source
The device has following hardware:
- 5MHZ 6502 CPU, integrated inside SPDC1024 SoC (implemented in
cpu.cpp
andcpu.h
) - 512K x 8 Bit Nor Flash with Bus Flash interface, named SPR4096 (
nor.cpp
nor.h
) - 32M x 8 Bit NAND Flash Memory, supplied by either Samsung or Toshiba (
nand.cpp
andnand.h
) - 24K internal ram, 32K external ram, 4k addition ram built inside SPR4096 (
ram.cpp
andram.h
) - 00h~03Fh as special registers of SoC, also called IO port (
io.cpp
io.h
) - memory mapping from 0000h~FFFFh controlled by
00h
as "bank switch",0Ah[0:3]
as "BIOS bank switch",0Ah[8]
as "ROM/RAM select",0D[0:1]
as "volume select",0D[2]
as "ramb select" (mem.cpp
mem.h
) - 160*80 LCD with SPLD803A as LCD driver (
display.cpp
anddisplay.h
) - SPDS104A DSP with speaker (
sound.cpp
andsound.h
anddsp
folder) - QWERT keyboard (
key.cpp
andkey.h
)
PCB layout:

The rest of Readme is going to be in Chinese, there are a few more english materials in wiki.












文曲星nc2000/nc2600。跨平台,可以运行在windows/linux/mac。另外也顺便支持nc1020。
支持以下feature:
- 运行从真机dump的rom
- 兼容真机软件,和各种自制内核
- 下载, 上传文件, 保存状态
- 发音,蜂鸣器
- 4灰度
- 液晶格栅效果, 液晶残影, 液晶屏侧面的小图标
- 热键唤醒, 闹铃唤醒
- 超频
经测试支持的内核:
- nc2000c
官方3.5
- nc2600c
官方3.2
,3.5内核 by Sun
,4.1内核 by qiqi
,4.1内核保留剑桥版 by qiqi
,非常4.2内核 by 41824984
,5.0内核 by epc
特殊键:
英汉 名片 计算 行程 测验 时间 网络 :F5~F11
on/off : F12
发音 报时:; '
求助 中英数 输入法 : [ ] \
红外:Alt
跳出 : ESC
翻页上 翻页下 : , ?
其他的键都跟直觉相符,与电脑上的同名键对应
另:
TAB
可以切换快进模式`
可以进入模拟器内置的命令行- SHIFT +
`
可以切至其它键位
具体见wiki模拟器键位
nc2000:
nc2000.exe --nc2000 --rom roms/nc2000 (默认参数)
nc2600:
nc2000.exe --nc2000 --rom roms/nc2600
nc1020:
nc2000.exe --nc1020 --rom roms/nc1020
更多见wiki切换不同机型和内核
nc2000.exe --oc 2 (超频到2倍速)
见wiki模拟器参数
按`
进入模拟的内置的命令行后,可以输入各种命令,如图:

(另外还有其它方法运行命令,具体见wiki)
create_dir XXXX
: 在文曲星当前目录内创建一个名为XXXX的目录。
put aaa.bin bbb.bin
:把本地的aaa.bin下载到文曲星的当前目录,命名为bbb.bin
put 1.txt
把本地的1.txt下载到文曲星的当前目录,命名为1.txt (也就是上一个命令省略了一个参数的形式)
get aaa.bin bbb.bin
:把文曲星的当前目录的aaa.bin上传到电脑,命名为bbb.bin
- 如何切换当前目录呢? 你在文曲星上打开资源管理器,进入哪个目录,哪个目录就是你的当前目录。 也就是说你文件上传到哪里,取决于模拟器内文曲星当前所在的文件夹。
- 以上命令需要文曲星在进入系统以后才可以运行
- 模拟器不自带bin解密功能。下载bin文件需要在电脑上提前把bin文件解密好。
save_flash
: 把模拟器对nand和nor的修改保存到硬盘。 默认模拟器是不会写硬盘的。
另外还支持ram保存,这样玩宠物猫等游戏退出模拟器后进度不会丢失,具体使用见wiki。
完整命令见wiki 模拟器命令
见wiki How to compile
这个项目本质上是sim800和wayback的fork:
sim800: cc800模拟器。 作者:曾半仙
wayback800: cc800/pc1000模拟器。(sim800作者的新版)
DSP功能基于:
Pc1000emux。 作者:Lee。
CPU[1], IO,中断处理参考、复用了:
Pc1000emux,nc3000emux旧版,nc3000emux新版(没有源码) 作者:Lee。
[1] 软件默认运行wayback的handypsp cpu实现,不过也支持pc1000emux的cpu实现用做对比查错。用 --cpu 2
可以切换至pc1000emux的cpu
早期代码基于:
nc1020模拟器SDL版 作者:Wang-Yue。 貌似此版本是基于"nc1020模拟器c语言版"做了SDL移植。
"nc1020模拟器c语言版"作者不详,代码最早应该也是基于sim800。 另外"nc1020模拟器c语言版"貌似跟nc1020模拟器js版也有关系, 具体不详。
感谢
除了感谢以上作者外,诗诺比对本项目提供了很多帮助,特此感谢。
更多信息见wiki: https://github.com/wangyu-/NC2000/wiki/