Skip to content

wangyu-/NC2000

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NC2000

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
image source

The device has following hardware:

  • 5MHZ 6502 CPU, integrated inside SPDC1024 SoC (implemented in cpu.cpp and cpu.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 and nand.h)
  • 24K internal ram, 32K external ram, 4k addition ram built inside SPR4096 (ram.cpp and ram.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 and display.h)
  • SPDS104A DSP with speaker (sound.cpp and sound.h and dsp folder)
  • QWERT keyboard (key.cpp and key.h)

PCB layout:

image

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

Screenshots

image image image
image image image
image image image
image image image

NC2000

文曲星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模拟器键位

模拟器参数

切换型号和rom

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模拟器参数

模拟器命令行

`进入模拟的内置的命令行后,可以输入各种命令,如图:

image

(另外还有其它方法运行命令,具体见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

Note

  1. 如何切换当前目录呢? 你在文曲星上打开资源管理器,进入哪个目录,哪个目录就是你的当前目录。 也就是说你文件上传到哪里,取决于模拟器内文曲星当前所在的文件夹。
  2. 以上命令需要文曲星在进入系统以后才可以运行
  3. 模拟器不自带bin解密功能。下载bin文件需要在电脑上提前把bin文件解密好。

flash保存

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

更多信息见wiki: https://github.com/wangyu-/NC2000/wiki/

About

Retro device nc2000/nc2600 emulator (6502 cpu). 文曲星nc2000/nc2600模拟器

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages