As a side note, the recommended TI way to set 15 MHz if running on a SE is:
B_CALL GetBaseVer
cp 2
jr nc,Above112
cp 1
jr nz,Below112
ld a,b
cp 13
jr c,Below112
Above112:
ld a,0FFh
B_CALL SetExSpeed
Below112:
There is a much more efficient, and direct way, namely:
in a,(2)
and 80h
rlca
out (20h),a
I'm proud of that accomplishment :P It works because at the out instruction, A is 1 if the SE, 0 if the 83+...on the SE outputting 1 to 20h sets 15 MHz. On the 83+, 20h is a shadow port of 00h, meaning it's the same as 00h, thus the link port. Outputting 00h to the link port does nothing but keeps the lines high as they were before.