百度空间 | 百度首页 
 
查看文章
 
我早年改写的一个FC学习机的FBASIC(7in1)
2008年07月26日 星期六 下午 10:41



压缩文件包中包含一个"英雄救美女"FBASIC程序的磁带文件:hero.vtp

      这是我周哥(maxzhou88)早年改写的一个FC学习机的FBASIC软件,是以小霸王学习机最早的一个版本SUBOR2.0一级字库中英文学习卡中的GBASIC为蓝本改写的,主要是恢复了文件的磁带读写功能,通过它我们可以将BASIC程序和背景作图的图形存放在磁带中,需要时在从磁带中调入。

       小霸王的GBASIC其实就是日本的F-BASIC2.0,不知道是什么原因,小霸王将键盘的定义改了(我估计是因为键盘底板布线的原因或小霸王有意加密用),由于后来小霸王学习机在市场上大卖,反而他们自己的键盘定义成了事实上的工业标准。现在大部分模拟器都加入了小霸王键盘的模拟(如在惊风的VirtuaNESex(071111)模拟器中设置"小霸王键盘",若是日本的F-BASIC2.0,则设置为FamilyBasic Keyboard)。但小霸王他们不知道这一改就改出了一个BUG,就是读磁带命令"LOAD"会死机。没有办法小霸王他们就将GBASIC的磁带读写命令"LOAD/SVAE"从系统中去掉了,虽然我当时拆开过他们的机器,发现里面还有磁带读写的硬件电路,机壳上也有磁带录音插孔(后来封掉了),但软件上没有这功能了。这真是对不起用户啊!要知道BASIC语言这东西如果没有磁带存取这简单又便宜的文件备份功能,你叫别人怎么编程序啊?

       还是我后来发现LOAD命令可以用"Pause"键来中断,但由于小霸王改了键盘的按键布局(也就是键定义)后,这就使LOAD命令在处理"Pause"键的时候花的时间比较长,错过了磁带的波形信号,所以就读不出文件并死机。我的解决方案是将"Pause"键改为"E"键来中断"LOAD"命令,再恢复GBASIC的命令表中的"LOAD/SAVE"命令,哈哈!就这样简单地恢复了磁带读写功能。

      其他的几个小游戏也是我从小霸王SUBOR2.0中提出,并将他们全部放在FBSAIC软件的无用空间中。由于没有全角英文字库,我就将"键盘练习"(Keyboard Drills)的16X16全角字母改为FBASIC的8X8字母。

      可以在惊风的VirtuaNESex(071111)模拟器上演示,模拟器加载NES文件后,要将模拟器进行如下设置:
[1] "特殊控制器"设置成"小霸王键盘",每次打开NES文件时要设置一次。
[2] 磁带存取功能在模拟器菜单“编辑”->特殊设备”->“磁带”。在用SAVE命令前应先开模拟器的“录制”;在用LOAD命令时应后开模拟器的“播放”。

      我自己还写了个"英雄救美女"的FBSIAC游戏,其磁带文件是:hero.vtp ,大家可以用模拟器VirtuaNESex(071111)将它调入内存中运行,有关FBASIC的几个命令说明如下:

   存BASIC源程序命令: SAVE “文件名"   或 SAVE         (SAVE 可简写成 SA.)
   取BASIC源程序命令: LOAD “文件名"   或 LOAD          (LOAD 可简写成 LO.)
   "背景作图"的磁带存取请用ESC键调出菜单,按提示完成.

   菜单中按"1”进入FBASIC,用LOAD (或LO.)将磁带文件hero.vtp读入(按"E"键可以中断读文件),你可以用LIST(或L.)来列表程序,按"ESC"键来暂停列表(再按任意键恢复列表),用RUN(或R.)来运行程序。当然你也可以修改它,再用SAVE(或SA.)来保存你修改后的程序,要从BASIC状态返回到主菜单请打入 SYSTEM(或S.)命令。

    另外,网友jjww2999在他的百度空间中也写了几个FBASIC的磁带文件,大家可以去看看:hi.baidu.com/jjww2999/blog/item/fc8fbe6033f3b241eaf8f815.html

ROM下载地址:maxzhou88.ys168.com \NES\FC_BASIC(7in1).rar 56KB


类别:nes/fc日志 | | 添加到搜藏 | 分享到i贴吧 | 浏览() | 评论 (15)
 
最近读者:
 
网友评论:
1
2008年07月27日 星期日 上午 10:51 | 回复
当年我可让小霸王得没存储功能害惨了,最怕就是停电,有时机器两天不关,结果就死机。。 后面偶然研究学习卡电路发现其实电路上支持存储功能得,因为在存储器电源脚位置,有个可以安放IN4148得位置,装上以后就可以旱上两节电池然后断电就能保存了。只是只能保存2K以下得数据,超过2K下次再打开时后面都是乱码。
 
2
2008年07月27日 星期日 上午 11:55 | 回复
感谢了 哈
 
3
2008年07月27日 星期日 上午 11:59 | 回复
话说这东西周哥之前有发布过啊 ~~
 
5
2008年07月27日 星期日 下午 06:11 | 回复
To 911: 这东西我之前只是在我的网盘中发表过,没有任何说明.这次在空间中发布主要是说明一下它的磁带读写功能,同时也更新了我网盘的该文件压缩包,包含一个"英雄救美女"FBASIC程序的磁带文件:hero.vtp
 
6
2008年07月28日 星期一 下午 05:22 | 回复
怪不得我覆盖的时候提示已经有文件了 :)
 
7
2008年08月05日 星期二 上午 09:01 | 回复
周哥能不能把那个邦谷小PC研究一下,让他能再模拟器上运行?
 
8
2008年08月06日 星期三 上午 10:28 | 回复
To weiwei: 邦谷小PC是我朋友"大杨"开发的,他现在人在加拿大,有机会我跟他联系一下,看能不能拿到资料.
 
9
2008年08月06日 星期三 下午 09:17 | 回复
要是能拿到资料那就太好了,到时看看我能否帮得上忙,希望早一天能够模拟
 
10
2008年08月22日 星期五 上午 01:40 | 回复
步步高和裕兴跟小霸王是不同的流派?没看见有模拟下载.
 
11
2008年12月25日 星期四 上午 11:02 | 回复
我的解决方案是将"Pause"键改为"E"键来中断"LOAD"命令 ...此改後似乎無法中斷程序 , 請教如程序進入死回圈該按哪鍵中斷呢?
 
12
2008年12月27日 星期六 上午 01:07 | 回复
To Scott: 哈哈! 用热启动(RESET), 先前的8bit电脑是以BASIC语言为操作系统的, 复位/启动(ERSET)分冷热两中, 冷启动就是开机上电复位, 而热启动就是按电脑的RESET键. 热启动可以使BASIC系统复位, 但不冲掉用户编的程序. 现在大部分NES模拟器也都有冷热RESET功能.
 
13
2009年01月07日 星期三 下午 12:41 | 回复
热启动可以使BASIC系统复位, 但不冲掉用户编的程序..... 還是不行; 因為您這是 7in1 當 reset 後再選 F-BASIC 進入 , 它會清掉程式...我現迷上F-BASIC 程序 , 常常回圈寫很大 or 進入死回圈 . 故除 SAVE LOAD 外此很重要.... 不然一旦死回圈程式就救不回來... Japan F-BASIC 都 support 但鍵盤實在不習慣.實在很希望周兄能解決 or 單獨把 F-BASIC 重 7in1 抽離變一nes檔.
 
14
2009年01月07日 星期三 下午 05:21 | 回复
To Scott: haha,“回圈”!听这名词,好熟悉啊,你一定是台湾朋友吧!欢迎欢迎啊! 这问题自你提出后我后来也看出问题来了,先前我还以为Reset就可以了,但这卡还是不行。好,等我忙过这阵子就改改,加个热启动功能(hot boot)。在没有改前,你可以先用SAVE LOAD ,最简单的还可以用模拟器的及时存档来解决。
 
15
2009年05月24日 星期日 下午 06:14 | 回复
唉。这好东西我咋才发现。
 
16
2009年10月12日 星期一 下午 03:08 | 回复
步步高软驱一号由 BIOS 引导,然后加载软盘完成启动,标准的微机引导模式,当年我曾踪过步步高的引导过程。

QQ:53578997
 
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
验证码: 请点击后输入四位验证码,字母不区分大小写
      

     

©2010 Baidu