26 pieces. The sound engine (bank 6, with the scores in bank 5 and the table of 72 sounds at p04:600C) drives eight channels: the PSG's three and the SCC's five. Each sound's header says which channels it uses: the tunes use 6 or 8 and the effects only two, PSG channel 3 and SCC channel 1. A channel takes a new sound if its priority is not lower than that of the one playing (p06:B305).
During a game the background tune depends on the furthest occupied base and on who is batting (p00:5E74, p00:5E7A): eight tunes, plus the seventh inning ones. The home run is two requests in a row: 0x2C (PSG and one SCC channel) and 0x3F (the other three SCC channels). F5 turns the music off and on.
The pieces have not been rewritten: the cartridge's own engine runs on a Python Z80 (tools/musica.py) and what it writes to the PSG and the SCC is turned into sound. Each one has been checked against openMSX (tools/omsx_psg.tcl, tools/coteja_psg.py): the state of both chips matches frame by frame. Seven match with the "free tone" of channel 4 switched off (0xEFF4): a whistle the game turns on by itself during a game, which those pieces do not use. The effects are not here.
Asked for by p15:BBD8. 3.6 s. Checked: 218 identical frames.
Asked for by p00:44DD, p15:AB3B. 63.2 s, looping back to frame 1998. Checked: 3790 identical frames.
Asked for by p00:45C8. 2.9 s. Checked: 176 identical frames.
Asked for by p13:622A, p15:A548. 51.2 s, looping back to frame 1921. Checked: 3073 identical frames.
Asked for by p00:463A. 38.4 s, looping back to frame 1153. Checked: 2305 identical frames with the free tone off.
Asked for by p00:5E74; 0x32, the play-ball tune of p00:466E, is the same. 33.6 s, looping back to frame 865. Checked: 2017 identical frames with the free tone off.
19.2 s, looping back to frame 577. Checked: 1153 identical frames.
16.0 s, looping back to frame 481. Checked: 961 identical frames.
32.0 s, looping back to frame 961. Checked: 1921 identical frames with the free tone off.
Asked for by p00:5E7A. 30.4 s, looping back to frame 865. Checked: 1825 identical frames with the free tone off.
25.6 s, looping back to frame 769. Checked: 1537 identical frames.
32.0 s, looping back to frame 961. Checked: 1921 identical frames with the free tone off.
26.7 s, looping back to frame 801. Checked: 1601 identical frames with the free tone off.
Asked for by p02:94E3. 37.8 s, looping back to frame 1115. Checked: 2267 identical frames.
Asked for by p02:94ED. 34.6 s, looping back to frame 1115. Checked: 2075 identical frames with the free tone off.
Asked for by p01:6003. 10.2 s. Checked: 611 identical frames.
Asked for by p01:6003. 6.3 s. Checked: 379 identical frames.
14.1 s. Checked: 843 identical frames (each half on its own).
Asked for by p01:6171, p03:B131. 3.8 s. Checked: 229 identical frames.
Asked for by p03:AE58. 4.3 s. Checked: 259 identical frames.
Asked for by p01:61BD. 3.6 s. Checked: 215 identical frames.
Asked for by p02:8FA3. 4.1 s. Checked: 247 identical frames.
Asked for by p02:9466. 3.4 s. Checked: 205 identical frames.
Asked for by p02:945F. 4.4 s. Checked: 266 identical frames.
Asked for by p00:4A32. 11.1 s. Checked: 668 identical frames.
Asked for by p00:4925, p00:49A6. 76.8 s, looping back to frame 2049. Checked: 3968 identical frames out of 4609; then the game cuts it.