10
20
30
40
50 :
60 OSWRCH=&FFEE
70 OSWORD=&FFF1
80 new_col=&A8
90 FOR P=0 TO 1
100 P%=&900
110 [OPT P*3
120 LDA #0:STA table:STA table+1
130 STA table+2:STA table+3
140 .outer_loop
150 BIT &FF:BMI exit
160 LDX #table AND255:LDY #table DIV256
170 LDA #9:JSR OSWORD
180 LDA #18:JSR OSWRCH
190 LDA #0:JSR OSWRCH
200 LDX table+4:LDA new_col,X
210 JSR OSWRCH
220 LDA #25:JSR OSWRCH
230 LDA #69:JSR OSWRCH
240 LDX #0
250 .inner_loop
260 LDA table,X:JSR OSWRCH
270 INX:CPX #4:BNE inner_loop
280 LDA table:CLC:ADC #4:STA table
290 LDA table+1:ADC #0:STA table+1
300 CMP #5:BNE outer_loop
310 LDA #0:STA table:STA table+1
320 LDA table+2:CLC:ADC #4:STA table+2
330 LDA table+3:ADC #0:STA table+3
340 CMP #4:BNE outer_loop
350 .exit
360 RTS
370 .table
380 EQUW 0:EQUW 0
390 EQUB 0
400 ]NEXT
410 PRINT"SAVE NEWCOL 900 ";~P%