WhyCan Forum(哇酷开发者社区)

我们能随心所欲"有问题百度(谷歌)一下", 这得感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn

您尚未登录。

#1 2020-06-11 16:38:39

Opcode
会员
注册时间: 2018-03-29
累计积分: 21

Allwinner A13 GBA Emulator. BareMetal (Low-Level).

致力于“三角带给人欢乐”的粉丝们!

前身:https://gamedev.ru/flame/forum/?id=246512

我掌握了裸金属级别的Allwinner A13 SoC。每个人都知道这些石头是专门为Linux和android推的。没有文档,并且开发工具不是很...

我花了很多时间,但我实现了目标:我启动并配置了内核(必要的外围设备)。
时间:大约1个月。

只有裸机,不要在这里寻找Linux或android-他们不在这里,永远也不会!

最重的2D模拟器-GBA现在具有60 FPS甚至声音。

全志Allwinner A13 SoC击败了DSP C6745。 笑还是哭?

影片播放中:https://www.youtube.com/watch?v=zXyjdnBK-Go

https://whycan.cn/files/members/706/1_20200611-1633.jpg

https://whycan.cn/files/members/706/2_20200611-1634.jpg

https://whycan.cn/files/members/706/screenshot.png

https://whycan.cn/files/members/706/screenshot2.png

在以前的DSP C6745上如何运行:https://www.youtube.com/watch?v=ulLPALpHOGk

离线

#2 2020-06-11 17:01:27

TivonLiu
会员
注册时间: 2019-12-27
累计积分: 29

Re: Allwinner A13 GBA Emulator. BareMetal (Low-Level).

我的梦想,被你实现了。。。

离线

#3 2020-06-11 17:18:34

有梦的地方
会员
注册时间: 2020-03-17
累计积分: 238

Re: Allwinner A13 GBA Emulator. BareMetal (Low-Level).

TivonLiu 说:

我的梦想,被你实现了。。。

我也一样。

...只有裸机,不要在这里寻找Linux或android-他们不在这里,永远也不会!

离线

#4 2020-06-11 18:18:12

mark
会员
注册时间: 2020-01-11
累计积分: 12

Re: Allwinner A13 GBA Emulator. BareMetal (Low-Level).

需要加sdram, 不好玩!

离线

#5 2020-06-11 20:47:56

wxw_1983
会员
注册时间: 2020-04-30
累计积分: 8

Re: Allwinner A13 GBA Emulator. BareMetal (Low-Level).

我的梦想,被你实现了。。。

离线

#6 2020-06-11 22:13:57

qinxiongxu
会员
注册时间: 2018-12-13
累计积分: 65

Re: Allwinner A13 GBA Emulator. BareMetal (Low-Level).

厉害!

离线

#7 2020-06-15 15:37:03

iki1120
会员
注册时间: 2018-03-02
累计积分: 28

Re: Allwinner A13 GBA Emulator. BareMetal (Low-Level).

bravo!!!

离线

#8 2020-06-16 01:06:09

naveedakhter01@gmail.com
会员
注册时间: 2020-06-16
累计积分: 1

Re: Allwinner A13 GBA Emulator. BareMetal (Low-Level).

Woah. Cool

离线

#9 2020-06-25 12:27:53

Opcode
会员
注册时间: 2018-03-29
累计积分: 21

Re: Allwinner A13 GBA Emulator. BareMetal (Low-Level).

我开始学习V3s(这个不错的小工具具有焊接友好的外壳和64MB的内部存储器)。

并痛苦地发现没有UI Scaler,我无法将框架拉伸2或3次(使用硬件方法,而不是软方法)。

在这里,您需要将显示更改为较小的显示。 DMA在这里也不是助手,因为在V3s中DMA不支持可变增量步长,并且无法在其上执行缩放器!

在u-boot中也发现错误,由于某种原因,限制了颜色模式的数量,我已修复它!

//display.h:
//...
#define SUNXI_DE2_FORMAT_ABGR_1555              0x11 /* добавил */
#define SUNXI_DE2_UI_CFG_ATTR_FMT(f)		((f & 0x1F) << 8) /* ((f & 0xf) << 8) */ /* u-boot代码错误:将模式限制为15,还有更多! */
//...
  
//sunxi_display.c:
//...
        data = SUNXI_DE2_UI_CFG_ATTR_EN |
               SUNXI_DE2_UI_CFG_ATTR_FMT(SUNXI_DE2_FORMAT_ABGR_1555) |
	       SUNXI_DE2_UI_CFG_ATTR_ALPMOD(1) |
	       SUNXI_DE2_UI_CFG_ATTR_ALPHA(0xff);

	writel(data, &de_ui_regs->cfg[0].attr);
//...

一切正常,但LCD上没有缩放器,这真的让人很难过...由于LCD不是VGA监视器,并且您无法设置任意扫描时间线,因此您必须对LCD 800x480上小尺寸的模拟器感到满意。 V3没有像A13那样简单的像素拉伸,因此有三种解决方法:

1)使用视频缩放器,这意味着另外将240x160 RGB帧转换为YUV。

2)使用软件缩放器-它们严重低估了性能:在FPS = 480的游戏中,缩放器将FPS低估了2倍至120(随着面积增加4倍)。

3)放弃笨拙的显示器,并以较低的分辨率拍摄。

而且V3中的DMA不支持可变增量步长,这确实让人很难过-您无法执行DMA定标器。不过,A13 DMA更好...

这是原始出来的帧大小:

2_jpg_9b0df1cccdd0da1ad6d8a4d3d945a416.jpg

最近编辑记录 Opcode (2020-06-25 12:28:13)

离线

#10 2020-07-30 20:35:21

Opcode
会员
注册时间: 2018-03-29
累计积分: 21

Re: Allwinner A13 GBA Emulator. BareMetal (Low-Level).

谢谢大家的关注! 我感激你!

将传奇的 "Space Adventure Cobra Retpixmod” 移植到Lichee Pi Zero(全志V3s SoC)。

800x480模式下的最高游戏性能(简单框架沿每个轴拉伸2倍)为490 FPS,SaI2x过滤器(800x480)为180 FPS的峰值性能。

DSP TMS320C6745令人羡慕地咬肘...

在正常模式下,启用VSYNC,将帧速率限制为60 FPS。

Video: https://www.youtube.com/watch?v=MTZEJD1JCCc

下载这个游戏: https://gamejolt.com/games/spacecobra/517754

Screenshot_2020-07-30%20%D0%A4%D0%BE%D1%80%D1%83%D0%BC%20ELECTRONIX.png

最近编辑记录 Opcode (2020-07-30 20:36:42)

离线

页脚

工信部备案:粤ICP备20025096号-1 Powered by FluxBB