
 1000  *SAVE S.PATCHER
 1010  *--------------------------------
 1020  PNTR   .EQ $00,01
 1030  PATCH  .EQ $02,03
 1040  *--------------------------------
 1050         .OR $300
 1060         .TF B.PATCHER
 1070  *--------------------------------
 1080  PATCHER
 1090         LDA #PATCHES-1
 1100         STA PNTR
 1110         LDA /PATCHES-1
 1120         STA PNTR+1
 1130         LDY #0
 1140   
 1150  .1     JSR GET.BYTE LENGTH OF NEXT PATCH
 1160         BEQ .4       FINISHED
 1170         TAX          SAVE LENGTH IN X
 1180         JSR GET.BYTE ADDRESS OF PATCH
 1190         STA PATCH
 1200         JSR GET.BYTE
 1210         STA PATCH+1
 1220   
 1230  .2     JSR GET.BYTE
 1240         STA (PATCH),Y
 1250         INC PATCH
 1260         BNE .3
 1270         INC PATCH+1
 1280  .3     DEX
 1290         BNE .2
 1300         BEQ .1    ...ALWAYS
 1310   
 1320  .4     RTS
 1330  *--------------------------------
 1340  GET.BYTE
 1350         INC PNTR
 1360         BNE .1
 1370         INC PNTR+1
 1380  .1     LDA (PNTR),Y
 1390         RTS
 1400  *--------------------------------
 1410  P1.ORIGIN .EQ $1000
 1420  P2.ORIGIN .EQ $2000 
 1430  P3.ORIGIN .EQ $3000
 1440   
 1450  *  OTHER .EQUATES HERE
 1460   
 1470  *--------------------------------
 1480  PATCHES
 1490   
 1500         .DA #P1.LENGTH,P1.ORIGIN 
 1510         .PH P1.ORIGIN
 1520   
 1530  PATCH1
 1540  *      PATCH1 CODE HERE 
 1550         JMP PATCH2
 1560   
 1570  P1.LENGTH .EQ *-PATCH1
 1580         .EP
 1590  *--------------------------------
 1600         .DA #P2.LENGTH,P2.ORIGIN 
 1610         .PH P2.ORIGIN 
 1620   
 1630  PATCH2
 1640  *      PATCH2 CODE HERE 
 1650         JMP PATCH3
 1660   
 1670  P2.LENGTH .EQ *-PATCH2
 1680         .EP 
 1690  *--------------------------------
 1700         .DA #P3.LENGTH,P3.ORIGIN 
 1710         .PH P3.ORIGIN 
 1720   
 1730  PATCH3
 1740  *      PATCH3 CODE HERE 
 1750         JMP PATCH1
 1760   
 1770  P3.LENGTH .EQ *-PATCH3 
 1780         .EP
 1790  *--------------------------------
 1800         .DA #0      END OF PATCHES
 1810  *--------------------------------
 1820         .DO *>$3D0
 1830   !!! PATCHER IS TOO BIG !!!
 1840         .FIN

