Skip to content

Instantly share code, notes, and snippets.

View dogtopus's full-sized avatar
🦄
Unicorn!

dogtopus

🦄
Unicorn!
View GitHub Profile
@dogtopus
dogtopus / besta.md
Last active April 22, 2024 18:49
Besta device list
Board # SKU Release year (est. range) Architecture (SoC) RAM Card type Slots Battery type Note
BA110 TW CD-123
CN CD-580(+)
2009-2012 Arm7 SDRAM 8MiB None None LR03 (AAA) x2 CN CD-580+ is technically BA110L (L probably stands for Light, which corresponds to the added screen backlight capability)
BA742 CN WuDi V7
TW CD-877
Nurian X20
2010-2012 Arm9 (NXP i.MX233) DDR SDRAM 32MiB microSD 1 1I?Pt35/48/62-1 (354862)
BA754 TW CD-888
CN WuDi V10(+)
2012 Arm9 (?) ? SD 1 ?
CA106 HK 638
TW CD-222
2009 Arm7 SDRAM 8MiB None None Casio NP-20 (?) Seems to be using the same SoC as BA110.
CA703 TW CD-606/818 "V-Class"
HK 3001S "VLearning"
AOne AP701
2003-2004 TLCS-900 SDRAM 8MiB SmartMedia 1 Nokia BLB-2
CA717 (?) TW CD-859Nurian X9 ? TLCS-900 ? S
@dogtopus
dogtopus / nand.c
Created March 2, 2024 08:52
Besta RTOS NAND dumper
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <unistd.h>
#include <muteki/ui/event.h>
#include <muteki/ui/canvas.h>
#include <muteki/errno.h>
#include <muteki/ftl.h>
@dogtopus
dogtopus / flycode.py
Last active February 12, 2024 23:45
I hate eye strains
import itertools
def encode(s: str, encoding: str = 'utf-8', ntet: int = 8, flip: int = 0) -> str:
if ntet < flip:
raise ValueError('ntet must be less than flip.')
if ntet == 8 and flip == 0:
header = ''
elif ntet != 8 and flip == 0:
@dogtopus
dogtopus / _md_card_fighter.md
Created January 5, 2024 22:31
Random notes about M&D cards and their format

M&D Card System (梦龙刷卡机) Notes

Barcode format legend

Format:
0: Thin bar
1: Thick bar
A: Short form of prologue sequence (see each format for the exact pattern)
Z: Short form of epilogue sequence (see each format for the exact pattern)
@dogtopus
dogtopus / fdo2003_keygen.py
Last active April 30, 2023 19:06
Keygen for the Japanese retail release of Frane: Dragons' Odyssey (2003) (aka: Lost Memory Of Angel Story FraneIII -緋蒼の幻想曲-)
# Keygen for the Japanese retail release of Frane: Dragons' Odyssey (2003)
# For educational purpose only. I take no responsibility for what you will do with it.
#
# Also to EXE-Create:
# Quoting from GabeN: Piracy is a service issue. If FDO (2019) on Steam was actually half
# decent and wasn't having an allegedly dodgy localization and a lot of features from FDO (2003)
# removed (voice acting, mouse control and FMV cutscenes to name a few), this thing simply won't
# exist.
import argparse
@dogtopus
dogtopus / font_test.c
Created March 5, 2023 23:12
Besta RTOS font rendering API test
#include <stdbool.h>
#include <muteki/common.h>
#include <muteki/ui/canvas.h>
#include <muteki/ui/event.h>
const UTF16 i_can_eat_glass_w[] = u"我能吞下玻璃而不伤身体。";
void redraw(int font_type) {
ClearScreen(0);
@dogtopus
dogtopus / imx233_mem.c
Created March 5, 2023 23:06
Besta RTOS i.MX233 memory info+dumper
#include <stdio.h>
#include <stdbool.h>
#include <unistd.h>
#include <muteki/ui/event.h>
#include <muteki/ui/canvas.h>
#include <muteki/file.h>
#include <mutekix/console.h>
@dogtopus
dogtopus / mfd2flipper.py
Created February 24, 2023 19:49
Raw Mifare Classic dump to Flipper NFC file v3
import itertools
import pathlib
import sys
FLIPPER_HEADER_CONST = '''
Filetype: Flipper NFC device
Version: 3
# Nfc device type can be UID, Mifare Ultralight, Mifare Classic
Device type: Mifare Classic
# UID, ATQA and SAK are common for all formats
@dogtopus
dogtopus / _muteki.md
Last active March 13, 2024 16:00
Besta RTOS reversing notes

Besta RTOS reversing notes

Some random notes about Besta RTOS. Will probably ended up on a wiki somewhere after Project Muteki become mostly usable.

Windows CE?

NOPE. Not even close.

Then why there's Windows CE stuff all over?

@dogtopus
dogtopus / _mnc.md
Last active January 19, 2024 21:17
Don't use. Just refer to MAME mononcol instead.

Moonoon Color Technical Specs

Hardware

Basic specs

CPU: AppoTech AX208 AXC51 (8051-compatible with 16-bit extended instruction set) microcontrolle @ ~~100MHz~~ 96MHz?

RAM: 15KB (12K IRAM + 1K Data RAM + 2K PRAM)