
;Lees BootBlock, check checksum, check dosdisk en execute bootblock
 
;Start op $fe88d6

fe89e8:337c move.w  #$0002,28(A1)
fe89ee:237c move.l  #$00000400,36(A1)
fe89f6:234c move.l  A4,40(A1)
fe89fa:237c move.l  #$00000000,44(A1)
fe8a02:4eae jsr     -456(A6)
fe8a06:4a80 tst.l   D0
fe8a08:6652 bne.s   $fe8a5c
fe8a0a:2014 move.l  (A4),D0
fe8a0c:4ef9 jmp     $fc3254 	;Aanpassing door HQC
				;Orgineel  cmp.l -334(pc)(=$fe88c0),d0
				;	   bne.s $fe8a5c	
fe8a12:204c move.l  A4,A0
fe8a14:323c move.w  #$00ff,D1
fe8a18:7000 moveq   #$00,D0
fe8a1a:d098 add.l   (A0)+,D0

;In deze routine wordt ook naar het copieer programma gesprongen


;Aanpassing door HQC

fc3254:4ef9 jmp     $fc22f0
fc325a:6610 bne.s   $fc326c
fc325c:0cac cmpi.l  #$0007ec00,18(A4)	;is BootBlock SCA-Virus
fc3264:674e beq.s   $fc32b4		;Ja, Alert
fc3266:4ef9 jmp     $fe8a12

Rest wordt niet gebruikt ????



fc22f0:23cd move.l  A5,$02fffc		;A5 -> IoRequest
fc22f6:06b9 addi.l  #$0000002c,$02fffc
fc2300:23cc move.l  A4,$02fff8		;A4 -> Start BootBlock
fc2306:0cac cmpi.l  #$48514320,4(A4)	;Is checksum 'HQC '
fc230e:6700 beq.l   $fc265e		;JA
fc2312:0c80 cmpi.l  #$444f5300,D0	;Is BootBlockType 'Dos '
fc2318:6618 bne.s   $fc2332		;nee
fc231a:0cac cmpi.l  #$0007ec00,18(A4)	;Bevat BootBlock SCA-Virus
fc2322:675a beq.s   $fc237e		;Ja, Alert SCA-Virus
fc2324:0c6c cmpi.w  #$4afc,368(A4)	;Bevat BootBlock ByteBandit
fc232a:6700 beq.l   $fc23a6		;Ja, Alert ByteBandit 
fc232e:6000 bra.l   $fc26bc		:Else, Verder met booten 
fc2332:0c80 cmpi.l  #$4b49434b,D0	;Is BootBlockType 'KICK'
fc2338:6706 beq.s   $fc2340		;Ja kickstart
fc233a:4ef9 jmp     $fe8a5c		;Ga verder met Booten

;Kickstart-disk ontdekt

fc2340:48e7 movem.l A6-A0/D7-D0,-(A7)	;
fc2344:6100 bsr.l   $fc2466		;Open intuition.library
fc2348:6718 beq.s   $fc2362		;Stop bij een fout
fc234a:4280 clr.l   D0			;Alert nummer
fc234c:223c move.l  #$000000c8,D1	;Alert hoogte
fc2352:41fa lea     376(PC)(=$fc24cc),A0;Kick-start disk
fc2356:4eae jsr     -90(A6)		;Display alert
fc235a:4a00 tst.b   D0			;
fc235c:670e beq.s   $fc236c		;RechterMuis-toets ingedrukt reset
fc235e:6100 bsr.l   $fc2478		;Close library
fc2362:4cdf movem.l (A7)+,A6-A0/D7-D0	;Registers terug zetten
fc2366:4ef9 jmp     $fe8a5c		;Verder booten
fc236c:4cdf movem.l (A7)+,A6-A0/D7-D0	;Registers terug zetten
fc2370:33fc move.w  #$4000,$dff09a	;Interupts uitezetten
fc2378:4ef9 jmp     $f800d2		;Reset (Werkt niet goed)

;SCA Virus ontdekt

fc237e:48e7 movem.l A6-A0/D7-D0,-(A7)
fc2382:6100 bsr.l   $fc2466		;Open intuition.library
fc2386:671a beq.s   $fc23a2		;Als Fout Stoppen
fc2388:4280 clr.l   D0			;Alert nummer
fc238a:41fa lea     412(PC)(=$fc2528),A0;A0-> SCA-Virus .. ENZ.
fc238e:223c move.l  #$000000c8,D1	:Alert Hoogte
fc2394:4eae jsr     -90(A6)		;Alert SCA-Virus
fc2398:4a00 tst.b   D0
fc239a:6602 bne.s   $fc239e		;Linker Muis-toets niets doen
fc239c:6134 bsr.s   $fc23d2
fc239e:6100 bsr.l   $fc2478		;Close intuition.library
fc23a2:6000 bra.l   $fc26b8		;Afsluiten en verder booten

;Byte Bandit ontdekt

fc23a6:48e7 movem.l A6-A0/D7-D0,-(A7)
fc23aa:6100 bsr.l   $fc2436		;Nieuw bootblock in chip-mem zetten
fc23ae:6100 bsr.l   $fc2466		;Open intuition.library
fc23b2:671a beq.s   $fc23ce		;Als Fout Stoppen
fc23b4:4280 clr.l   D0			;Alert nummer
fc23b6:41fa lea     472(PC)(=$fc2590),A0;A0->Tekst Alert
fc23ba:223c move.l  #$000000c8,D1	;Alert Hoogte
fc23c0:4eae jsr     -90(A6)		;Alert ByteBandit virus
fc23c4:4a00 tst.b   D0			;
fc23c6:6602 bne.s   $fc23ca		;Linker muis toest-> niets doen
fc23c8:6108 bsr.s   $fc23d2		;Nieuw bootblock in chip-mem zetten
fc23ca:6100 bsr.l   $fc2478		;Close intuition.library
fc23ce:6000 bra.l   $fc26b8		;Afsluiten en verder booten


fc23d2:6162 bsr.s   $fc2436		;Nieuw BootBlock in Chip-mem zetten
fc23d4:2279 move.l  $02fffc,A1		;Haal IORequest op en zet deze in A1
fc23da:337c move.w  #$0003,28(A1)	;Write Commando in IoRequest
fc23e0:237c move.l  #$00000400,36(A1)	;BootBlock lengte in IoRequest
fc23e8:2379 move.l  $02fff8,40(A1)	;Begin nieuw BootBlock
fc23f0:42a9 clr.l   44(A1)		;Adres op Disk
fc23f4:2c78 move.l  $0004,A6		;A6->ExecBase
fc23f8:4eae jsr     -456(A6)		;DoIO
fc23fc:2279 move.l  $02fffc,A1		
fc2402:337c move.w  #$0004,28(A1)	;Update Commando
fc2408:237c move.l  #$00000400,36(A1)	;
fc2410:2379 move.l  $02fff8,40(A1)	;
fc2418:42a9 clr.l   44(A1)
fc241c:4eae jsr     -456(A6)		;DoIO
fc2420:4a80 tst.l   D0			;Gelukt ?
fc2422:6602 bne.s   $fc2426		;Nee, Scherm rood
fc2424:6010 bra.s   $fc2436		;Ja Continue
fc2426:3e3c move.w  #$8000,D7		
fc242a:33fc move.w  #$0f00,$dff180	;Scherm rood maken
fc2432:51cf dbf     D7,$fc242a		;8000 keer
fc2436:2879 move.l  $02fff8,A4		
fc243c:3e3c move.w  #$03ff,D7	;Oude BootBlock wissen
fc2440:421c clr.b   (A4)+	;
fc2442:51cf dbf     D7,$fc2440	;
fc2446:2879 move.l  $02fff8,A4	;Plaats Nieuw BootBlock in geheugen
fc244c:41fa lea     54(PC)(=$fc2484),A0 ;A0->Nieuwe BootBlock
fc2450:303c move.w  #$0034,D0	;
fc2454:18d8 move.b  (A0)+,(A4)+	;Nieuw bootBlock copieren naar Chip-mem
fc2456:51c8 dbf     D0,$fc2454	;
fc245a:2879 move.l  $02fff8,A4	;
fc2460:426c clr.w   368(A4)	;?? Voor de zekerheid ByteBandit killen
fc2464:4e75 rts			;Return
fc2466:2c78 move.l  $0004,A6
fc246a:43fa lea     76(PC)(=$fc24b8),A1 ;Intuition.librayr
fc246e:4eae jsr     -408(A6)		;OpenOldLibrary
fc2472:2c40 move.l  D0,A6		
fc2474:4a80 tst.l   D0
fc2476:4e75 rts
fc2478:224e move.l  A6,A1
fc247a:2c78 move.l  $0004,A6
fc247e:4eae jsr     -414(A6)		;CloseLibrary
fc2482:4e75 rts
fc2484: 444f 5300 5720 0f19 0000 0370 43fa 0018 DOS.W .....pC...
fc2494: 4eae ffa0 4a80 670a 2040 2068 0016 7000 N...J.g. @ h..p.
fc24a4: 4e75 70ff 60fa 646f 732e 6c69 6272 6172 Nup.`.dos.librar
fc24b4: 7900 0000 696e 7475 6974 696f 6e2e 6c69 y...intuition.li
fc24c4: 6272 6172 7900 0000 003a 5a54 6869 7320 brary....:ZThis 
fc24d4: 6973 2061 206b 6963 6b73 7461 7274 2d64 is a kickstart-d
fc24e4: 6973 6b21 2120 5072 6573 7320 7269 6768 isk!! Press righ
fc24f4: 7420 6d6f 7573 6520 6275 7474 6f6e 2074 t mouse button t
fc2504: 6f20 0001 00b8 656c 6f61 6420 6974 2e20 o ....eload it. 
fc2514: 286b 6963 6b73 7461 7274 2d72 6573 6574 (kickstart-reset
fc2524: 2900 0000 004a 5a57 6172 6e69 6e67 3a20 )....JZWarning: 
fc2534: 5468 6973 2064 6973 6b20 6973 2069 6e66 This disk is inf
fc2544: 6563 7465 6420 6279 2074 6865 2053 4341 ected by the SCA
fc2554: 2076 6972 7573 2100 0100 6a65 546f 2072  virus!...jeTo r
fc2564: 656d 6f76 6520 7468 6520 7669 7275 7320 emove the virus 
fc2574: 2070 7265 7373 2072 6967 6874 206d 6f75  press right mou
fc2584: 7365 2d62 7574 746f 6e2e 0000 0038 5a57 se-button....8ZW
fc2594: 6172 6e69 6e67 3a20 5468 6973 2064 6973 arning: This dis
fc25a4: 6b20 6973 2069 6e66 6563 7465 6420 6279 k is infected by
fc25b4: 2074 6865 2042 7974 6542 616e 6469 7420  the ByteBandit 
fc25c4: 7669 7275 7321 0001 0062 6554 6f20 7265 virus!...beTo re
fc25d4: 6d6f 7665 2074 6865 2076 6972 7573 2020 move the virus  
fc25e4: 7072 6573 7320 7269 6768 7420 6d6f 7573 press right mous
fc25f4: 652d 6275 7474 6f6e 0000 41f9 00df f000 e-button..A.....
fc25fe:41f9 lea     $dff000,A0
	|
	|
	V
fc261c:4e71 nop
fc261e:4e71 nop
fc2620:4e71 nop
fc2622:4e75 rts
fc2624:4e71 nop
	|
	|
	V
fc2658:4e71 nop
fc265a:4e71 nop
fc265c:4e75 rts

;HQC-KickStart ontdekt

fc265e:48e7 movem.l A6-A0/D7-D0,-(A7)
fc2662:2279 move.l  $02fffc,A1
fc2668:337c move.w  #$0002,28(A1)	;Commando is Read
fc266e:237c move.l  #$0001b800,36(A1)	;Lees $1b800 bytes in
fc2676:237c move.l  #$00056100,40(A1)	;Inlezen op adres $56100
fc267e:237c move.l  #$00044c00,44(A1)	;Lezen op disk vanaf byte $44c00
fc2686:2c78 move.l  $0004,A6
fc268a:4eae jsr     -456(A6)		;DoIO
fc268e:4eb9 jsr     $056100		;Spring naar HQC-kick scherm
fc2694:237c move.l  #$00016000,36(A1)	;Aantal bytes is $16000
fc269c:237c move.l  #$00032000,40(A1)	;Op adres $32000
fc26a4:237c move.l  #$00089800,44(A1)	;Disk adres $89800
fc26ac:4eae jsr     -456(A6)		;DoIO
fc26b0:4eb9 jsr     $032000		;Voer intro uit
fc26b6:4e71 nop
fc26b8:4cdf movem.l (A7)+,A6-A0/D7-D0	;Registers terug zetten
fc26bc:4ef9 jmp     $fe8a12		;Verder gaan met het orginele booten

fc26c2:48e7 movem.l A6-A0/D7-D0,-(A7)	;Kopieeren ??
fc26c6:4240 clr.w   D0
fc26c8:1039 move.b  $bfec01,D0
fc26ce:4600 not.b   D0
fc26d0:e240 asr.w   #1,D0
fc26d2:6402 bcc.s   $fc26d6
fc26d4:4240 clr.w   D0
fc26d6:0c40 cmpi.w  #$0059,D0
fc26da:661a bne.s   $fc26f6		;F10 is niet ingedrukt 
fc26dc:41fa lea     44(PC)(=$fc270a),A0	;
fc26e0:43f9 lea     $06e000,A1		;
fc26e6:3e3c move.w  #$064b,D7		;Copieer programma kopieren naar
fc26ea:12d8 move.b  (A0)+,(A1)+		;$6e000
fc26ec:51cf dbf     D7,$fc26ea
fc26f0:4eb9 jsr     $06e000		;Spring naar copieer porgramma
fc26f6:4cdf movem.l (A7)+,A6-A0/D7-D0	;Stop. Registers terug zetten
fc26fa:43ed lea     44(A5),A1		;
fc26fe:337c move.w  #$000d,28(A1)
fc2704:4ef9 jmp     $fe8a8e		;Terug naar boot programma

;Copieer programma

fc270a:48e7 movem.l A6-A0/D7-D0,-(A7)
fc270e:2c79 move.l  $000004,A6
fc2714:4eae jsr     -132(A6)		;Forbid
fc2718:43fa lea     610(PC)(=$fc297c),A1;A1-> graphics.library
fc271c:4eae jsr     -408(A6)		;OpenOldLibrary
fc2720:2c40 move.l  D0,A6		
fc2722:23c0 move.l  D0,$06e26e		;GfxBase -> $6e26e
fc2728:207c move.l  #$0007f000,A0	;A0 = BitMap
fc272e:203c move.l  #$00000001,D0	;D0 = Depth
fc2734:223c move.l  #$00000140,D1	;D1 = Width
fc273a:243c move.l  #$000000c8,D2	;D2 = Height
fc2740:2c79 move.l  $06e26e,A6		;A6->GfxBase
fc2746:4eae jsr     -390(A6)		;InitBitMap
fc274a:23fc move.l  #$0007a000,$07f008	
fc2754:227c move.l  #$0007f100,A1
fc275a:4eae jsr     -198(A6)		;InitRastPort
fc275e:23fc move.l  #$0007f000,$07f104
fc2768:4eae jsr     -48(A6)		;ClearScreen
fc276c:43f9 lea     $07f100,A1
fc2772:41f9 lea     $06e630,A0
fc2778:2c79 move.l  $06e26e,A6
fc277e:4eae jsr     -72(A6)		;OpenFont
fc2782:23c0 move.l  D0,$06e644
fc2788:43f9 lea     $07f100,A1
fc278e:2040 move.l  D0,A0
fc2790:4eae jsr     -66(A6)		;SetFont
fc2794:227c move.l  #$0007f100,A1	;A1 = Rastport
fc279a:337c move.w  #$0044,36(A1)
fc27a0:337c move.w  #$0028,38(A1)
fc27a6:41fa lea     427(PC)(=$fc2953),A0;A0 = Text 
fc27aa:2c79 move.l  $06e26e,A6		;
fc27b0:203c move.l  #$00000015,D0	;D0 = lengte
fc27b6:4eae jsr     -60(A6)		;Text
fc27ba:227c move.l  #$0007f100,A1
fc27c0:337c move.w  #$0000,36(A1)
fc27c6:337c move.w  #$008c,38(A1)
fc27cc:41fa lea     319(PC)(=$fc290d),A0
fc27d0:2c79 move.l  $06e26e,A6
fc27d6:203c move.l  #$00000028,D0
fc27dc:4eae jsr     -60(A6)		;Text
fc27e0:227c move.l  #$0007f100,A1
fc27e6:337c move.w  #$0038,36(A1)
fc27ec:337c move.w  #$0096,38(A1)
fc27f2:41fa lea     321(PC)(=$fc2935),A0
fc27f6:2c79 move.l  $06e26e,A6
fc27fc:203c move.l  #$0000001e,D0
fc2802:4eae jsr     -60(A6)		;Text
fc2806:227c move.l  #$0007f100,A1
fc280c:337c move.w  #$0073,36(A1)
fc2812:337c move.w  #$00a0,38(A1)
fc2818:41fa lea     334(PC)(=$fc2968),A0
fc281c:2c79 move.l  $06e26e,A6
fc2822:203c move.l  #$0000000b,D0
fc2828:4eae jsr     -60(A6)		;Text
fc282c:204e move.l  A6,A0
fc282e:23e8 move.l  50(A0),$06e26a
fc2836:217c move.l  #$0006e284,50(A0)

fc283e:227c move.l  #$0007f100,A1
fc2844:337c move.w  #$003e,36(A1)
fc284a:337c move.w  #$005f,38(A1)
fc2850:41fa lea     164(PC)(=$fc28f6),A0
fc2854:2c79 move.l  $06e26e,A6
fc285a:203c move.l  #$00000017,D0
fc2860:4eae jsr     -60(A6)		;Text
fc2864:1039 move.b  $bfec01,D0
fc286a:4880 ext.w   D0
fc286c:4600 not.b   D0
fc286e:e240 asr.w   #1,D0
fc2870:6402 bcc.s   $fc2874
fc2872:4240 clr.w   D0
fc2874:0c40 cmpi.w  #$0045,D0		;Esc toets ingedrukt
fc2878:674a beq.s   $fc28c4		;Stop
fc287a:0839 btst    #6,$bfe001		;Test linkerMuisKnop
fc2882:6700 beq.l   $fc29d2		;Ja start copieeren
fc2886:0839 btst    #2,$dff016		;Test RechterMuisKnop
fc288e:66ae bne.s   $fc283e		;Nee, Verander dest & source 
fc2890:41f9 lea     $06e648,A0		
fc2896:43f9 lea     $06e64a,A1
fc289c:3010 move.w  (A0),D0
fc289e:3091 move.w  (A1),(A0)
fc28a0:3280 move.w  D0,(A1)
fc28a2:41f9 lea     $06e1f3,A0
fc28a8:43f9 lea     $06e202,A1
fc28ae:1010 move.b  (A0),D0
fc28b0:1091 move.b  (A1),(A0)
fc28b2:1280 move.b  D0,(A1)
fc28b4:2e3c move.l  #$ffffffff,D7	;Wachten
fc28ba:4e71 nop
fc28bc:51cf dbf     D7,$fc28ba
fc28c0:6000 bra.l   $fc283e		;Nog een copie ????
fc28c4:2c79 move.l  $06e26e,A6
fc28ca:2279 move.l  $06e644,A1
fc28d0:4eae jsr     -78(A6)		;CloseFont
fc28d4:2c79 move.l  $000004,A6
fc28da:2279 move.l  $06e26e,A1		;Graphic.library
fc28e0:2379 move.l  $06e26a,50(A1)
fc28e8:4eae jsr     -414(A6)		;CloseLibrary
fc28ec:4eae jsr     -138(A6)		;Permit
fc28f0:4cdf movem.l (A7)+,A6-A0/D7-D0	;
fc28f4:4e75 rts				;Stoppe
fc28f6: 534f 5552 4345 3a30 2020 4445 5354 494e SOURCE:0  DESTIN
fc2906: 4154 494f 4e3a 3150 7265 7373 2072 6967 ATION:1Press rig
fc2916: 6874 206d 6f75 7365 6275 7474 6f6e 2074 ht mousebutton t
fc2926: 6f20 6368 616e 6765 2064 7269 7665 736c o change drivesl
fc2936: 6566 7420 6d6f 7573 6562 7574 746f 6e20 eft mousebutton 
fc2946: 746f 2073 7461 7274 2063 6f70 7948 5143 to start copyHQC
fc2956: 2d4b 6963 6b66 6173 7463 6f70 7920 5631 -Kickfastcopy V1
fc2966: 2e32 4553 4320 746f 2065 7869 7400 0000 .2ESC to exit...
fc2976: 0000 0000 0000 6772 6170 6869 6373 2e6c ......graphics.l
fc2986: 6962 7261 7279 0000 00e0 0007 00e2 a000 ibrary..........
fc2996: 0094 00d0 0092 0038 008e 2c81 0090 f4c1 .......8..,.....
fc29a6: 0100 1200 0108 0000 0102 0000 0108 0000 ................
fc29b6: 0180 0000 0182 00f0 7009 fffe 0182 00f0 ........p.......
fc29c6: a009 fffe 0182 00f0 ffff fffe 2c78 0004 ............,x..
fc29d6: 4279 0006 e2ba 4279 00df f062 4279 00df By....By...bBy..
fc29e6: f066 4279 00df f042 33fc 05cc 00df f040 .fBy...B3......@

;Stuk reset routine


fc013e:43fa lea     1140(PC)(=$fc05b4),A1
fc0142:20c9 move.l  A1,(A0)+
fc0144:51c9 dbf     D1,$fc0142
fc0148:6000 bra.l   $fc30c4
fc014c:6000 bra.l   $fc006a	;HQC-aanpassing. Org: move.l $0004,d0
fc0150:0800 btst    #0,D0
fc0154:6678 bne.s   $fc01ce
fc0156:2c40 move.l  D0,A6
fc0158:d0ae add.l   38(A6),D0
fc015c:4680 not.l   D0
fc015e:666e bne.s   $fc01ce

fc0500:41fa lea     -30(PC)(=$fc04e4),A0
fc0504:6100 bsr.l   $fc0900
fc0508:6000 bra.l   $fc0040	;HQC-aanpassing. Org: move.l d0,300(a6)
fc050c:08b9 bclr    #1,$bfe001
fc0514:202e move.l  46(A6),D0
fc0518:6004 bra.s   $fc051e
fc051a:2040 move.l  D0,A0
fc051c:4e90 jsr     (A0)
fc051e:7001 moveq   #$01,D0
fc0520:7200 moveq   #$00,D1


;Boot van externe drive

fc001c:48e7 movem.l A2-A0,-(A7)		;Zet a0-a2 op stack
fc0020:43f9 lea     $fe88c4,A1		;a1->Trackdisk.device
fc0026:b308 cmpm.b  (A1)+,(A0)+		;
fc0028:660a bne.s   $fc0034		;Niet gelijk
fc002a:4a28 tst.b   -1(A0)		;
fc002e:66f6 bne.s   $fc0026		;Test tot afsluiter
fc0030:0a00 eori.b  #$01,D0		;Wissel drive om
fc0034:4cdf movem.l (A7)+,A2-A0		;Zet registers terug

fc0038:2f0a move.l  A2,-(A7)		;
fc003a:2449 move.l  A1,A2
fc003c:6000 bra.l   $fc066a		;Terug naar reset routine

fc0040:2d40 move.l  D0,300(A6)		;Weggehaalde instruktie uitvoeren
fc0044:2f08 move.l  A0,-(A7)		;A0 op stack zetten
fc0046:41f8 lea     $08a4,A0		;a0->$8a4 (ExecBaseReserved)
fc004a:30fc move.w  #$4ef9,(A0)+	;Move 'JMP' naar $8a4	
fc004e:20bc move.l  #$00fc001c,(A0)	;Move 'FC001C' naar $8a4+2
fc0054:0839 btst    #6,$bfe001		;Is linker muisknop ingedrukt
fc005c:6706 beq.s   $fc0064		;ja, ga naar a0 van stack halen
fc005e:20bc move.l  #$00fc0038,(A0)	;Move 'FC0038' naar $8a4+2
fc0064:205f move.l  (A7)+,A0		;a0 van stack halen
fc0066:6000 bra.l   $fc050c		;Terug naar reset programma

fc006a:13fc move.b  #$0c,$dff034	;Potgo ?????
fc0072:303c move.w  #$1000,D0
fc0076:51c8 dbf     D0,$fc0076		;Loopje
fc007a:2038 move.l  $0004,D0		;Voer orginele instruktie uit
fc007e:0839 btst    #2,$dff016		;Pot.port data read
fc0086:6700 beq.l   $fc0150		;Verder met orginele programma
fc008a:6000 bra.l   $fc01ce		;ExecBase klopt niet

