;------------------------------------- ;procedura instalujaca Over5 w pamieci c64 ;wersja dla cardrige TFC3++ ;(Turbo Final 3++) ;nie zamazuje obszarow $0801-$fc00 ;oraz tych miejsc na stronei zerowej ;ktorych nie uzywa. ;code by moneo 2015.10.25 ;------------------------------------- ;Over5 is a c64/vic20 < - > Amiga/Pc/Unix-box transferring program. ;Over5 is written and maintained by Daniel Kahlin. ;http://www.kahlin.net/daniel/over5/ ;FastRS (PAL version) ;------------------------------------- ;relol v1 code by moneo 4.11.2015 ;------------------------------------- * = $8100 ;------------------------------------- ;bank $44 w Turbo Final 3++ ;realnie $10100 w pliku *.bin ;------------------------------------- sei ;lda #$64 ;tylko do testów ;sta $dfff ;wstawia w odpowiednie miejsca ;starter Over5 i jego procedure glowna jsr over5_relokator_low ; pod $02bc jsr over5_relokator_high ; pod $fc00 jsr dyn_klawiatura ; zapewnienie wyswietlenia ; sys700: po komunikacie READY jsr komunikat_instalacji ; informacje n/t instlacji na ekran lda #$40 jmp $df99 ;pod $df99 jest sta d$fff ; cli ; rts ;zmiana banku final3 ;gdzie jest basic, co umozliwia prawidlowy ;powrot po wywolaniu przez sys57238 ;------------------------------------- dyn_klawiatura ldx #0 l3 lda komanda,x sta $0277,x ;FIFO bufor inx cpx #8 ;ile znakow do bufora bne l3 lda #7 ;ilosc znakow bufora oczekujacych ; zmienic na 8, jesli chcemy od razu z uruchomieniem sta $c6 rts ;!-! komanda ;start dla load over5 .text "SYS700:" .byte 13 ;------------------------------------- komunikat_instalacji lda #$06 sta $d020 sta $d021 ldx #$05 ldy #$00 clc jsr $fff0 ldx #0 komunikat_instalacji_loop lda kom_install_over5,x sta $0400,x inx cpx #240 bne komunikat_instalacji_loop ldx #40 lda #$20 komunikat_instalacji_loop2 sta $04f0,x dex bne komunikat_instalacji_loop2 rts ;------------------------------------- kom_install_over5_2 .byte 147,5 kom_install_over5 .BYTE $55, $44, $20, $0f, $16, $05, $12, $35, $20, $06, $01, $13, $14, $12, $13, $20 .BYTE $44, $44, $44, $44, $44, $44, $44, $44, $44, $44, $44, $44, $44, $44, $44, $49 .BYTE $20, $20, $20, $20, $20, $20, $20, $20, $42, $20, $03, $0F, $10, $19, $12, $09 .BYTE $07, $08, $14, $20, $28, $03, $29, $20, $31, $39, $39, $35, $2C, $31, $39, $39 .BYTE $36, $2C, $32, $30, $30, $32, $20, $42, $20, $20, $20, $20, $20, $20, $20, $20 .BYTE $42, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $20, $2E, $2E, $2E .BYTE $20, $04, $01, $0E, $09, $05, $0C, $20, $0B, $01, $08, $0C, $09, $0E, $20, $42 .BYTE $20, $20, $20, $20, $20, $20, $20, $20, $42, $08, $01, $0E, $04, $0C, $05, $13 .BYTE $20, $10, $12, $0F, $07, $12, $01, $0D, $13, $20, $24, $30, $38, $30, $31, $2D .BYTE $24, $06, $03, $30, $30, $2E, $20, $42, $20, $20, $20, $20, $20, $20, $20, $20 .BYTE $42, $12, $05, $01, $04, $3A, $20, $13, $19, $13, $20, $37, $30, $30, $20, $20 .BYTE $20, $17, $12, $09, $14, $05, $3A, $20, $13, $19, $13, $20, $37, $30, $33, $42 .BYTE $20, $20, $20, $20, $20, $20, $20, $20, $4A, $43, $43, $43, $43, $43, $43, $43 .BYTE $43, $43, $43, $43, $43, $43, $43, $43, $43, $43, $43, $43, $43, $43, $43, $43 .BYTE $43, $43, $43, $43, $43, $43, $43, $4B, $20, $20, $20, $20, $20, $20, $20, $20 ;------------------------------------- ;over5 ;od $02bc (sys700) over5_relokator_low ldx #0 ovr_rl_1 lda over5l,x sta $02bc,x inx cpx #64 bne ovr_rl_1 rts over5l .BYTE $4C,$CD,$02,$78,$A2,$35,$86,$01 .BYTE $20,$6E,$FE,$A2,$37,$86,$01,$58 .BYTE $60,$78,$A2,$35,$86,$01,$20,$00 .BYTE $FC,$A2,$37,$86,$01,$58,$60,$08 .BYTE $85,$A7,$A5,$01,$48,$A9,$37,$85 .BYTE $01,$A5,$A7,$20,$D2,$FF,$78,$68 .BYTE $85,$01,$A5,$A7,$28,$60,$78,$A9 .BYTE $37,$85,$01,$4C,$69,$FE,$00,$00 ;------------ ;$fc00 over5_relokator_high ldx #0 ovr_rh_1 lda over5H,x sta $fc00,x lda over5H+256,x sta $fd00,x lda over5H+512,x sta $fe00,x inx bne ovr_rh_1 ovr_rh_2 lda over5H+768,x sta $ff00,x inx cpx #147 bne ovr_rh_2 rts over5H .BYTE $AD, $20, $D0, $48, $BA, $86, $FD, $A9 .BYTE $1A, $A0, $FE, $20, $F6, $FD, $20, $7B .BYTE $FD, $A9, $00, $85, $BD, $85, $FE, $20 .BYTE $8E, $FC, $C9, $E7, $D0, $5C, $20, $8E .BYTE $FC, $85, $FB, $38, $E9, $01, $85, $AC .BYTE $08, $20, $8E, $FC, $85, $FC, $28, $E9 .BYTE $00, $85, $AD, $20, $8E, $FC, $85, $A3 .BYTE $38, $E9, $01, $85, $AE, $08, $20, $8E .BYTE $FC, $85, $A4, $28, $E9, $00, $85, $AF .BYTE $20, $8E, $FC, $C5, $FE, $D0, $2B, $A9 .BYTE $00, $85, $BD, $85, $FE, $20, $EB, $FC .BYTE $20, $8E, $FC, $48, $A6, $A3, $A5, $A4 .BYTE $86, $AE, $85, $AF, $86, $2D, $85, $2E .BYTE $20, $CC, $FD, $68, $45, $FE, $D0, $0A .BYTE $A9, $30, $A0, $FE, $20, $F6, $FD, $4C .BYTE $81, $FC, $A9, $3E, $A0, $FE, $20, $F6 .BYTE $FD, $A9, $1B, $8D, $11, $D0, $A6, $FD .BYTE $9A, $68, $8D, $20, $D0, $60, $A9, $01 .BYTE $2C, $01, $DD, $D0, $FB, $A5, $BD, $45 .BYTE $FE, $85, $FE, $A5, $BD, $8D, $20, $D0 .BYTE $20, $70, $FD, $AD, $01, $DD, $4A, $66 .BYTE $BD, $20, $79, $FD, $AD, $01, $DD, $4A .BYTE $66, $BD, $20, $72, $FD, $AD, $01, $DD .BYTE $4A, $66, $BD, $20, $72, $FD, $AD, $01 .BYTE $DD, $4A, $66, $BD, $20, $79, $FD, $AD .BYTE $01, $DD, $4A, $66, $BD, $20, $72, $FD .BYTE $AD, $01, $DD, $4A, $66, $BD, $20, $72 .BYTE $FD, $AD, $01, $DD, $4A, $66, $BD, $20 .BYTE $79, $FD, $AD, $01, $DD, $4A, $66, $BD .BYTE $A5, $BD, $60, $A0, $00, $A9, $01, $2C .BYTE $01, $DD, $D0, $FB, $A5, $BD, $45, $FE .BYTE $85, $FE, $A5, $BD, $8D, $20, $D0, $20 .BYTE $70, $FD, $AD, $01, $DD, $4A, $66, $BD .BYTE $20, $79, $FD, $AD, $01, $DD, $4A, $66 .BYTE $BD, $20, $72, $FD, $AD, $01, $DD, $4A .BYTE $66, $BD, $A5, $AC, $18, $69, $01, $85 .BYTE $AC, $08, $EA, $AD, $01, $DD, $4A, $66 .BYTE $BD, $28, $A5, $AD, $69, $00, $85, $AD .BYTE $EA, $AD, $01, $DD, $4A, $66, $BD, $38 .BYTE $A5, $AC, $E5, $AE, $08, $EA, $EA, $AD .BYTE $01, $DD, $4A, $66, $BD, $28, $A5, $AD .BYTE $E5, $AF, $08, $EA, $AD, $01, $DD, $4A .BYTE $66, $BD, $20, $7A, $FD, $A2, $34, $AD .BYTE $01, $DD, $4A, $66, $BD, $86, $01, $A5 .BYTE $BD, $91, $AC, $A2, $35, $86, $01, $28 .BYTE $B0, $03, $4C, $ED, $FC, $60, $EA, $EA .BYTE $EA, $EA, $85, $FF, $60, $EA, $EA, $EA .BYTE $EA, $EA, $60, $78, $A9, $7F, $8D, $0D .BYTE $DD, $AD, $0D, $DD, $AD, $02, $DD, $09 .BYTE $04, $8D, $02, $DD, $A9, $06, $8D, $03 .BYTE $DD, $AD, $00, $DD, $29, $FB, $09, $04 .BYTE $8D, $00, $DD, $A9, $08, $8D, $0E, $DD .BYTE $A9, $08, $8D, $0F, $DD, $A0, $FF, $A2 .BYTE $00, $E8, $D0, $FD, $88, $D0, $FA, $4C .BYTE $B2, $FD, $A9, $00, $8D, $15, $D0, $A9 .BYTE $0B, $8D, $11, $D0, $A2, $03, $AD, $11 .BYTE $D0, $10, $FB, $AD, $11, $D0, $30, $FB .BYTE $CA, $D0, $F3, $60, $A9, $4F, $A0, $FE .BYTE $20, $F6, $FD, $A9, $24, $20, $DB, $02 .BYTE $A5, $FC, $20, $08, $FE, $A5, $FB, $20 .BYTE $08, $FE, $A9, $2D, $20, $DB, $02, $A9 .BYTE $24, $20, $DB, $02, $A5, $A4, $20, $08 .BYTE $FE, $A5, $A3, $4C, $08, $FE, $85, $A5 .BYTE $84, $A6, $A0, $00, $B1, $A5, $F0, $07 .BYTE $20, $DB, $02, $C8, $4C, $FC, $FD, $60 .BYTE $48, $4A, $4A, $4A, $4A, $20, $11, $FE .BYTE $68, $29, $0F, $AA, $BD, $5E, $FE, $4C .BYTE $DB, $02, $57, $41, $49, $54, $49, $4E .BYTE $47, $2E, $2E, $2E, $00, $53, $45, $4E .BYTE $44, $49, $4E, $47, $2E, $2E, $2E, $00 .BYTE $0D, $43, $48, $45, $43, $4B, $53, $55 .BYTE $4D, $20, $4F, $4B, $21, $00, $0D, $3F .BYTE $43, $48, $45, $43, $4B, $53, $55, $4D .BYTE $20, $45, $52, $52, $4F, $52, $00, $0D .BYTE $54, $52, $41, $4E, $53, $46, $45, $52 .BYTE $52, $45, $44, $3A, $20, $00, $30, $31 .BYTE $32, $33, $34, $35, $36, $37, $38, $39 .BYTE $41, $42, $43, $44, $45, $46, $AD, $20 .BYTE $D0, $48, $BA, $86, $FD, $A9, $25, $A0 .BYTE $FE, $20, $F6, $FD, $20, $7B, $FD, $A9 .BYTE $00, $85, $BD, $85, $FE, $A9, $E7, $20 .BYTE $EE, $FE, $A5, $2B, $85, $AC, $85, $FB .BYTE $20, $EE, $FE, $A5, $2C, $85, $AD, $85 .BYTE $FC, $20, $EE, $FE, $A5, $2D, $85, $AE .BYTE $85, $A3, $20, $EE, $FE, $A5, $2E, $85 .BYTE $AF, $85, $A4, $20, $EE, $FE, $A5, $FE .BYTE $20, $EE, $FE, $A9, $00, $85, $BD, $85 .BYTE $FE, $A0, $00, $A2, $34, $86, $01, $B1 .BYTE $AC, $A2, $35, $86, $01, $20, $EE, $FE .BYTE $E6, $AC, $D0, $02, $E6, $AD, $38, $A5 .BYTE $AC, $E5, $AE, $A5, $AD, $E5, $AF, $90 .BYTE $E2, $A5, $FE, $20, $EE, $FE, $A9, $1B .BYTE $8D, $11, $D0, $20, $CC, $FD, $A6, $FD .BYTE $9A, $68, $8D, $20, $D0, $60, $85, $BD .BYTE $8D, $20, $D0, $45, $FE, $85, $FE, $AD .BYTE $00, $DD, $29, $FB, $85, $02, $8D, $00 .BYTE $DD, $A9, $00, $46, $BD, $2A, $2A, $2A .BYTE $05, $02, $EA, $EA, $EA, $8D, $00, $DD .BYTE $A9, $00, $46, $BD, $2A, $2A, $2A, $05 .BYTE $02, $EA, $85, $FF, $8D, $00, $DD, $A9 .BYTE $00, $46, $BD, $2A, $2A, $2A, $05, $02 .BYTE $EA, $EA, $EA, $8D, $00, $DD, $A9, $00 .BYTE $46, $BD, $2A, $2A, $2A, $05, $02, $EA .BYTE $EA, $EA, $8D, $00, $DD, $A9, $00, $46 .BYTE $BD, $2A, $2A, $2A, $05, $02, $EA, $85 .BYTE $FF, $8D, $00, $DD, $A9, $00, $46, $BD .BYTE $2A, $2A, $2A, $05, $02, $EA, $EA, $EA .BYTE $8D, $00, $DD, $A9, $00, $46, $BD, $2A .BYTE $2A, $2A, $05, $02, $EA, $EA, $EA, $8D .BYTE $00, $DD, $A9, $00, $46, $BD, $2A, $2A .BYTE $2A, $05, $02, $EA, $85, $FF, $8D, $00 .BYTE $DD, $A5, $02, $09, $04, $20, $71, $FD .BYTE $8D, $00, $DD, $20, $79, $FD, $20, $79 .BYTE $FD, $20, $79, $FD, $20, $79, $FD, $20 .BYTE $79, $FD, $60 .BYTE $00, $00, $00, $00, $00, $00