Skip to content

Commit 8c6a964

Browse files
committed
feat: add PC Engine / TurboGrafx-16 support
PC Engine HuCard games (.pce files) now import and sync correctly instead of being detected as Arcade. --- Added PC Engine to system registry with RetroAchievements console ID mapping. CD games (.chd) will come later since they need folder-based detection. Fixes #101
1 parent 6594952 commit 8c6a964

File tree

8 files changed

+32
-0
lines changed

8 files changed

+32
-0
lines changed

src/packages/device-profiles/src/profiles/knulli.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,10 @@ export const KNULLI_PROFILE: DeviceProfile = {
7070
folderName: 'virtualboy',
7171
supportedFormats: ['.vb', '.zip', '.7z'],
7272
},
73+
pce: {
74+
folderName: 'pcengine',
75+
supportedFormats: ['.pce', '.zip', '.7z'],
76+
},
7377
arcade: {
7478
folderName: 'fbneo',
7579
supportedFormats: ['.zip', '.7z'],

src/packages/device-profiles/src/profiles/muos.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,10 @@ export const MUOS_PROFILE: DeviceProfile = {
5757
folderName: 'ngp',
5858
supportedFormats: ['.ngp', '.ngc', '.zip', '.7z'],
5959
},
60+
pce: {
61+
folderName: 'pce',
62+
supportedFormats: ['.pce', '.zip', '.7z'],
63+
},
6064
arcade: {
6165
folderName: 'arcade',
6266
supportedFormats: ['.zip', '.7z'],

src/packages/device-profiles/src/profiles/onion.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,10 @@ export const ONION_OS_PROFILE: DeviceProfile = {
7373
folderName: 'VB',
7474
supportedFormats: ['.vb', '.zip', '.7z'],
7575
},
76+
pce: {
77+
folderName: 'PCE',
78+
supportedFormats: ['.pce', '.zip', '.7z'],
79+
},
7680
arcade: {
7781
folderName: 'ARCADE',
7882
supportedFormats: ['.zip', '.7z'],

src/packages/device-profiles/src/profiles/retroarch.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,10 @@ export const RETROARCH_PROFILE: DeviceProfile = {
7777
folderName: 'SNK - Neo Geo Pocket',
7878
supportedFormats: ['.ngp', '.ngc', '.zip', '.7z'],
7979
},
80+
pce: {
81+
folderName: 'NEC - PC Engine - TurboGrafx-16',
82+
supportedFormats: ['.pce', '.zip', '.7z'],
83+
},
8084
arcade: {
8185
folderName: 'MAME',
8286
supportedFormats: ['.zip', '.7z'],

src/types/system.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ export const SYSTEM_CODES = [
1515
'psp',
1616
'lynx',
1717
'atari2600',
18+
'pce',
1819
'arcade',
1920
] as const;
2021

src/utils/system.utils.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ const SYSTEM_COLORS: Record<SystemCode, string> = {
2020
psp: '#0EA5E9', // sky blue - modern portable feel
2121
lynx: '#EA580C', // orange - bright Atari color
2222
atari2600: '#A16207', // golden brown - retro Atari
23+
pce: '#D97706', // amber orange - TurboGrafx branding
2324
arcade: '#EAB308', // bright yellow - classic arcade
2425
};
2526

src/utils/systems/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ const RA_SYSTEMS: RASystemMapping[] = [
1717
{ consoleId: 5, code: 'gba' }, // GAMEBOY_ADVANCE
1818
{ consoleId: 6, code: 'gbc' }, // GAMEBOY_COLOR
1919
{ consoleId: 7, code: 'nes' }, // NINTENDO
20+
{ consoleId: 8, code: 'pce' }, // PC_ENGINE
2021
{ consoleId: 11, code: 'sms' }, // MASTER_SYSTEM
2122
{ consoleId: 13, code: 'lynx' }, // ATARI_LYNX
2223
{ consoleId: 14, code: 'ngp' }, // NEOGEO_POCKET

src/utils/systems/systemRegistry.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -191,6 +191,19 @@ export const SYSTEM_REGISTRY: Partial<Record<SystemCode, SystemInfo>> = {
191191
releaseYear: 1998,
192192
},
193193

194+
// === NEC ===
195+
pce: {
196+
code: 'pce',
197+
displayName: 'PC Engine',
198+
fullName: 'NEC PC Engine / TurboGrafx-16',
199+
type: 'console',
200+
extensions: ['.pce'],
201+
aliases: ['pce', 'pcengine', 'pc engine', 'turbografx', 'turbografx16', 'tg16', 'tg-16'],
202+
requiresBios: false,
203+
manufacturer: 'NEC',
204+
releaseYear: 1987,
205+
},
206+
194207
// === ARCADE ===
195208
arcade: {
196209
code: 'arcade',

0 commit comments

Comments
 (0)