Mercurial > repos > blastem
diff sms.c @ 2544:99e59fdddbc3
Better cassette tape UX
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Mon, 09 Dec 2024 13:45:35 -0800 |
parents | 062f0ac1fe7e |
children | 251cc75574af |
line wrap: on
line diff
--- a/sms.c Thu Nov 28 23:44:36 2024 -0800 +++ b/sms.c Mon Dec 09 13:45:35 2024 -0800 @@ -1491,6 +1491,7 @@ sms->cassette_state = TAPE_STOPPED; sms->cassette_offset = data_sub_chunk; sms->cassette = media; + sms->cassette_cycle = sms->z80->Z80_CYCLE; } static void start_vgm_log(system_header *system, char *filename) @@ -1517,6 +1518,12 @@ sms->header.vgm_logging = 0; } +static void lockon_change(system_header *system, system_media *media) +{ + sms_context *sms = (sms_context *)system; + load_cassette(sms, media); +} + sms_context *alloc_configure_sms(system_media *media, uint32_t opts, uint8_t force_region) { sms_context *sms = calloc(1, sizeof(sms_context)); @@ -1660,6 +1667,9 @@ sms->header.toggle_debug_view = toggle_debug_view; sms->header.cassette_action = cassette_action; sms->header.type = SYSTEM_SMS; + if (is_sc3000) { + sms->header.lockon_change = lockon_change; + } return sms; }