Function ROM Lo Source
Suche
Index
FAQ
Kontakt
Zurück
; Plus/4 function rom lo
;             
;
; Disassembly by M. Sachse
; 16.02.2017
;
; 
; converted to "easy to use" code
; Compiler: ACME

!to"funcrom.crt",plain
*=$8000
       jmp init
       jmp start
!by $0c,$43,$42,$4d     ; module-nr., "CBM"
!scr "SYS1525: MYTOOL " ; replace module-name
!by $00,$20,$20,$20
!scr " MYTOOL  ON KEY F"; replace module-name
!by $00,$20
copybytes:
       ldx #$05
       lda #$80            ; cart_start hi
       sta $05F1                    
       lda #$03            ; cart_start lo  ; $8003
       sta $05F0
       sta $05F4
       lda $FB
       jmp $FCFA           ; ->$fc89 longjump
init:  ldy #$00
       sty $D9
       lda $FB
       sta $7FFF
       and #$03
       tax
       sta $FDD0,X          ; banking
       cmp #$01
       beq +
       iny
       lda $055F
       sta $D9
+      sty $D8
       tya
       beq +
       ldy #$35
+      ldx #$00
-      lda copybytes,X
       sta $05F5,Y
       iny
       inx
       cpx #$14
       bcc -
L_8072:ldx $D8
       lda #$12
       cmp $055F,X
       beq L_80A1
       bcc L_8090
       ldy #$7E
-      lda $0567,Y
       sta $0568,Y
       dey
       cpy $D9
       bpl -
       inc $055F,X
       jmp L_8072
L_8090:ldy $D9
-      lda $0568,Y
       sta $0567,Y
       iny
       bpl -
       dec $055F,X
       jmp L_8072
L_80A1:ldx $D9
       ldy #$00
-      lda $800A,Y         ; get "SYS1525: mytool  "
       sta $0567,X
       inx
       iny
       cpy #$12
       bcc -
       ldx $D8
       beq +
       ldy $D9
       lda #$37
       sta $056C,Y
       lda #$38
       sta $056D,Y
       lda $FB
       sta $062B
+      ldx #$00
-      lda $801D,X         ; get  " mytool ON KEY F "
       beq +
       jsr $FFD2
       inx
       bne -
+      lda $D8
       clc
       adc #$31
       jsr $FFD2           ; print F-key number                    
       lda #$0D
       jmp $FFD2           ; cr  
start:
       sei
       ldx #$FF
       txs
       cli
       nop  
       nop
       nop
       nop  
       nop
       nop
       nop
;       lda $FF06         ; switch blank: 2 Mhz
;       and #$EF
;       sta $FF06         ; useful for speedy copy


;       place for your code
;
-      inc $ff19           ; frame color-rotation
;
;
;       lda $FF06         ; screen on         
;       ora #$10
;       sta $FF06
       jmp -


;endmarker 
*=$bfff 
!by $00

 

Letzte Änderung: 2019-01-03 11:15:40
  Rubrik:  C16
Rubriken-Übersicht
 95 Besucher online 

Valid XHTML 1.0 Transitional Valid CSS!