Mercurial > repos > blastem
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: |