@@ -67,25 +67,25 @@ const uint8_t *prgCode = NULL;
6767
6868#ifdef FIRMWARE_C128
6969#if audioDevice == 1
70- static const char VERSION_STR_Flash[20 ] = {0x53 , 0x49 , 0x44 , 0x4b , 0x09 , 0x03 , 0x0b , ' 0' , ' .' , ' 2' , 0x44 , 0x41 , 0x43 , ' 1' , ' 2' , ' 8' };
70+ static const char VERSION_STR_Flash[20 ] = {0x53 , 0x49 , 0x44 , 0x4b , 0x09 , 0x03 , 0x0b , ' 0' , ' .' , ' 2' , 0x44 , 0x41 , 0x43 , ' 1' , ' 2' , ' 8' , 0 , 0 , 0 , 0 };
7171#else
72- static const char VERSION_STR_Flash[20 ] = {0x53 , 0x49 , 0x44 , 0x4b , 0x09 , 0x03 , 0x0b , ' 0' , ' .' , ' 2' , 0x4d , 0x51 , 0x53 , ' 1' , ' 2' , ' 8' };
72+ static const char VERSION_STR_Flash[20 ] = {0x53 , 0x49 , 0x44 , 0x4b , 0x09 , 0x03 , 0x0b , ' 0' , ' .' , ' 2' , 0x4d , 0x51 , 0x53 , ' 1' , ' 2' , ' 8' , 0 , 0 , 0 , 0 };
7373#endif
7474#else
7575#if audioDevice == 1
76- static const char VERSION_STR_Flash[20 ] = {0x53 , 0x49 , 0x44 , 0x4b , 0x09 , 0x03 , 0x0b , ' 0' , ' .' , ' 2' , ' /' , 0x44 , 0x41 , 0x43 , ' 6' , ' 4' };
76+ static const char VERSION_STR_Flash[20 ] = {0x53 , 0x49 , 0x44 , 0x4b , 0x09 , 0x03 , 0x0b , ' 0' , ' .' , ' 2' , ' /' , 0x44 , 0x41 , 0x43 , ' 6' , ' 4' , 0 , 0 , 0 , 0 };
7777#else
78- static const char VERSION_STR_Flash[20 ] = {0x53 , 0x49 , 0x44 , 0x4b , 0x09 , 0x03 , 0x0b , ' 0' , ' .' , ' 2' , ' /' , 0x4d , 0x51 , 0x53 , ' 6' , ' 4' };
78+ static const char VERSION_STR_Flash[20 ] = {0x53 , 0x49 , 0x44 , 0x4b , 0x09 , 0x03 , 0x0b , ' 0' , ' .' , ' 2' , ' /' , 0x4d , 0x51 , 0x53 , ' 6' , ' 4' , 0 , 0 , 0 , 0 };
7979#endif
8080#endif
8181
82- // signature + version 0.21
82+ // signature + version 0.22
8383#define VERSION_STR_EXT_SIZE 16
8484static const unsigned char VERSION_STR_ext[VERSION_STR_EXT_SIZE] = {
8585 0x53 , 0x49 , 0x44 , 0x4b , 0x09 , 0x03 , 0x0b , 0x00 , // signature + extension version 0
86- 0 , 21 , // firmware version with stepping
86+ 0 , 22 , // firmware version with stepping
8787#ifdef SID_DAC_MODE_SUPPORT // support DAC modes? which?
88- 1 ,
88+ SID_DAC_MONO8 | SID_DAC_STEREO8 ,
8989#else
9090 0 ,
9191#endif
@@ -140,6 +140,7 @@ uint8_t sidOnlyMode = SID_ONLY_OFF;
140140uint8_t sidDACMode = SID_DAC_OFF;
141141#endif
142142
143+
143144uint8_t addrLine = 0 ;
144145uint32_t fmFakeOutput = 0 ;
145146uint32_t fmAutoDetectStep = 0 ;
@@ -1526,7 +1527,14 @@ FASTRUN void isrSID()
15261527#ifdef SID_DAC_MODE_SUPPORT
15271528 else if ( D == 0xfc )
15281529 {
1529- sidDACMode = 1 ;
1530+ sidDACMode = SID_DAC_MONO8;
1531+ stateInConfigMode =
1532+ stateInTransferMode =
1533+ stateInVisualizationMode = 0 ;
1534+ }
1535+ else if ( D == 0xfb )
1536+ {
1537+ sidDACMode = SID_DAC_STEREO8;
15301538 stateInConfigMode =
15311539 stateInTransferMode =
15321540 stateInVisualizationMode = 0 ;
@@ -1615,7 +1623,7 @@ FASTRUN void isrSID()
16151623 busValueTTL = 0xa2000 ; else // 8580
16161624 busValueTTL = 0x1d00 ; // 6581
16171625
1618- if ( A <= 24 )
1626+ if ( A <= 25 )
16191627 {
16201628 // pseudo stereo?
16211629 if ( SID2_ADDR == (uint32_t )(1 << 31 ) )
@@ -1826,12 +1834,12 @@ noSID_FM_MIDI_Commands:
18261834 newPotCounterX = newPotCounterY = 1 ;
18271835 } else if ( potCycleCounter >= 256 )
18281836 {
1829- if ( newPotCounterX && (data_9 & CORE_PIN4_BITMASK) )
1837+ if ( newPotCounterX && ( ( data_9 & CORE_PIN4_BITMASK) || potCycleCounter == 511 ) )
18301838 {
18311839 outRegisters[ 25 ] = potCycleCounter - 256 ;
18321840 newPotCounterX = 0 ;
18331841 }
1834- if ( newPotCounterY && (data_9 & CORE_PIN5_BITMASK) )
1842+ if ( newPotCounterY && ( ( data_9 & CORE_PIN5_BITMASK) || potCycleCounter == 511 ) )
18351843 {
18361844 outRegisters[ 26 ] = potCycleCounter - 256 ;
18371845 newPotCounterY = 0 ;
0 commit comments