Changes in the upper ROM area (0xE000) from the latest 1541-I
model ROM to the improved 1541-II ROM version.

This is made, so that these changes can be injected into
certain speeder system ROMs. This way, these ROMs may also
profit from the patches integrated into the 1541-II.


If you want to patch another speeder ROM (upper ROM) only, so
that it uses the patches of the lower ROM part of the improved
1541-II ROM version, then you would have to carefully check the
following addresses, if the changes could be integrated.

           0xE69C (3):
           0xE780 (1):
           0xEA69 (2):
           0xEB22 (3):
           0xEC05 (2):
           0xEE1E (2):
           0xEE3E (2):
           0xEFC5 (4):
           0xF017 (4):
           0xFCAF (2):
           0xFEE6 (1):
           0xFFE5 (1):

If the code of the speeder ROM doesn't match the code of the old
1541-I upper system ROM as shown below, it would be better to
omit this particular change. Probably the speeder ROM applied
it's own patch or fix at this location.


diff 1541-e000.901229-05.od.txt 1541-ii_cbm_impr-e000.od.txt

** 0xE69C (3):
        call patch instead of "lda #00; sed" || || ||
< 00e690 d1 c9 04 b0 03 20 27 d2 4c e7 eb aa a9 00 f8 e0
---                                          ** ** **
> 00e690 d1 c9 04 b0 03 20 27 d2 4c e7 eb aa 4c 7f c0 e0


** 0xE780 (1):
         || old, unneeded code removed
< 00e780 60 ea ea ea ea ea ea ea ea ea ea ea ea ea ea ea
---      **
> 00e780 ea ea ea ea ea ea ea ea ea ea ea ea ea ea ea ea


** 0xEA69 (2):          call patch  || ||
< 00ea60 10 09 60 ad 00 18 10 fa 4c 5b e8 4c d7 e8 a2 00
---                                 ** **
> 00ea60 10 09 60 ad 00 18 10 fa 4c c0 c0 4c d7 e8 a2 00


** 0xEB22 (3): || || ||  call patch instead of "ldx #45; txs"
< 00eb20 71 ea a2 45 9a ad 00 1c 29 f7 8d 00 1c a9 01 8d
---            ** ** **
> 00eb20 71 ea 4c b9 c0 ad 00 1c 29 f7 8d 00 1c a9 01 8d


** 0xEC05 (2):          || ||  call patch
< 00ec00 a5 7c f0 03 4c 5b e8 58 a9 0e 85 72 a9 00 85 6f
---                     ** **
> 00ec00 a5 7c f0 03 4c c0 c0 58 a9 0e 85 72 a9 00 85 6f


** 0xEE1E (2):                         call patch  || ||
< 00ee10 a5 e2 10 05 a9 33 4c c8 c1 29 01 85 7f 20 00 c1
---                                                ** **
> 00ee10 a5 e2 10 05 a9 33 4c c8 c1 29 01 85 7f 20 a6 c0


** 0xEE3E (2):                         call patch  || ||
< 00ee30 12 b9 01 02 95 13 20 07 d3 a9 01 85 80 20 c6 c8
---                                                ** **
> 00ee30 12 b9 01 02 95 13 20 07 d3 a9 01 85 80 20 9f c0


** 0xEFC5 (4):
            call patch  || || || ||  instead of "cmp #03; bcs efce"
< 00efc0 d0 0c bd fa 02 c9 03 b0 05 a9 72 20 c7 e6 60 20
---                     ** ** ** **
> 00efc0 d0 0c bd fa 02 4c 93 c0 ea a9 72 20 c7 e6 60 20


** 0xF017 (4):    call patch  || || || ||  instead of "ldx 7f; lda ff,x"
< 00f010 60 a5 6f 48 a5 70 48 a6 7f b5 ff f0 05 a9 74 20
---                           ** ** ** **
> 00f010 60 a5 6f 48 a5 70 48 4c ca c0 ea f0 05 a9 74 20


** 0xFCAF (2):                || ||  call patch
< 00fca8 8f f7 a9 00 85 32 20 0e fe a9 ff 8d 01 1c a2 05
---                           ** **
> 00fca8 8f f7 a9 00 85 32 20 4e c0 a9 ff 8d 01 1c a2 05


** 0xFEE6 (1):             ||  changed checksum byte
< 00fee0 03 04 05 06 07 07 3e 6c 65 00 8d 00 1c 8d 02 1c
---                        **
> 00fee0 03 04 05 06 07 07 61 6c 65 00 8d 00 1c 8d 02 1c


** 0xFFE5 (1):          ||  alternative 1541-II checksum?
< 00ffe0 aa aa aa aa aa aa c6 c8 8f f9 5f cd 97 cd 00 05
---                     **
> 00ffe0 aa aa aa aa aa eb c6 c8 8f f9 5f cd 97 cd 00 05

