comparison system.c @ 2072:cc13c100b027

Merge Sega CD branch now that it sort of works
author Michael Pavone <pavone@retrodev.com>
date Sun, 30 Jan 2022 22:29:29 -0800
parents 3414a4423de1
children 1e626d0ecf9c
comparison
equal deleted inserted replaced
2052:3748a2a8a4b7 2072:cc13c100b027
11 } 11 }
12 12
13 system_type detect_system_type(system_media *media) 13 system_type detect_system_type(system_media *media)
14 { 14 {
15 if (safe_cmp("SEGA", 0x100, media->buffer, media->size)) { 15 if (safe_cmp("SEGA", 0x100, media->buffer, media->size)) {
16 //TODO: Differentiate between vanilla Genesis and Sega CD/32X games 16 //TODO: support other bootable identifiers
17 if (safe_cmp("SEGADISCSYSTEM", 0, media->buffer, media->size)) {
18 return SYSTEM_SEGACD;
19 }
20 //TODO: Differentiate between vanilla Genesis and 32X games
17 return SYSTEM_GENESIS; 21 return SYSTEM_GENESIS;
18 } 22 }
19 if (safe_cmp("TMR SEGA", 0x1FF0, media->buffer, media->size) 23 if (safe_cmp("TMR SEGA", 0x1FF0, media->buffer, media->size)
20 || safe_cmp("TMR SEGA", 0x3FF0, media->buffer, media->size) 24 || safe_cmp("TMR SEGA", 0x3FF0, media->buffer, media->size)
21 || safe_cmp("TMR SEGA", 0x7FF0, media->buffer, media->size) 25 || safe_cmp("TMR SEGA", 0x7FF0, media->buffer, media->size)
69 { 73 {
70 case SYSTEM_GENESIS: 74 case SYSTEM_GENESIS:
71 return &(alloc_config_genesis(media->buffer, media->size, lock_on, lock_on_size, opts, force_region))->header; 75 return &(alloc_config_genesis(media->buffer, media->size, lock_on, lock_on_size, opts, force_region))->header;
72 case SYSTEM_GENESIS_PLAYER: 76 case SYSTEM_GENESIS_PLAYER:
73 return &(alloc_config_gen_player(media->buffer, media->size))->header; 77 return &(alloc_config_gen_player(media->buffer, media->size))->header;
78 case SYSTEM_SEGACD:
79 return &(alloc_config_genesis_cdboot(media, opts, force_region))->header;
74 #ifndef NO_Z80 80 #ifndef NO_Z80
75 case SYSTEM_SMS: 81 case SYSTEM_SMS:
76 return &(alloc_configure_sms(media, opts, force_region))->header; 82 return &(alloc_configure_sms(media, opts, force_region))->header;
77 #endif 83 #endif
78 default: 84 default: