@@ -22,6 +22,9 @@ const Sett_entry_base entry_base[] = {
2222 {" sound_device" , 1 , 0 , 2 , " 0 - none, 1 - SB, 2 - GUS" },
2323 {" sound_quality" , 2 , 1 , 2 , " 1 - low quality, 2 - normal quality" },
2424 {" sound_volume" , 100 , 0 , 100 , " 0 - 100" },
25+ {" blaster_a" , 0 , 0 , 0x280 , " SB address (0 - use A, I, D from BLASTER)" },
26+ {" blaster_i" , 0 , 0 , 15 , " SB IRQ" },
27+ {" blaster_d" , 0 , 0 , 7 , " SB DMA" },
2528 {" last_laps" , 3 , 1 , 50 , " last session" },
2629 {" last_daytime" , 0 , 0 , 1 , " 0 - day, 1 - evening" },
2730 {" last_track" , 0 , 0 , UINT_MAX, " " },
@@ -89,7 +92,14 @@ int Settings::load()
8992 bool found = false ;
9093 for (unsigned int i = 0 ; i != entry_size; ++i)
9194 {
92- snprintf (format, 1023 , " %s %s" , entry_base[i].key , " %u" );
95+ if (strcmp (entry_base[i].key , " blaster_a" ) == 0 )
96+ {
97+ snprintf (format, 1023 , " %s %s" , entry_base[i].key , " %x" );
98+ }
99+ else
100+ {
101+ snprintf (format, 1023 , " %s %s" , entry_base[i].key , " %u" );
102+ }
93103 unsigned int val;
94104 if (sscanf (buff, format, &val) == 1 )
95105 {
@@ -258,9 +268,18 @@ int Settings::save()
258268 if (!fout) return 1 ;
259269 for (unsigned int i = 0 ; i != entry_size; ++i)
260270 {
261- fprintf (fout, " %s %d%s%s \n " , entry_base[i].key ,
262- std::max (std::min (entry[i].val , entry_base[i].maxval ), entry_base[i].minval ),
263- strlen (entry_base[i].comment ) ? " // " : " " , entry_base[i].comment );
271+ if (strcmp (entry_base[i].key , " blaster_a" ) == 0 )
272+ {
273+ fprintf (fout, " %s %d%s%s \n " , entry_base[i].key ,
274+ std::max (std::min (entry[i].val , entry_base[i].maxval ), entry_base[i].minval ),
275+ strlen (entry_base[i].comment ) ? " // " : " " , entry_base[i].comment );
276+ }
277+ else
278+ {
279+ fprintf (fout, " %s %d%s%s \n " , entry_base[i].key ,
280+ std::max (std::min (entry[i].val , entry_base[i].maxval ), entry_base[i].minval ),
281+ strlen (entry_base[i].comment ) ? " // " : " " , entry_base[i].comment );
282+ }
264283 }
265284
266285 for (unsigned i = 0 ; i != 16 ; ++i)
0 commit comments