出于怀旧,做了文曲星 nc2000 和 nc1020 的模拟器。模拟器参考了泄漏的芯片资料,可以运行真机 rom ,效果和兼容性都堪比真机。
给没用过的人也说下:文曲星是以前没电脑时候的神器,不但可以玩游戏,还可以写汇编、BASIC 、C 语言(lava)。OP 的汇编和 C 语言就是以前在文曲星上学的。
支持以下 feature:
基本上真机有的都支持。 不过串口和红外暂时没有模拟(因为也没什么大用)。
附 NC2000 电路图:
经测试支持的 rom:
官方 3.5
官方 3.2
, 3.5 内核 by Sun
,4.1 内核 by qiqi
, 4.1 内核保留剑桥版 by qiqi
, 非常 4.2 内核 by 41824984
, 5.0 内核 by epc
官方 3.6B
(注:nc2600 本质上跟 nc2000 本质上是同一型号,可以互刷)官方 3.6
4.9 ( wqx 编程俱乐部)
官方 5.2
软件兼容性(在 nc2600 上测试):
之前有其它前辈也做过模拟器,不过都有些遗憾:
新的模拟器在前人工作基础上,实现了 NC2000 的支持(也顺便支持 NC1020),参考了泄漏的芯片资料做完善,兼容性堪比真机(至少 NC2000 可以这么说)。弥补了上述遗憾。
源码: https://github.com/wangyu-/NC2000
下载: https://github.com/wangyu-/NC2000/releases
项目主页 wiki 里可以找到一个文曲星群。很多 wqxnet/wqxsky/emsky 论坛上的大佬都在,比如曾半仙、lee 、诗诺比、SAILOR-HB 、_dragon 、eastsun 、isword 、红色激情、epc 、电脑蛙蛙...等等等等
![]() |
1
zenfsharp 4 天前
我滴妈,太牛逼了 OP !
|
![]() |
2
lyric 4 天前 via Android
想打赏点币
|
![]() |
3
wtks1 4 天前
厉害了
|
4
01802 4 天前 via Android
前段时间买的这个 [闲鱼] https://m.tb.cn/h.hEHV2Id?tk=XVhd4mdEwPF CZ057 「快来捡漏 [赠品一份,崭新的掌声学习小电脑,准全新没有包装盒但是都带膜还] 」
点击链接直接打开 现在没货了 给娃开眼界,挺好用的。 |
![]() |
5
levelworm 4 天前
多谢,准备下载下来研究一下大佬的源代码。粗粗看了下似乎是 65c02 的 CPU ,请问模拟这玩意主要的难点是什么?是不是资料不太齐全?还是说它的软件可能依赖于比较诡异的 timing ?(类似 atari 2600 )
|
![]() |
7
ETiV 4 天前
牛逼 66666
想到了在我 cc800 上写 basic 的时光…,以及当时班上有个女同学,有个 nc1020 ,她也借给我玩,我至今都喜欢那种按键的手感… |
![]() |
8
vivisidea 4 天前
牛逼,我的计算机启蒙就是文曲星上的 basic ,有简单的指令可以绘制图形,当时觉得发现了新大陆上课都在写代码
|
![]() |
9
billzhuang 4 天前 via iPhone
硬件还能模拟硬件,有点牛逼
|
![]() |
10
billzhuang 4 天前 via iPhone
能去模拟去好玩点的计算器不
Ti 的之类的,hp 的也行 |
![]() |
11
wangyucn OP ![]() @levelworm 细节特别多,缺乏资料。 没有遇到诡异的 timing 。
PCB 图上面的 CPU(严格来说 spdc1024 是 SoC ,内含 CPU)、DSP 、nor flash 、nand flash 全都要模拟。 cpu 本身不难模拟,6502 cpu 模拟器网上有现成的。麻烦的是 SoC 上面各种特殊寄存器。0x00~0x3f 每一个都有不同的功能,比如切内存(实际上有好几段内存都可以切页,方式还不同)、timer0/1/A/B 、中断控制、驱动 lcd 、电压比较(测电池电量)、RTC 时钟、RTC 定时器、IO port(各种方向控制,锁存不锁存等细节)。0x00~0x3f 的寄存器几乎每一个单独拉出来细节都可以写一页纸。 资料极度缺乏,当年文曲星流行的时候基本上就没有。SoC spdc1024 、DSP spds104a 厂家 sun plus 根本就没公开公布过任何资料。 后来 GGV 网站被攻击才泄露出来一些,但是很多细节资料里并没有解释,要猜和慢慢 debug 。 nor 和 nand 擦除、修改等等操作,各有 10 来种指令序列,也要模拟。 我也不是从头开始写的,我是从曾半仙的 cc800(另一型号文曲星,不过硬件差别挺大的)模拟器 fork 的。DSP 部分是 fork 的 lee 的 pc1000emux 里的代码,然后 debug 和看资料改进。 |
![]() |
12
zhujinliang 4 天前
太厉害了,是大佬
|
![]() |
13
zhujinliang 4 天前
原来是 UDPspeeder 和 udp2raw 的作者,太强大了
|
![]() |
14
wangyucn OP @zhujinliang 现在在的公司就是做网络的 怕有利益纠纷不太敢搞网络相关的开源 所以做做别的东西
|
![]() |
15
Tink PRO 牛的大佬
|
![]() |
16
icyalala 4 天前
太厉害了!
当年忘了哪个型号了,在上面能写 BASIC ,我还写了几个小游戏,好多关的打砖块,还有简单的类似英雄坛那样的小游戏。当年拿着纸写代码,也算是计算机入门了。。。可惜后来让母亲送人了,代码也找不回来了。。。 |
![]() |
18
cooper 4 天前
可惜我的 1020 ,没买一个月就被偷了。攒了很久的才买的,一想到这个想到就心痛不已。
|
![]() |
19
xi4oh4o 4 天前
牛!以前主要玩 eebbk ,伏魔记,魔塔,侠客行
|
![]() |
20
marsgh 4 天前
我以前用的就是 nc2600c
|
21
connecting 4 天前
NB NB
|
![]() |
22
ctrlaltdeletel 4 天前
太强了 👍
|
![]() |
23
ajan 4 天前
大神啊
|
![]() |
25
goodryb 4 天前
当年借同学的,就拿来看小说和打游戏了,编程是一点没学
|
26
wqywangweijia 3 天前
我的文曲星 怎么没有 学编程的功能,不公平。T.T
|
![]() |
27
luoyide2010 3 天前
牛,有空体验下
|
![]() |
28
killadm 3 天前 ![]() |
29
xygod 3 天前
看了眼书柜里被砸了一个坑的 1020
|
30
PanuiQ 2 天前
GVBasic 启动,当年我那个应该是 1020 ,写了人生第一个程序。lee 是当年那个 lava 的创始人么?
|
![]() |
31
Jet 1 天前
死去的回忆突然攻击我
|