# MCUGotchi - A Tamagotchi P1 emulator for microcontrollers
## Synopsis
MCUGotchi is a Tamagotchi P1 emulator for microcontrollers relying on the hardware agnostic Tamagotchi P1 emulation library [TamaLIB](https://github.com/jcrona/tamalib/).
![STM32F072 Discovery Board](misc/screenshot.jpg) ![OpenTama Board](misc/OpenTama.jpg)
For the time being, MCUGotchi supports the STM32F0 MCU from STMicroelectronics, more precisely the STM32F072 discovery board, and the [OpenTama board](https://github.com/Sparkr-tech/opentama) based on a STM32L072, with either an SPI SSD1306 OLED screen or an SPI UC1701x LCD screen connected to it, but it can basically run on any STM32F0/STM32L0 based board almost out of the box, and on any STM32 MCU with some modifications.
For the STM32F072 discovery board, the expected connections are the following:
| Name | PIN |
|-----------------|---------|
| SSD1306 CLK PIN | PA5 |
| SSD1306 DIN PIN | PA7 |
| SSD1306 DC PIN | PA1 |
| SSD1306 CE PIN | PA2 |
| SSD1306 RES PIN | PA6 |
| SSD1306 VCC PIN | VDD |
| SSD1306 GND PIN | GND |
| Left Button | PB3/VDD |
| Middle Button | PA0/VDD |
| Right Button | PB2/VDD |
MCUGotchi is also a good example of an embedded implementation of TamaLIB's abstraction layer.
## Build instructions
MCUGotchi depends on several components:
* the __GNU ARM Embedded Toolchain__, which can be downloaded [there](https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads)
* __OpenOCD__, if you want to use ST-Link to flash your board, which can be installed using the package manager of your operating system, or built using a release package provided [there](https://sourceforge.net/projects/openocd/)
* __dfu-util__, if you want to use the embedded DFU compliant bootloader of your board, which can be built following the instructions provided [there](http://dfu-util.sourceforge.net/)
* the __STM32Cube Libraries__, which are provided as submodules
* __TamaLIB__, which is also provided as submodule
* a __Tamagotchi P1 ROM__, which can be downloaded from [there](https://www.planetemu.net/rom/mame-roms/tama) for instance
* __Optional:__ __TamaTool__ to convert the binary ROM into a __.h__ file, which can be downloaded or built from [there](https://github.com/jcrona/tamatool)
1. Clone __MCUGotchi__ and its submodules:
```
$ git clone --recursive https://github.com/jcrona/mcugotchi.git
```
2. Download/build/install the __toolchain__, __OpenOCD__ and __TamaTool__. OpenOCD and the toolchain are expected to be in the parent folder of MCUGotchi, but you can place them wherever you want and adjust the first lines of __mcugotchi/Makefile__ accordingly.
3. __Optional:__ Convert the ROM to __rom_data.h__ and place it in __mcugotchi/src__ (__ROM_BUILT_IN__ should be enabled in __mcugotchi/src/rom.c__):
```
$ tamatool -r rom.bin -H > mcugotchi/src/rom.h
```
4. Build MCUGotchi:
```
$ cd mcugotchi
$ make
```
5. Connect your board and program it:
```
$ make flash
```
6. Enable the USB Mode of MCUGotchi and transfer the ROM (it should be called __rom0.bin__).
7. Try to keep your Tamagotchi alive !
## License
MCUGotchi is distributed under the GPLv2 license. See the LICENSE file for more information.
## Hardware information
The Tamagotchi P1 is based on an E0C6S46 Epson MCU, and runs at 32,768 kHz. Its LCD is 32x16 B/W pixels, with 8 icons.
To my knowledge, the ROM available online has been extracted from a high-res picture of a die. The ROM mask was clear enough to be optically read. The pictures can be seen [there](https://siliconpr0n.org/map/bandai/tamagotchi-v1/) (thx asterick for the link !).
I would love to see the same work done on a P2 and add support for it in TamaLIB/MCUGotchi !
__
Copyright (C) 2022 Jean-Christophe Rona
没有合适的资源?快使用搜索试试~ 我知道了~
用于微控制器 的 Tamagotchi P1 仿真器_C语言_代码_相关文件_下载
共243个文件
html:104个
c:54个
h:50个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 6 浏览量
2022-07-07
18:18:08
上传
评论
收藏 4.41MB ZIP 举报
温馨提示
概要 MCUGotchi 是一个 Tamagotchi P1 仿真器,适用于依赖于硬件无关的 Tamagotchi P1 仿真库TamaLIB的微控制器。 MCUGotchi目前支持意法半导体的STM32F0 MCU,更准确的说是STM32F072发现板,以及基于STM32L072的OpenTama板,连接SPI SSD1306 OLED屏幕或者SPI UC1701x LCD屏幕,但基本可以在几乎开箱即用的任何基于 STM32F0/STM32L0 的板上运行,以及在任何 STM32 MCU 上进行一些修改。 对于 STM32F072 发现板,预期的连接如下: 姓名 别针 SSD1306 时钟引脚 PA5 SSD1306 DIN PIN PA7 SSD1306 直流引脚 PA1 SSD1306 CE PIN PA2 SSD1306 RES PIN PA6 SSD1306 VCC引脚 VDD SSD1306 接地脚 接地 左键 PB3/VDD 中间按钮 PA0/VDD 右键 PB2/VDD 更多详情、使用方法,请下载后阅读README.md文件
资源推荐
资源详情
资源评论
收起资源包目录
用于微控制器 的 Tamagotchi P1 仿真器_C语言_代码_相关文件_下载
(243个子文件)
cc936.c 697KB
cc949.c 546KB
cc950.c 434KB
cc932.c 240KB
ff.c 201KB
main.c 29KB
ccsbcs.c 24KB
system.c 16KB
sd_diskio_dma_rtos_template.c 13KB
sd_diskio_dma_template.c 12KB
system_stm32f0xx.c 12KB
usbd_conf.c 11KB
app4.c 10KB
system_stm32l0xx.c 9KB
usbd_desc.c 8KB
input.c 7KB
battery.c 7KB
state.c 7KB
gfx.c 7KB
usbh_diskio_dma_template.c 7KB
diskio.c 6KB
syscall.c 6KB
usbh_diskio_template.c 6KB
time.c 6KB
sd_diskio_template.c 6KB
led.c 5KB
board_opentama.c 5KB
time.c 5KB
sdram_diskio_template.c 5KB
sram_diskio_template.c 5KB
system.c 5KB
ppp_diskio_template.c 4KB
menu.c 4KB
app3.c 4KB
ssd1306.c 4KB
ff_gen_drv.c 4KB
uc1701x.c 4KB
storage.c 4KB
fs_ll.c 3KB
speaker.c 3KB
config.c 3KB
usb.c 3KB
board_discovery_stm32f0.c 3KB
rom.c 3KB
dfu.c 3KB
backlight.c 2KB
job.c 2KB
spi.c 2KB
dfu.c 2KB
app2.c 2KB
gpio.c 1KB
battery.c 1KB
app1.c 1KB
unicode.c 386B
css_j.css 4KB
css_e.css 3KB
.gitignore 28B
.gitmodules 293B
ff.h 13KB
stm32f0xx_hal_conf.h 12KB
stm32l0xx_hal_conf.h 12KB
ffconf.h 11KB
ffconf_template.h 11KB
board_opentama.h 4KB
usbd_conf.h 3KB
ff_gen_drv.h 3KB
diskio.h 3KB
ssd1306.h 2KB
board_discovery_stm32f0.h 2KB
mcu.h 2KB
mcu.h 2KB
uc1701x.h 2KB
system.h 2KB
gfx.h 2KB
sd_diskio_dma_rtos_template.h 2KB
ppp_diskio_template.h 1KB
usbd_desc.h 1KB
usbh_diskio_dma_template.h 1KB
sram_diskio_template.h 1KB
sdram_diskio_template.h 1KB
usbh_diskio_template.h 1KB
sd_diskio_dma_template.h 1KB
sd_diskio_template.h 1KB
menu.h 1KB
time.h 1KB
input.h 1KB
hal_types.h 1KB
config.h 1KB
job.h 1KB
board.h 1KB
dfu.h 1KB
storage.h 1KB
gpio.h 1KB
state.h 1KB
rom.h 1KB
battery.h 1KB
speaker.h 1KB
system_ll.h 1010B
mcu_types.h 1010B
backlight.h 1002B
共 243 条
- 1
- 2
- 3
资源评论
快撑死的鱼
- 粉丝: 1w+
- 资源: 9154
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- git使用文档(一步一步教你使用Git仓库管理代码)
- 进制转换(通用版).cpp
- linux实践之从DistroWatch排名第三的EndeavourOS转到排名第五的Manjaro工作机迁移
- Discuz模板+资讯博客课程干货+商业版(GBK+UTF)
- 基于Selenium的Java爬虫实战(内含谷歌浏览器Chrom和Chromedriver版本123.0.6292.0)
- RB308A-SOT23-5 单节锂电池保护IC 深圳市可芯电子有限公司.pdf
- Ubuntu下安装JDK
- 基于Selenium的Java爬虫实战(内含谷歌浏览器Chrom和Chromedriver版本123.0.6291.0)
- Android基础之用Eclipse建立工程
- WZLR(2).ipynb
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功