esp8266上运行gameboy模拟器来自espboy的一个项目。
https://github.com/ESPboy-edu/ESPboy_GameBoy
espboy使用了esp8266作为处理器,使用了I2c芯片扩展了gpio,用来操控gameboy,因为esp8266的io能正常使用的少的可怜。用st7735的128x128分辨率的lcd,还使用了一个dac芯片来控制lcd的亮度。
我对它进行了一些简化和修改:
1.尽量使用esp8266上的gpio做控制按键,取消键盘扩展芯片,不够的采用adc读取分压电路代替,需要注意的是需要组合使用的按键不能同在adc接口,因为esp8266的adc接口只有一个。lcd用三个,音频用一个,D0、6或8莫名其妙的不能用。真是捉襟见肘。

2.使用160x128的lcd,因为gameboy的分辨率为160x144,虽然有16行不能显示,但不影响游戏的玩法,看起来舒服多了。取消了亮度控制芯片,直接接电源。

3.取消了原来的led啥的闪灯,logo显示之类的,节省flash空间。
大概接法:


电路图中还有一两点bug,我会在后续文章里逐一修改说明。