Mercurial > repos > blastem
comparison system.c @ 1503:a763523dadf4 segacd
Added code for initializing a combined Genesis + Sega CD system when a Sega CD ISO is loaded
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Wed, 13 Dec 2017 09:44:41 -0800 |
parents | aee2177a1630 |
children | 5dacaef602a7 |
comparison
equal
deleted
inserted
replaced
1502:2564b6ba2e12 | 1503:a763523dadf4 |
---|---|
10 } | 10 } |
11 | 11 |
12 system_type detect_system_type(system_media *media) | 12 system_type detect_system_type(system_media *media) |
13 { | 13 { |
14 if (safe_cmp("SEGA", 0x100, media->buffer, media->size)) { | 14 if (safe_cmp("SEGA", 0x100, media->buffer, media->size)) { |
15 //TODO: Differentiate between vanilla Genesis and Sega CD/32X games | 15 //TODO: support other bootable identifiers |
16 if (safe_cmp("SEGADISCSYSTEM", 0, media->buffer, media->size)) { | |
17 return SYSTEM_SEGACD; | |
18 } | |
19 //TODO: Differentiate between vanilla Genesis and 32X games | |
16 return SYSTEM_GENESIS; | 20 return SYSTEM_GENESIS; |
17 } | 21 } |
18 if (safe_cmp("TMR SEGA", 0x1FF0, media->buffer, media->size) | 22 if (safe_cmp("TMR SEGA", 0x1FF0, media->buffer, media->size) |
19 || safe_cmp("TMR SEGA", 0x3FF0, media->buffer, media->size) | 23 || safe_cmp("TMR SEGA", 0x3FF0, media->buffer, media->size) |
20 || safe_cmp("TMR SEGA", 0x7FF0, media->buffer, media->size) | 24 || safe_cmp("TMR SEGA", 0x7FF0, media->buffer, media->size) |
58 } | 62 } |
59 switch (stype) | 63 switch (stype) |
60 { | 64 { |
61 case SYSTEM_GENESIS: | 65 case SYSTEM_GENESIS: |
62 return &(alloc_config_genesis(media->buffer, media->size, lock_on, lock_on_size, opts, force_region, info_out))->header; | 66 return &(alloc_config_genesis(media->buffer, media->size, lock_on, lock_on_size, opts, force_region, info_out))->header; |
67 case SYSTEM_SEGACD: | |
68 return &(alloc_config_genesis_cdboot(media, opts, force_region, info_out))->header; | |
63 #ifndef NO_Z80 | 69 #ifndef NO_Z80 |
64 case SYSTEM_SMS: | 70 case SYSTEM_SMS: |
65 return &(alloc_configure_sms(media, opts, force_region, info_out))->header; | 71 return &(alloc_configure_sms(media, opts, force_region, info_out))->header; |
66 #endif | 72 #endif |
67 default: | 73 default: |