SB2000 的 FBASIC 是浮点 BASIC 的意思, 就是说可以用在计算一些数值,高级计算机.今天我们还测一下它的计算性能,之前大概知道很慢..
计算圆周率有很多公式,收敛度不一样, 我们挑一个性价比较高的,比较容易实现的..比如这个:
在SB2000上,80位要算5 小时; 40位1个小时; 20位几分钟, 真得很慢.
—FBASIC 源代码—-
1 REM ********************************* 5 REM *JUST FOR FUN * 6 REM *F-BASIC PROGRAM BY HELLOACM.COM* 7 REM *TESTED ON SB2000-FBASIC * 8 REM *REALLY SLOW! * 9 REM ********************************* 10 N=40 20 DIM X(N) 30 DIM Z(N) 31 FOR I=1 TO N 32 X(I)=0 33 Z(I)=0 34 NEXT I 40 X(2)=2 50 Z(2)=2 60 A=1 70 B=3 80 D=0 90 J=N 95 IF J=0 THEN GOTO 140 100 C=Z(J)*A+D 110 Z(J)=C MOD 10 120 D=INT(C/10) 130 J=J-1 135 GOTO 95 140 D=0 145 J=1 150 IF J>N GOTO 200 160 C=Z(J)+D*10 170 Z(J)=INT(C/B) 180 D=C MOD B 190 J=J+1:GOTO 150 200 R=0 210 J=N 215 IF J=0 THEN GOTO 280 220 C=X(J)+Z(J) 230 X(J)=C MOD 10 240 X(J-1)=X(J-1)+INT(C/10) 250 R=R+Z(J) 260 J=J-1 270 GOTO 215 280 IF R=0 THEN GOTO 300 290 A=A+1 292 B=B+2 295 GOTO 80 300 T=1:S$="" 301 IF T MOD 20=0 PRINT S;:S$="" 302 S$=S$+STR$(X(T)) 315 T=T+1 320 IF T>N GOTO 330 310 GOTO 301 330 REM END
几点观察:
1. 代码很难读懂,因为没有缩进,语句前都得有个行号.但是代码算法相对来说很简单的,仔细研究一下不难的 只是代码没有缩进, 看得很痛苦 第一代BASIC (非结构化编程)都是这样
2. goto 跳来跳去的, 很得很乱,我尝试用 for, 但是SB2000的 basic 报错,什么语法错误(其实没有),所以就只能用 goto 来模拟
3. 行号会自动由小到大排序.
4. list 显示所有程序代码;run 运行BASIC程序; 没有任何调试的工具(单步调试等)
续:
呵呵, 我本来是写得很短的,结果SB2000的BASIC各种不支持,只能试着改着其它写法 把 for 改成 goto 不然会莫明其妙的出错
我早上1点运行的,6点多起来的时候算好了, 也许只需要3,4个小时,因为3点多起来的时候还没算完.
以下是在PC机里8位模拟器运行这个 BASIC 程序. 一样是很慢.
小数点80 位在电脑上瞬间算完.在BASIC上的确有点慢. 不过比起古代人已经算很快的,哈哈..18世纪有的数学家花一辈子才算个七八位..这么比来,小霸王是不是还不错呢!
更新:
网友yksoft1把上面的程移植到GWBASIC,i5 4200m直接运行DOS,120位也要2-3秒,300位大概10秒,1000位溢出.
电脑上 WORD 里面的 VISUAL BASIC 也不是很快.
loading...
上一篇: 试玩 小霸王 SB2000 的 浮点 BASIC (F-BASIC)
下一篇: 海淘步步高多媒体学生电脑 (软驱1号) 打造8位电视游戏机!
更正你一下,Word里有VB是Word 8.0也就是97的事情,之前那个叫做WordBasic.WordBasic没有数学库,没有传递指向函数的指针的功能,不能真正写出GUI程序.
好的..在哪里能下到这么古老的软件呢?
我这个Word 6.0 for NT是简版,来自
ftp://ftp.microsoft.com/Products/Oemtest/v1.1/Winstress/stress/i386/stress/word32/
很好的帖子, 在中文社区里关注retrocomputing的人确实是少之又少, 我也是先看到您的英文版本才找到这里来的. 不过建议不要用”NES clone”来描述国产学习机, 虽然兼容NES, 但其硬件已经和NES有明显的区别了, 就像ZX Spectrum和Amstrad CPC都是Z80处理器, 但都是各有特色的home computer, 不能互称为clone, 用”Chinese 8-bit home computer”之类的说法更有利于和西方retrocomputing社区交流.
感谢指正, 我本还以为是一样的.
有幸遇到楼主的博客, 看到这怀念的帖子. . .
话说lz, 当时我用gbasic 说明书上的 程序运行超级玛丽, 结果不知是不是说明书印错了, 老是失败. 这也成为了心头遗憾.
lz是否可以提供 gbasic rom及模拟器, 和超级玛丽的程序呢? 谢谢了!
[email protected]
gbasic 高级玩家啊, 我当时只记得 把玛丽给调出来, 然后可以用手柄控制. 现在要是还有源代码就好了.
但我没有成功调出来那个超级玛丽啊! 哪怕不能用手柄控制, 出现画面我也会满足了, , , ,