@@ -294,7 +294,7 @@ GPGX_EX void gpgx_clear_sram(void)
294
294
if (sram .on )
295
295
memset (sram .sram , 0xff , 0x10000 );
296
296
297
- if (cdd . loaded )
297
+ if (system_hw == SYSTEM_MCD )
298
298
{
299
299
// clear and format bram
300
300
memset (scd .bram , 0 , 0x2000 );
@@ -331,24 +331,19 @@ GPGX_EX void* gpgx_get_sram(int *size)
331
331
* size = saveramsize ();
332
332
return sram .sram ;
333
333
}
334
- else if (cdd . loaded && scd .cartridge .id )
334
+ else if (system_hw == SYSTEM_MCD && scd .cartridge .id )
335
335
{
336
336
int sz = scd .cartridge .mask + 1 ;
337
337
memcpy (tempsram , scd .cartridge .area , sz );
338
338
memcpy (tempsram + sz , scd .bram , 0x2000 );
339
339
* size = sz + 0x2000 ;
340
340
return tempsram ;
341
341
}
342
- else if (cdd . loaded )
342
+ else if (system_hw == SYSTEM_MCD )
343
343
{
344
344
* size = 0x2000 ;
345
345
return scd .bram ;
346
346
}
347
- else if (scd .cartridge .id )
348
- {
349
- * size = scd .cartridge .mask + 1 ;
350
- return scd .cartridge .area ;
351
- }
352
347
else
353
348
{
354
349
* size = 0 ;
@@ -365,7 +360,7 @@ GPGX_EX int gpgx_put_sram(const uint8 *data, int size)
365
360
memcpy (sram .sram , data , size );
366
361
return 1 ;
367
362
}
368
- else if (cdd . loaded && scd .cartridge .id )
363
+ else if (system_hw == SYSTEM_MCD && scd .cartridge .id )
369
364
{
370
365
int sz = scd .cartridge .mask + 1 ;
371
366
if (size != sz + 0x2000 )
@@ -374,21 +369,13 @@ GPGX_EX int gpgx_put_sram(const uint8 *data, int size)
374
369
memcpy (scd .bram , data + sz , 0x2000 );
375
370
return 1 ;
376
371
}
377
- else if (cdd . loaded )
372
+ else if (system_hw == SYSTEM_MCD )
378
373
{
379
374
if (size != 0x2000 )
380
375
return 0 ;
381
376
memcpy (scd .bram , data , size );
382
377
return 1 ;
383
378
}
384
- else if (scd .cartridge .id )
385
- {
386
- int sz = scd .cartridge .mask + 1 ;
387
- if (size != sz )
388
- return 0 ;
389
- memcpy (scd .cartridge .area , data , size );
390
- return 1 ;
391
- }
392
379
else
393
380
{
394
381
if (size != 0 )
@@ -512,10 +499,10 @@ GPGX_EX const char* gpgx_get_memdom(int which, void **area, int *size)
512
499
}
513
500
else return NULL ;
514
501
case 2 :
515
- if (! cdd . loaded )
502
+ if (system_hw != SYSTEM_MCD )
516
503
{
517
- * area = ext . md_cart .rom ;
518
- * size = ext . md_cart .romsize ;
504
+ * area = cart .rom ;
505
+ * size = cart .romsize ;
519
506
if ((system_hw & SYSTEM_PBC ) == SYSTEM_MD )
520
507
{
521
508
return "MD CART" ;
@@ -533,47 +520,47 @@ GPGX_EX const char* gpgx_get_memdom(int which, void **area, int *size)
533
520
}
534
521
else return NULL ;
535
522
case 3 :
536
- if (cdd . loaded )
523
+ if (system_hw == SYSTEM_MCD )
537
524
{
538
525
* area = scd .bootrom ;
539
526
* size = 0x20000 ;
540
527
return "CD BOOT ROM" ;
541
528
}
542
529
else return NULL ;
543
530
case 4 :
544
- if (cdd . loaded )
531
+ if (system_hw == SYSTEM_MCD )
545
532
{
546
533
* area = scd .prg_ram ;
547
534
* size = 0x80000 ;
548
535
return "CD PRG RAM" ;
549
536
}
550
537
else return NULL ;
551
538
case 5 :
552
- if (cdd . loaded )
539
+ if (system_hw == SYSTEM_MCD )
553
540
{
554
541
* area = scd .word_ram [0 ];
555
542
* size = 0x20000 ;
556
543
return "CD WORD RAM[0] (1M)" ;
557
544
}
558
545
else return NULL ;
559
546
case 6 :
560
- if (cdd . loaded )
547
+ if (system_hw == SYSTEM_MCD )
561
548
{
562
549
* area = scd .word_ram [1 ];
563
550
* size = 0x20000 ;
564
551
return "CD WORD RAM[1] (1M)" ;
565
552
}
566
553
else return NULL ;
567
554
case 7 :
568
- if (cdd . loaded )
555
+ if (system_hw == SYSTEM_MCD )
569
556
{
570
557
* area = scd .word_ram_2M ;
571
558
* size = 0x40000 ;
572
559
return "CD WORD RAM (2M)" ;
573
560
}
574
561
else return NULL ;
575
562
case 8 :
576
- if (cdd . loaded )
563
+ if (system_hw == SYSTEM_MCD )
577
564
{
578
565
* area = scd .bram ;
579
566
* size = 0x2000 ;
@@ -589,7 +576,7 @@ GPGX_EX const char* gpgx_get_memdom(int which, void **area, int *size)
589
576
}
590
577
else if (system_bios & (SYSTEM_SMS | SYSTEM_GG ))
591
578
{
592
- * area = & ext . md_cart .rom [0x400000 ];
579
+ * area = & cart .rom [0x400000 ];
593
580
* size = sms_cart_bootrom_size ();
594
581
return "BOOT ROM" ;
595
582
}
@@ -759,7 +746,7 @@ void CDLog68k(uint addr, uint flags)
759
746
760
747
//apply memory map to process rom address
761
748
unsigned char * block64k = m68k .memory_map [((addr )>>16 )& 0xff ].base ;
762
-
749
+
763
750
//outside the ROM range. complex mapping logic/accessories; not sure how to handle any of this
764
751
if (block64k < cart .rom || block64k >= cart .rom + cart .romsize )
765
752
return ;
0 commit comments