@@ -348,22 +348,18 @@ public UnsignedByte readIOByte(int address) {
348
348
349
349
/* Disk Drive Status Register */
350
350
case 0xFF48 :
351
- // System.out.println("$FF48 - Reading drive " + diskDriveSelect + " status register " + disk[diskDriveSelect].getStatusRegister());
352
351
return disk [diskDriveSelect ].getStatusRegister ();
353
352
354
353
/* Disk Track Status Register */
355
354
case 0xFF49 :
356
- // System.out.println("$FF49 - Reading drive " + diskDriveSelect + " track register " + disk[diskDriveSelect].getTrack());
357
355
return new UnsignedByte (disk [diskDriveSelect ].getTrack ());
358
356
359
357
/* Disk Sector Status Register */
360
358
case 0xFF4A :
361
- // System.out.println("$FF4A - Reading drive " + diskDriveSelect + " sector register " + disk[diskDriveSelect].getSector());
362
359
return new UnsignedByte (disk [diskDriveSelect ].getSector ());
363
360
364
361
/* Disk Data Register */
365
362
case 0xFF4B :
366
- // System.out.println("$FF4B - Reading drive " + diskDriveSelect + " data register " + disk[diskDriveSelect].getDataRegister());
367
363
return new UnsignedByte (disk [diskDriveSelect ].getDataRegister ());
368
364
369
365
/* IRQs Enabled Register */
@@ -571,7 +567,6 @@ public void writeIOByte(UnsignedWord address, UnsignedByte value) {
571
567
572
568
/* Disk Drive Control Register */
573
569
case 0xFF40 :
574
- // System.out.println("$FF40 - Writing control register drive " + diskDriveSelect + " value " + value);
575
570
/* Bit 2-0 = Disk drive select */
576
571
diskDriveSelect = (value .isMasked (0x1 )) ? 0 : diskDriveSelect ;
577
572
diskDriveSelect = (value .isMasked (0x2 )) ? 1 : diskDriveSelect ;
@@ -609,19 +604,16 @@ public void writeIOByte(UnsignedWord address, UnsignedByte value) {
609
604
610
605
/* Track Status Register */
611
606
case 0xFF49 :
612
- // System.out.println("$FF49 - Writing track register drive " + diskDriveSelect + " value " + value);
613
607
disk [diskDriveSelect ].setTrack (value );
614
608
break ;
615
609
616
610
/* Sector Status Register */
617
611
case 0xFF4A :
618
- // System.out.println("$FF4A - Writing sector register drive " + diskDriveSelect + " value " + value);
619
612
disk [diskDriveSelect ].setSector (value );
620
613
break ;
621
614
622
615
/* Disk Data Register */
623
616
case 0xFF4B :
624
- // System.out.println("$FF4B - Writing data register drive " + diskDriveSelect + " value " + value);
625
617
disk [diskDriveSelect ].setDataRegister (value );
626
618
break ;
627
619
@@ -658,7 +650,6 @@ public void writeIOByte(UnsignedWord address, UnsignedByte value) {
658
650
}
659
651
660
652
/* Bit 5 = Timer Rate - 0 is 63.5 microseconds, 1 is 70 nanoseconds */
661
- // timerTickThreshold = (value.isMasked(0x20)) ? TIMER_63_5_MICROS : TIMER_63_5_MICROS;
662
653
timerTickThreshold = TIMER_63_5_MICROS ;
663
654
break ;
664
655
@@ -782,37 +773,31 @@ public void writeIOByte(UnsignedWord address, UnsignedByte value) {
782
773
/* SAM - Video Display - V0 - Clear */
783
774
case 0xFFC0 :
784
775
samControlBits .and (~0x1 );
785
- updateVideoMode (pia2b .getVDGOperatingMode ());
786
776
break ;
787
777
788
778
/* SAM - Video Display - V0 - Set */
789
779
case 0xFFC1 :
790
780
samControlBits .or (0x1 );
791
- updateVideoMode (pia2b .getVDGOperatingMode ());
792
781
break ;
793
782
794
783
/* SAM - Video Display - V1 - Clear */
795
784
case 0xFFC2 :
796
785
samControlBits .and (~0x2 );
797
- updateVideoMode (pia2b .getVDGOperatingMode ());
798
786
break ;
799
787
800
788
/* SAM - Video Display - V1 - Set */
801
789
case 0xFFC3 :
802
790
samControlBits .or (0x2 );
803
- updateVideoMode (pia2b .getVDGOperatingMode ());
804
791
break ;
805
792
806
793
/* SAM - Video Display - V2 - Clear */
807
794
case 0xFFC4 :
808
795
samControlBits .and (~0x4 );
809
- updateVideoMode (pia2b .getVDGOperatingMode ());
810
796
break ;
811
797
812
798
/* SAM - Video Display - V2 - Set */
813
799
case 0xFFC5 :
814
800
samControlBits .or (0x4 );
815
- updateVideoMode (pia2b .getVDGOperatingMode ());
816
801
break ;
817
802
818
803
/* SAM - Display Offset Register - Bit 0 - Clear */
@@ -922,17 +907,6 @@ public void writeIOByte(UnsignedWord address, UnsignedByte value) {
922
907
break ;
923
908
924
909
default :
925
- switch (address .getInt ()) {
926
- case 0xFFFA :
927
- case 0xFFF2 :
928
- case 0xFFF4 :
929
- System .out .println ("Write to IO address " + address );
930
- break ;
931
-
932
- default :
933
- break ;
934
- }
935
- memory .writeByte (address , value );
936
910
break ;
937
911
}
938
912
}
@@ -1011,7 +985,8 @@ public void updateVideoMode(UnsignedByte vdgOperatingMode) {
1011
985
1012
986
default :
1013
987
UnsignedByte fullMode = new UnsignedByte (vdgOperatingMode .getShort () + samControlBits .getShort ());
1014
- throw new RuntimeException ("Unknown screen mode: " + fullMode );
988
+ System .out .println ("Unknown screen mode: " + fullMode );
989
+ return ;
1015
990
}
1016
991
} else {
1017
992
switch (samControlBits .getShort ()) {
@@ -1033,7 +1008,8 @@ public void updateVideoMode(UnsignedByte vdgOperatingMode) {
1033
1008
1034
1009
default :
1035
1010
UnsignedByte fullMode = new UnsignedByte (vdgOperatingMode .getShort () + samControlBits .getShort ());
1036
- throw new RuntimeException ("Unknown screen mode: " + fullMode );
1011
+ System .out .println ("Unknown screen mode: " + fullMode );
1012
+ return ;
1037
1013
}
1038
1014
}
1039
1015
0 commit comments