@@ -485,6 +485,27 @@ void checkMapperSize_7800() {
485
485
}
486
486
}
487
487
488
+ #if (defined(ENABLE_OLED) || defined(ENABLE_LCD))
489
+ void println_Mapper7800 (byte mapper) {
490
+ if (mapper == 0 )
491
+ println_Msg (F (" STANDARD" ));
492
+ else if (mapper == 1 )
493
+ println_Msg (F (" SUPERGAME 128K[78SG]" ));
494
+ else if (mapper == 2 )
495
+ println_Msg (F (" SUPERGAME 144K[78S9]" ));
496
+ else if (mapper == 3 )
497
+ println_Msg (F (" F-18 HORNET [78AB]" ));
498
+ else if (mapper == 4 )
499
+ println_Msg (F (" DBLDRGN/RMPG [78AC]" ));
500
+ else if (mapper == 5 )
501
+ println_Msg (F (" BASEBALL/ETC [78S4]" ));
502
+ else if (mapper == 6 )
503
+ println_Msg (F (" KARATEKA(PAL) [78S4]" ));
504
+ else if (mapper == 7 )
505
+ println_Msg (F (" BANKSET" ));
506
+ }
507
+ #endif
508
+
488
509
void setROMSize_7800 () {
489
510
#if (defined(ENABLE_OLED) || defined(ENABLE_LCD))
490
511
display_Clear ();
@@ -610,22 +631,7 @@ void checkStatus_7800() {
610
631
println_Msg (FS (FSTRING_EMPTY));
611
632
print_Msg (F (" MAPPER: " ));
612
633
println_Msg (a7800mapper);
613
- if (a7800mapper == 0 )
614
- println_Msg (F (" STANDARD" ));
615
- else if (a7800mapper == 1 )
616
- println_Msg (F (" SUPERGAME [78SG]" ));
617
- else if (a7800mapper == 2 )
618
- println_Msg (F (" SUPERGAME [78S9]" ));
619
- else if (a7800mapper == 3 )
620
- println_Msg (F (" F-18 HORNET [78AB]" ));
621
- else if (a7800mapper == 4 )
622
- println_Msg (F (" DBLDRGN/RMPG [78AC]" ));
623
- else if (a7800mapper == 5 )
624
- println_Msg (F (" BASEBALL/ETC [78S4]" ));
625
- else if (a7800mapper == 6 )
626
- println_Msg (F (" KARATEKA(PAL)[78S4]" ));
627
- else if (a7800mapper == 7 )
628
- println_Msg (F (" BANKSET" ));
634
+ println_Mapper7800 (a7800mapper);
629
635
print_Msg (F (" ROM SIZE: " ));
630
636
print_Msg (a7800[a7800size]);
631
637
println_Msg (F (" K" ));
@@ -661,6 +667,26 @@ void checkStatus_7800() {
661
667
// SET MAPPER
662
668
// ******************************************
663
669
670
+ #if (defined(ENABLE_OLED) || defined(ENABLE_LCD))
671
+ void displayMapperSelect_7800 (int index) {
672
+ display_Clear ();
673
+ print_Msg (F (" Mapper: " ));
674
+ a7800index = index * 3 ;
675
+ a7800mapselect = pgm_read_byte (a7800mapsize + a7800index);
676
+ println_Msg (a7800mapselect);
677
+ println_Mapper7800 (a7800mapselect);
678
+ println_Msg (FS (FSTRING_EMPTY));
679
+ #if defined(ENABLE_OLED)
680
+ print_STR (press_to_change_STR, 1 );
681
+ print_STR (right_to_select_STR, 1 );
682
+ #elif defined(ENABLE_LCD)
683
+ print_STR (rotate_to_change_STR, 1 );
684
+ print_STR (press_to_select_STR, 1 );
685
+ #endif
686
+ display_Update ();
687
+ }
688
+ #endif
689
+
664
690
void setMapper_7800 () {
665
691
#if (defined(ENABLE_OLED) || defined(ENABLE_LCD))
666
692
uint8_t b = 0 ;
@@ -691,22 +717,7 @@ void setMapper_7800() {
691
717
a7800index = i * 3 ;
692
718
a7800mapselect = pgm_read_byte (a7800mapsize + a7800index);
693
719
println_Msg (a7800mapselect);
694
- if (a7800mapselect == 0 )
695
- println_Msg (F (" STANDARD" ));
696
- else if (a7800mapselect == 1 )
697
- println_Msg (F (" SUPERGAME 128K[78SG]" ));
698
- else if (a7800mapselect == 2 )
699
- println_Msg (F (" SUPERGAME 144K[78S9]" ));
700
- else if (a7800mapselect == 3 )
701
- println_Msg (F (" F-18 HORNET [78AB]" ));
702
- else if (a7800mapselect == 4 )
703
- println_Msg (F (" DBLDRGN/RAMPG [78AC]" ));
704
- else if (a7800mapselect == 5 )
705
- println_Msg (F (" BASEBALL/ETC [78S4]" ));
706
- else if (a7800mapselect == 6 )
707
- println_Msg (F (" KARATEKA(PAL) [78S4]" ));
708
- else if (a7800mapselect == 7 )
709
- println_Msg (F (" BANKSET" ));
720
+ println_Mapper7800 (a7800mapselect);
710
721
display_Update ();
711
722
if (i == (a7800mapcount - 1 ))
712
723
i = 0 ;
@@ -716,36 +727,7 @@ void setMapper_7800() {
716
727
}
717
728
}
718
729
719
- display_Clear ();
720
- print_Msg (F (" Mapper: " ));
721
- a7800index = i * 3 ;
722
- a7800mapselect = pgm_read_byte (a7800mapsize + a7800index);
723
- println_Msg (a7800mapselect);
724
- if (a7800mapselect == 0 )
725
- println_Msg (F (" STANDARD" ));
726
- else if (a7800mapselect == 1 )
727
- println_Msg (F (" SUPERGAME 128K[78SG]" ));
728
- else if (a7800mapselect == 2 )
729
- println_Msg (F (" SUPERGAME 144K[78S9]" ));
730
- else if (a7800mapselect == 3 )
731
- println_Msg (F (" F-18 HORNET [78AB]" ));
732
- else if (a7800mapselect == 4 )
733
- println_Msg (F (" DBLDRGN/RAMPG [78AC]" ));
734
- else if (a7800mapselect == 5 )
735
- println_Msg (F (" BASEBALL/ETC [78S4]" ));
736
- else if (a7800mapselect == 6 )
737
- println_Msg (F (" KARATEKA(PAL) [78S4]" ));
738
- else if (a7800mapselect == 7 )
739
- println_Msg (F (" BANKSET" ));
740
- println_Msg (FS (FSTRING_EMPTY));
741
- #if defined(ENABLE_OLED)
742
- print_STR (press_to_change_STR, 1 );
743
- print_STR (right_to_select_STR, 1 );
744
- #elif defined(ENABLE_LCD)
745
- print_STR (rotate_to_change_STR, 1 );
746
- print_STR (press_to_select_STR, 1 );
747
- #endif
748
- display_Update ();
730
+ displayMapperSelect_7800 (i);
749
731
750
732
while (1 ) {
751
733
b = checkButton ();
@@ -755,36 +737,7 @@ void setMapper_7800() {
755
737
else
756
738
i--;
757
739
758
- display_Clear ();
759
- print_Msg (F (" Mapper: " ));
760
- a7800index = i * 3 ;
761
- a7800mapselect = pgm_read_byte (a7800mapsize + a7800index);
762
- println_Msg (a7800mapselect);
763
- if (a7800mapselect == 0 )
764
- println_Msg (F (" STANDARD" ));
765
- else if (a7800mapselect == 1 )
766
- println_Msg (F (" SUPERGAME 128K[78SG]" ));
767
- else if (a7800mapselect == 2 )
768
- println_Msg (F (" SUPERGAME 144K[78S9]" ));
769
- else if (a7800mapselect == 3 )
770
- println_Msg (F (" F-18 HORNET [78AB]" ));
771
- else if (a7800mapselect == 4 )
772
- println_Msg (F (" DBLDRGN/RAMPG [78AC]" ));
773
- else if (a7800mapselect == 5 )
774
- println_Msg (F (" BASEBALL/ETC [78S4]" ));
775
- else if (a7800mapselect == 6 )
776
- println_Msg (F (" KARATEKA(PAL) [78S4]" ));
777
- else if (a7800mapselect == 7 )
778
- println_Msg (F (" BANKSET" ));
779
- println_Msg (FS (FSTRING_EMPTY));
780
- #if defined(ENABLE_OLED)
781
- print_STR (press_to_change_STR, 1 );
782
- print_STR (right_to_select_STR, 1 );
783
- #elif defined(ENABLE_LCD)
784
- print_STR (rotate_to_change_STR, 1 );
785
- print_STR (press_to_select_STR, 1 );
786
- #endif
787
- display_Update ();
740
+ displayMapperSelect_7800 (i);
788
741
789
742
}
790
743
if (b == 1 ) { // Next Mapper (press)
@@ -793,36 +746,7 @@ void setMapper_7800() {
793
746
else
794
747
i++;
795
748
796
- display_Clear ();
797
- print_Msg (F (" Mapper: " ));
798
- a7800index = i * 3 ;
799
- a7800mapselect = pgm_read_byte (a7800mapsize + a7800index);
800
- println_Msg (a7800mapselect);
801
- if (a7800mapselect == 0 )
802
- println_Msg (F (" STANDARD" ));
803
- else if (a7800mapselect == 1 )
804
- println_Msg (F (" SUPERGAME 128K[78SG]" ));
805
- else if (a7800mapselect == 2 )
806
- println_Msg (F (" SUPERGAME 144K[78S9]" ));
807
- else if (a7800mapselect == 3 )
808
- println_Msg (F (" F-18 HORNET [78AB]" ));
809
- else if (a7800mapselect == 4 )
810
- println_Msg (F (" DBLDRGN/RAMPG [78AC]" ));
811
- else if (a7800mapselect == 5 )
812
- println_Msg (F (" BASEBALL/ETC [78S4]" ));
813
- else if (a7800mapselect == 6 )
814
- println_Msg (F (" KARATEKA(PAL) [78S4]" ));
815
- else if (a7800mapselect == 7 )
816
- println_Msg (F (" BANKSET" ));
817
- println_Msg (FS (FSTRING_EMPTY));
818
- #if defined(ENABLE_OLED)
819
- print_STR (press_to_change_STR, 1 );
820
- print_STR (right_to_select_STR, 1 );
821
- #elif defined(ENABLE_LCD)
822
- print_STR (rotate_to_change_STR, 1 );
823
- print_STR (press_to_select_STR, 1 );
824
- #endif
825
- display_Update ();
749
+ displayMapperSelect_7800 (i);
826
750
}
827
751
if (b == 3 ) { // Long Press - Execute (hold)
828
752
new7800mapper = a7800mapselect;
0 commit comments