易码技术论坛

 找回密码
 加入易码
搜索
查看: 710|回复: 2

2016年文曲星 E系列 E638/E658/E900/E928 的 GVmaker 开发方式

[复制链接]
发表于 2016-10-29 23:09:39 | 显示全部楼层 |阅读模式
买了台 E900+怀旧一下,目前还在生产的黑白屏幕的机器了,比较难得,外观也不错,于是准备写点小程序玩玩,
发现市面上能下载到的 GVmaker 0.9/1.0/2.4 编出来的东西基本没法在上面跑,最后鼓捣了半天,发现

目前 GVmaker 2.4 可以开发 E900 上面的 GVM程序,但是需要新建项目的时候设置成 160x80的分辨率才行,
其他分辨率都跑不了,但 E900 屏幕是 240x120的,160x80的程序在上面只占一小块,占不满屏幕,十分别扭。

后来发现,你可以新建一个 240x160 黑白 的项目,但是记住只使用 240x120的屏幕内容,等你在电脑上调试
好了的时候,左上角工程面板,选择工程名字,右键,属性,改为160x80,然后编译,即可在你的 240x120上的
机器运行了,虽然你改为160x80后,模拟器上看到超出部分是没有的,但是在真机上有,等你又要模拟器的时候,
改回240x160。

于是观察 240x160的gvm文件与 160x80的gvm文件,发现只是头部不一样,具体有三个字节不同:
240x160的 gvm文件:0x0A处为 0xF0(十进制240), 0x0C处为 0xA0(十进制160),0x12处为 0x23
160x80 的 gvm文件:0x0A处为 0xA0(十进制160), 0x0C处为 0x50(十进制 80), 0x12处为 0x12

所以其实我们可以写个小工具,来做这个头部转换即可。
最后总结一下,E900/E900+/E900+S/E928 上面使用 GVmaker2.4 IDE来新建 “240x160黑白图像” 的工程
然后在PC上调试好后,把编译出的gvm文件头改三处 0x0A处改为0xA0, 0x0C处改为0x50,0x12处改为0x12
即可放到 E900/E900+/E900+S/E928 文曲星上正确运行
 楼主| 发表于 2016-10-31 20:36:26 | 显示全部楼层
其实原因可能是,GVmaker 2.4 的分辨率规格里有 160x80, 240x160 却没有 240x120,早期的机器没问题,E528的屏幕是160x80也没问题,但到了 E900屏幕分辨率变为 240x120了,却没有更改 GVmaker 的虚拟机也没有发布新的 GVmaker 2.x 系列,所以有这个问题,但是索性,E900尽管 240x120的分辨率,但是GVmaker虚拟机在 E900下使用160x80的分辨率规格后,任然可以绘制到超出 160x80的部分,尽管.gvm文件头部表明这是一个160x80的程序,却在E900下可以一直绘制完 240x120的整个屏幕,所以我们可以按照上面的方式进行开发。

嗯,留在这里给有需要有缘分的人看吧。

[ 本帖最后由 skywind3000 于 2016-10-31 20:38 编辑 ]
发表于 2016-11-26 23:26:16 | 显示全部楼层
原来现在还有能编程的文曲星,而且价格好便宜,当年NC3000的价格现在能买好几台E900+,还是2G内存的。
不知道现在这台还内置BASIC么,怀念。。。
您需要登录后才可以回帖 登录 | 加入易码

本版积分规则

Archiver|手机版|小黑屋|EMAX Studio

GMT+8, 2024-4-17 00:24 , Processed in 0.009650 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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