comparison system.c @ 2459:cb62730d5c99

Initial work on Copera emulation
author Michael Pavone <pavone@retrodev.com>
date Wed, 21 Feb 2024 23:42:19 -0800
parents 9da3de58410d
children
comparison
equal deleted inserted replaced
2458:09c9d2c6bac0 2459:cb62730d5c99
38 if (safe_cmp("TMR SEGA", 0x1FF0, media->buffer, media->size) 38 if (safe_cmp("TMR SEGA", 0x1FF0, media->buffer, media->size)
39 || safe_cmp("TMR SEGA", 0x3FF0, media->buffer, media->size) 39 || safe_cmp("TMR SEGA", 0x3FF0, media->buffer, media->size)
40 || safe_cmp("TMR SEGA", 0x7FF0, media->buffer, media->size) 40 || safe_cmp("TMR SEGA", 0x7FF0, media->buffer, media->size)
41 ) { 41 ) {
42 return SYSTEM_SMS; 42 return SYSTEM_SMS;
43 }
44 if (media->size > 400) {
45 uint8_t *buffer = media->buffer;
46 if (!memcmp(buffer + 4, "\x00\x00\x04\x00", 4) && (buffer[0x80] == 0 || buffer[0x80] == 0xFF)) {
47 int i = 0x81;
48 for(; i < 0x400; i++)
49 {
50 if (buffer[i] != buffer[0x80]) {
51 break;
52 }
53 }
54 if (i == 0x400) {
55 return SYSTEM_COPERA;
56 }
57 }
43 } 58 }
44 if (safe_cmp("BLSTEL\x02", 0, media->buffer, media->size)) { 59 if (safe_cmp("BLSTEL\x02", 0, media->buffer, media->size)) {
45 uint8_t *buffer = media->buffer; 60 uint8_t *buffer = media->buffer;
46 if (media->size > 9 && buffer[7] == 0) { 61 if (media->size > 9 && buffer[7] == 0) {
47 return buffer[8] + 1; 62 return buffer[8] + 1;
117 return &(alloc_configure_coleco(media))->header; 132 return &(alloc_configure_coleco(media))->header;
118 #endif 133 #endif
119 case SYSTEM_MEDIA_PLAYER: 134 case SYSTEM_MEDIA_PLAYER:
120 return &(alloc_media_player(media, opts))->header; 135 return &(alloc_media_player(media, opts))->header;
121 case SYSTEM_PICO: 136 case SYSTEM_PICO:
122 return &(alloc_config_pico(media->buffer, media->size, lock_on, lock_on_size, opts, force_region))->header; 137 case SYSTEM_COPERA:
138 return &(alloc_config_pico(media->buffer, media->size, lock_on, lock_on_size, opts, force_region, stype))->header;
123 default: 139 default:
124 return NULL; 140 return NULL;
125 } 141 }
126 } 142 }
127 143