+PICO_INTERNAL void PsndDoPSG(int line_to)\r
+{\r
+ int line_from = Pico.snd.psg_line;\r
+ int pos, pos1, len;\r
+ int stereo = 0;\r
+\r
+ if (line_to >= 313)\r
+ line_to = 312;\r
+\r
+ pos = dac_info[line_from];\r
+ pos1 = dac_info[line_to + 1];\r
+ len = pos1 - pos;\r
+ //elprintf(EL_STATUS, "%3d %3d %3d %3d %3d",\r
+ // pos, pos1, len, line_from, line_to);\r
+ if (len <= 0)\r
+ return;\r
+\r
+ Pico.snd.psg_line = line_to + 1;\r
+\r
+ if (!PicoIn.sndOut || !(PicoIn.opt & POPT_EN_PSG))\r
+ return;\r
+\r
+ if (PicoIn.opt & POPT_EN_STEREO) {\r
+ stereo = 1;\r
+ pos <<= 1;\r
+ }\r
+ SN76496Update(PicoIn.sndOut + pos, len, stereo);\r
+}\r
+\r