Observing the two codes:
3352 bytes version:
label_12e4h: ld a, c
cp a, 4h
jr z, label_1312
cp a, 3h
jp z, label_133b
cp a, 8h
ret nz
call label_14ee
ld a, (1353h)
set 6, a
res 7, a
ld (1353h), a
---------
And the 3178 bytes version:
loc_C0A9: ld a, c
cp 4
jr z, loc_C0E9
cp 3
jp z, loc_C112
cp 2
ret nz
ld a, (de)
cp 2
ret nz
inc de
ld a, (de)
dec de
cp 50h ; 'P'
ret nz
inc de
inc de
ld a, (de)
dec de
dec de
cp 42h ; 'B'
ret nz
call sub_C2C5
ld a, (byte_C12A)
set 6, a
res 7, a
ld (byte_C12A), a
------------
It seems that only suppressing a few lines from the very first routine the driver auto-activates itself at the loading.