TRIMUI SMART

GPIO按鍵改造


TRIMUI SMART掌機的按鍵太少,導致司徒在玩NDS模擬器時,缺少一個可以換屏的按鍵,相當不方便,於是激起司徒改造的動力,使用的按鍵如下圖


拿掉無用的LED,這個按鍵剛剛好可以塞下


相當不錯


使用PG11當作按鍵輸入

P.S. PG11請接在電阻的右側,這張圖標到左側

跳線完成


完美



按鈕太小果然手指很痛,於是司徒找到如下按鈕


挖洞塞下


AB膠


這個按鈕就真的很完美



司徒後來買齊了四個顏色,而最期待的機器就是小黃機,因此,首先改造的對象就是小黃



標記鑽孔的中心點


超讚的OMRON B3F-1062 6*6*7m


取下電阻後,直接焊上就可以


這個高度真是相當剛好


NDS模擬器的專屬切屏開關





main.c

#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
#include <string.h>
#include <fcntl.h>
#include <sys/mman.h>
#include <unistd.h>
#include <time.h>
 
int main(int argc, char* argv[])
{
    int fd = open("/dev/mem", O_RDWR);
    uint32_t *cfg = NULL;
    uint32_t *dat = NULL;
    uint32_t *pul = NULL;
    uint8_t *mem = mmap(0, 4096, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0x01c20000);

    printf("mem 0x%x\n", mem);
    cfg = (uint32_t *)(mem + 0x800 + (0x24 * 6) + 0x04);
    dat = (uint32_t *)(mem + 0x800 + (0x24 * 6) + 0x10);
    pul = (uint32_t *)(mem + 0x800 + (0x24 * 6) + 0x1c);

    printf("cfg 0x%x\n", *cfg);
    *cfg &= 0xffff0fff;
    *pul |= 0x00400000;

    while (1) {
        usleep(1000000);
        printf("dat 0x%x\n", *dat);
    }

    munmap(mem, 4096);
    close(fd);
    return 0;
}


返回上一頁