Describe the issue
Register $D6A7 in io_page 0 reports the wrong value in some cases for the Jr2
To reproduce
There are many ways to expose the value, but the simplest one is to use this superbasic line:
PRINT PEEK($D6A7)
which will return the byte in decimal form
Expected behavior
According to this chart, the values we are expected depend on the machine (Jr, Jr2, K, K2) and the active core (classic MMU, ext 816, 2x core MMU+ext hybrid, 6809) leading to many combinations.
https://f256wiki.wildbitscomputing.com/index.php?title=MID_codes_for_machine_identification
The faulty cases should behave like so:
Wrong case 1: (reported by ModernRetroDev)
Jr2 with classic MMU core: reports 2 decimal = 0x02 hex = 0000 0010 b
but this is the code normally reserved for Jr1 with classic MMU core.
it should instead report 34 decimal = 0x22 hex = 0010 0010 b
Wrong case 2: (reported by Enersto Contrera)
Jr2 with 2x core: reports 130 decimal = 0x82 hex = 1000 0010 b
but this is the code normally reserved for Jr1 with 2x core.
it should instead report: 162 decimal = 0xA2 hex = 1010 0010 b
Solution: if bit5 was properly set for both of these codes, then the machine ID would correctly identify these machines as gen2 instead of gen1.
Hardware version
Report by ModernRetroDev
- Machine type: Wildbits/Jr2 (bought F256Jr2)
- PCB revision: unsure, bought on October 24, 2024
- CPU: 65816,
- Speed: 1x
(SuperBASIC Hardware version string: 00200002 A0)
Report by Enersto Contrera
- Machine type: Wildbits/Jr2 (bought F256Jr2)
- PCB revision: unsure
- CPU: 65816
- Speed: 2x
Describe the issue
Register $D6A7 in io_page 0 reports the wrong value in some cases for the Jr2
To reproduce
There are many ways to expose the value, but the simplest one is to use this superbasic line:
PRINT PEEK($D6A7)
which will return the byte in decimal form
Expected behavior
According to this chart, the values we are expected depend on the machine (Jr, Jr2, K, K2) and the active core (classic MMU, ext 816, 2x core MMU+ext hybrid, 6809) leading to many combinations.
https://f256wiki.wildbitscomputing.com/index.php?title=MID_codes_for_machine_identification
The faulty cases should behave like so:
Wrong case 1: (reported by ModernRetroDev)
Jr2 with classic MMU core: reports 2 decimal = 0x02 hex = 0000 0010 b
but this is the code normally reserved for Jr1 with classic MMU core.
it should instead report 34 decimal = 0x22 hex = 0010 0010 b
Wrong case 2: (reported by Enersto Contrera)
Jr2 with 2x core: reports 130 decimal = 0x82 hex = 1000 0010 b
but this is the code normally reserved for Jr1 with 2x core.
it should instead report: 162 decimal = 0xA2 hex = 1010 0010 b
Solution: if bit5 was properly set for both of these codes, then the machine ID would correctly identify these machines as gen2 instead of gen1.
Hardware version
Report by ModernRetroDev
(SuperBASIC Hardware version string: 00200002 A0)
Report by Enersto Contrera