矿石收音机论坛

 找回密码
 加入会员

QQ登录

只需一步,快速开始

搜索
查看: 3612|回复: 15

能否自行设计一架基于BASIC语言环境的计算机

[复制链接]
     
发表于 2021-4-12 16:26:04 | 显示全部楼层 |阅读模式
   现在大家都在玩单片机,更多的是控制类方向的应用。  记得小时候曾用LASER 310 学生电脑学习BASIC编程,几十年过去了,我想学习计算机在其它方面的应用,那么我们可以自行设计一架基于BASIC语言环境的计算机吗?
     
发表于 2021-4-12 16:41:05 | 显示全部楼层
你想用单片机实现一个BASIC解释器?
基础环境的话输入输出,屏幕驱动、键盘、BASIC解释器、文本编辑器、文件系统大概这些
回复 支持 反对

使用道具 举报

     
发表于 2021-4-12 16:42:34 | 显示全部楼层
完全可以,只是已经过时了,娱乐而已……
回复 支持 反对

使用道具 举报

     
发表于 2021-4-12 20:11:59 | 显示全部楼层
树莓派上BASIC就行了。
回复 支持 反对

使用道具 举报

     
发表于 2021-4-12 20:24:31 来自手机 | 显示全部楼层
想体验一下80年代的8bit电脑裸机跑basic的感觉的话。60多块钱买个树莓派0,或闲鱼上2,3十块搞个树莓派1代,github上下个IchigoJam BASIC RPi。准备个大于1G的sd卡,把下的东西写到卡里,准备个USB口的键盘,树莓派HDMI或AV视频输出接电视。开机OK,老式8bit电脑的那种带行号的basic编辑输入界面出现在你面前。怎么玩,软件有文档自己慢慢研究吧。
回复 支持 反对

使用道具 举报

     
发表于 2021-4-12 21:45:48 | 显示全部楼层
直接虚拟机虚拟win95就可以了,我记得为in95有basic解释器。
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2021-4-13 10:18:17 | 显示全部楼层
JuncoJet 发表于 2021-4-12 16:41
你想用单片机实现一个BASIC解释器?
基础环境的话输入输出,屏幕驱动、键盘、BASIC解释器、文本编辑器、文 ...

看来你理解了我发帖的目的,我就是好奇,个人条件下是否可完成你所罗列的内容,而不是其它朋友理解的玩玩BASIC,如果可行,需要自行脑补哪方面的知识。
回复 支持 反对

使用道具 举报

     
发表于 2021-4-13 10:24:13 | 显示全部楼层
随风吹哨 发表于 2021-4-13 10:18
看来你理解了我发帖的目的,我就是好奇,个人条件下是否可完成你所罗列的内容,而不是其它朋友理解的玩玩 ...


不怕麻烦的话,应该是能个人条件下实现的
难度也不是很大,对没什么基础的话,用Arduino来实现会比较快
可以直接驱动TFT屏,支持 IIC EEPROM 或者 SD 卡读写,键盘驱动的话应该也有现成的库
也就是说,你只需要移植一个BASIC解释器,其他东西都有现成的
费用的话,粗略算下 20+10+16=46 元,键盘 SD卡自备
回复 支持 反对

使用道具 举报

     
发表于 2021-4-13 10:31:21 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

     
发表于 2021-4-13 13:04:32 | 显示全部楼层
随风吹哨 发表于 2021-4-13 10:18
看来你理解了我发帖的目的,我就是好奇,个人条件下是否可完成你所罗列的内容,而不是其它朋友理解的玩玩 ...


你那个 LASER 310 的 BASIC 解释器就是比尔盖茨给 TRS80 编的(然后是谁弄到 LASER 310 上就没有可参考资料),比尔盖茨也是人,你也是人,他做得到的事情你当然也应该做得到

不过你非要用单片机(MCU)做就比较奇怪了,单片机是一个不伦不类的译名,原名 Microcontroller Unit,顾名思义就是做控制类方向的用途的,所以“大家都在玩单片机,更多的是控制类方向的应用”是因为人家就是干这个事情的,如果你不是这个方向的应用,那么就不用 MCU 了,比如你用过的 LASER 310 就是用 Z80 CPU 做的,类似的还有用 Intel 8080 CPU 做的 Altair 8800 电脑(上边的 BASIC 解释器也是比尔盖茨编的)和用 MOS 6502 CPU 做的 Apple 电脑(上边的 BASIC 解释器还是比尔盖茨编的)。

当然奇怪归奇怪,你非要做也不是不可以,反正当年比尔盖茨的 6502 BASIC 解释器源码早就到处是了,当然那个是汇编写的,不能直接移植到现代单片机上,只能参考了。可以参考的还有微软 GWBASIC,这个微软去年把它开源了:
https://github.com/microsoft/GW-BASIC

可以参考,8086 汇编写的,相比 6502 BASIC,这个 GWBASIC 源码是完整的,包括键盘输入、显示器输出、字符流处理等等,参考价值很大。

btw. 有一个巫妖 BASIC,是 Intel MCS52 BASIC 泄露的;此外也有爱好者移植过小型 BASIC 解释器到其它单片机上,比如 AVR MBASIC

回复 支持 反对

使用道具 举报

     
发表于 2021-4-14 11:32:13 | 显示全部楼层
basic解释器占用不了多少空间,例如以前有一只8052,就内置basic解释器,只不过显示部分,键盘输入部分这部分硬件会麻烦点。
以前收垃圾收到过一款Z80cpu的键盘大小的家用电脑(电视输出),里面的ROM芯片好像是8KB,RAM芯片是2KB。中间芯片是HD开头的DIP48脚芯片。
其实用PC的C语言做一个basic的解释器,源代码行数大概1千行吧,也不难的。
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2021-4-14 14:51:06 | 显示全部楼层
washu 发表于 2021-4-13 13:04
你那个 LASER 310 的 BASIC 解释器就是比尔盖茨给 TRS80 编的(然后是谁弄到 LASER 310 上就没有可参考 ...

受教了,感谢各位大神的点拨
回复 支持 反对

使用道具 举报

     
发表于 2021-4-14 15:14:26 | 显示全部楼层
locky_z 发表于 2021-4-14 11:32
basic解释器占用不了多少空间,例如以前有一只8052,就内置basic解释器,只不过显示部分,键盘输入部分这部 ...

差不多,我这里有个 Dave Dunfield 的 MBASIC 的 C 源码,一千三白多行 应该还有几十上百行是注释吧。

弄成 AVR 版也就增加几百行,也不到两千行,用串口做的输出输出
未标题-1bb.png
回复 支持 反对

使用道具 举报

     
发表于 2021-4-14 17:46:40 | 显示全部楼层
可以,写个解释器呗,但是要先写个操作系统,之前先要弄个系统编译器。。。。。。
回复 支持 反对

使用道具 举报

     
发表于 2021-4-14 21:04:29 | 显示全部楼层
落花萧然 发表于 2021-4-14 17:46
可以,写个解释器呗,但是要先写个操作系统,之前先要弄个系统编译器。。。。。。

操作系统并不是必须的,比尔盖茨给 Altair 8800 和 Apple I 写 BASIC 解释器的时候,Altair 8800 和 Apple I 上还没有操作系统这玩意。

并且,大多数单片机上也不运行操作系统,特别是比较低能的 8 位单片机,跑操作系统都差不多能把单片机累死了

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入会员

本版积分规则

小黑屋|手机版|矿石收音机 ( 蒙ICP备05000029号-1 )

蒙公网安备 15040402000005号

GMT+8, 2025-4-28 16:11

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表