首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  程序员

Gameboy 模拟器 点火成功!

  •  6
     
  •   Mohanson · 33 天前 · 6308 次点击
    这是一个创建于 33 天前的主题,其中的信息可能已经有所发展或是发生改变。

    https://raw.githubusercontent.com/mohanson/gameboy/master/docs/sample.gif

    项目地址:

    https://github.com/mohanson/gameboy

    从去年有想法开始断断续续写到现在, 最近实在太忙所以偷懒基于 MIT 协议 Copy 了另一个开源项目 rboy 的图形显示(极小部分)和声音播放模块(全部)的代码. 就这样先开源了, 以后有时间再去补课.

    这是我写的第三个虚拟机项目啦! 上一个是 webassembly 吼吼吼. 累了累了.

    包含 CPU, GPU, APU, 主板, 卡带, 键盘, 定时器等核心模块, 每个模块均有详细注释(除声音播放模块外)... 硬件模拟器真的很难写啊, 杀时间的利器.

    59 回复  |  直到 2019-04-19 23:14:58 +08:00
        1
    CallMeReznov   33 天前
    大佬流弊!
        2
    mq4079   33 天前
    🐂🍺,我也想写但一直没时间
        3
    sunocean   33 天前
    默默的点了个 star 好奇 文本图纸是怎么画出来的, 手工嘛?
        4
    Mohanson   33 天前
    @sunocean ascii art 上找的, 写 README 全靠它了
        5
    lneoi   33 天前
    大佬大佬
        6
    vmebeh   33 天前 via iPhone   ♥ 1
        7
    Liang   33 天前
    膜拜一下
        8
    AlisaDestiny   32 天前
    点进大佬的博客,发现早已 CTRL+D.
        9
    Mohanson   32 天前 via Android
    其实本来放了口袋妖怪的 rom,但是害怕任天堂的法务(害怕.gif
        10
    designer   32 天前 via iPhone
    先点赞
        11
    SimonOne   32 天前
    编译不成功😭️brew install rust 现装的 rust
        12
    misaka19000   32 天前 via Android
    哎。。。一直想写个 fc 模拟器,奈何一直没这个耐心
        13
    Mohanson   32 天前 via Android
    @misaka19000 行动起来呀! 模拟器一套代码下来,从底层 cpu 寄存器到上层视频, 音频,都能吃透,收获很大的
        14
    waruqi   32 天前 via Android
    我之前也写过几个玩玩 flash/avm, jvm, x86vm
        15
    rizon   32 天前
    @Mohanson #9 可以用另一个身份单独提供 rom 啊。常规操作~
        16
    doraemon0711   32 天前 via iPhone
    厉害厉害,我是之前关注了 mvba 的项目想学习,但一直都没动力开始,话说写模拟器是不是汇编必须玩的 6
        17
    cd2want   32 天前
    WTF!!!! 帅气!!!!!!
        18
    sunocean   32 天前
    谢谢大佬们 长知识了
    @waruqi
    @vmebeh
        19
    sunocean   32 天前
    @Mohanson 大佬写这个,先从哪个部分入手比较好?
        20
    Mohanson   32 天前 via Android
    cpu,然后以主板。其他硬件都是接入到主板上的并受 cpu 管理
    @sunocean
        21
    sosilver   32 天前 via Android
    @sunocean 先试试 chip8 模拟器,应该是最简单的了
        22
    boywhp   32 天前
    @Mohanson 这年头沉下心搞技术的不多阿,居然还是 RUST 写的?牛皮牛皮,交个朋友么
        23
    Variazioni   32 天前
    star 了。。。
        24
    darknoll   32 天前
    厉害。。。
        25
    20015jjw   32 天前
    wow 厉害
        26
    lrh3321   32 天前 via Android
    厉害
        27
    strpbrk   32 天前
    居然是喵喵开发的
        28
    urmyfaith   32 天前   ♥ 1
    最近我也在看这个.
        29
    Mohanson   32 天前 via Android
    @urmyfaith 期待你也能成功点火
        30
    but0n   32 天前 via iPhone   ♥ 1
    我最近也在写,webassembly 版的
        31
    Mohanson   32 天前 via Android
    @but0n 哇噢,一下子遇到好多感兴趣的人
        32
    urmyfaith   32 天前
    @Mohanson 怕是还有很长一段路要走哦,只是在看别人的实现,js 写的.

    你这个 rust 写的,话说我一句 rust 都没写过,不过基本的逻辑也能看的懂.

    怎么没用 c? c++ ? 之类的写呢?
        33
    Mohanson   32 天前 via Android
    @urmyfaith 因为最近在学 rust, 拿不熟练的语言开发,干一件事能获得两份经验值
        34
    urmyfaith   32 天前
    @Mohanson 好主意!

    go,dart , lua,c,c++,c#,js, 嗯,都可以来一遍. 哈哈.
        35
    urmyfaith   32 天前
    运行起来是个推箱子的游戏
        36
    Mohanson   32 天前 via Android
    @urmyfaith 不敢放口袋妖怪,害怕任天堂律师函警告
        37
    smeraldo   32 天前
    厉害厉害😍
    话说从模拟游戏的角度看,是不是只要能够解析卡带的数据,剩下的怎么实现都可以呀?
        38
    raysonx   32 天前
    厉害了,支持!有时间拿过来体验一下
        39
    SuperMonster009   32 天前 via Android
    太厉害了 必须 star 一个
        40
    Chingim   32 天前
    这很硬核
        41
    HorseMa   32 天前
    大佬🐂🍺!(破音
        42
    silvernoo   32 天前
    看了眼代码,太巨了
        43
    947211232   32 天前
    很秀
        44
    xfriday   32 天前
    居然是 rust 的项目,不容易,厉害🐂
        45
    xdlucky   32 天前
    我的天, 推箱子真好玩
        46
    Mohanson   32 天前 via Android
    @xdlucky 哈哈,我没事就在玩推箱子
        47
    cxyfreedom   32 天前 via iPhone
    大佬牛逼!
        48
    fantastM   32 天前
    谁会不喜欢宝可梦呢
        49
    sidegem   32 天前
    虽然不懂,但看着好厉害
        50
    motecshine   32 天前
    我也想试着写一写 楼主 需要涉及到哪些常用的知识
        51
    Mohanson   32 天前 via Android   ♥ 1
    @motecshine 先搞明白 cpu 的工作原理 然后试着自己写一个 cpu 模拟器。8080,8086,51 单片机 什么的都可以,差不多就入了硬件模拟器的门了
        52
    jiqing   32 天前 via Android
    大佬牛逼,一直想写一个 fc 模拟器。一直拖延
        53
    tutustream   32 天前
    大佬都开始写模拟器了
        54
    GPLer   32 天前 via Android
    编译成功,运行窗口一直黑屏怎么破。
        55
    cjh1095358798   32 天前
    大佬牛逼啊
        56
    Foreverdxa   32 天前
    硬核大牛。
        57
    winboy   32 天前
    欢迎分享到掘金呦 https://juejin.im/pins/recommended
        58
    ldm0   32 天前
    酷!唤醒了我两个月前要写模拟器的想法。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2600 人在线   最高记录 5043   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 20ms · UTC 14:27 · PVG 22:27 · LAX 07:27 · JFK 10:27
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1