1 | ****************************************
|
---|
2 | * BOOT / Menu v2.0 *
|
---|
3 | ****************************************
|
---|
4 |
|
---|
5 | ORG $6200
|
---|
6 |
|
---|
7 | ORCC #80 stop interruptions
|
---|
8 | LDS #$60CC init. pile système
|
---|
9 | CLR >$60D1 application = none
|
---|
10 | LDX #$6300 charge le menu
|
---|
11 | LDY #$0002
|
---|
12 | LDD #$0100 (secteur 00.02)
|
---|
13 | BSR DISK
|
---|
14 | BRA RSTART
|
---|
15 | FCC "HCL Boot"
|
---|
16 | RSTART LDU #$6300
|
---|
17 | PRINT LDB ,U+ et l'affiche
|
---|
18 | JSR $E803
|
---|
19 | BNE PRINT
|
---|
20 |
|
---|
21 | GETKEY JSR $E806
|
---|
22 | CMPB #'0 première option
|
---|
23 | BLO GETKEY
|
---|
24 | LBEQ NOBOOT retour au BASIC
|
---|
25 | CMPB $62FF dernière option
|
---|
26 | BHI GETKEY
|
---|
27 | LDX #$6280-8*'1
|
---|
28 | LDA #8
|
---|
29 | MUL
|
---|
30 | LEAX D,X
|
---|
31 | LDY ,X++ Piste - Secteur
|
---|
32 | LDD ,X++ Nb secteurs - Face
|
---|
33 | LDU ,X++ Adresse exécution
|
---|
34 | LDX ,X Adresse de début
|
---|
35 | STU LEAVE+1
|
---|
36 | BSR DISK chargement ...
|
---|
37 | LEAVE JSR >0000 ... et exécution
|
---|
38 | BRA RSTART
|
---|
39 |
|
---|
40 | DISK LDU #$6048
|
---|
41 | STB 1,U face : B
|
---|
42 | LDB #2
|
---|
43 | STB ,U
|
---|
44 | STY 3,U piste.secteur : Y
|
---|
45 | STX 7,U buffer : X
|
---|
46 | LDB 4,U secteur -> B
|
---|
47 | CHARGE JSR $E004
|
---|
48 | CMPB #16 fin piste ?
|
---|
49 | BNE NXTSEC
|
---|
50 | INC 3,U
|
---|
51 | CLRB
|
---|
52 | NXTSEC INCB
|
---|
53 | STB 4,U
|
---|
54 | INC 7,U
|
---|
55 | DECA
|
---|
56 | BNE CHARGE
|
---|
57 | RTS
|
---|
58 |
|
---|
59 | ****************************************
|
---|
60 | * Valeur-test: "BASIC2.." complémenté: *
|
---|
61 | ****************************************
|
---|
62 |
|
---|
63 | FDB $BEBF,$ADB7,$BDCE,$0000
|
---|
64 |
|
---|
65 | ****************************************
|
---|
66 | * Définition d'un programme (8 octets) *
|
---|
67 | * *
|
---|
68 | * Piste - Secteur *
|
---|
69 | * Nombre de secteurs - Face *
|
---|
70 | * Adresse d'exécution *
|
---|
71 | * Adresse de début *
|
---|
72 | ****************************************
|
---|
73 |
|
---|
74 | FDB $0001,$2301,$93F7,$7200
|
---|
75 | FDB $0204,$0101,$6442,$6400
|
---|
76 | FDB $0605,$0701,$9000,$9000
|
---|
77 | FDB $060C,$0101,$6300,$6300
|
---|
78 | FDB 0,0,0,0,0,0,0,0
|
---|
79 | FDB 0,0,0,0,0,0,0,0
|
---|
80 | FDB 0,0,0,0,0,0,0,0
|
---|
81 | FDB 0,0,0,0,0,0,0,0
|
---|
82 |
|
---|
83 | ORG $62E0
|
---|
84 | NOBOOT CLR >0
|
---|
85 | JSR $2B42
|
---|
86 | LDS #$9FFF
|
---|
87 | CLR >1
|
---|
88 | JSR $193
|
---|
89 | COM <$31
|
---|
90 | STS $6C43
|
---|
91 | CLR >0
|
---|
92 | JSR $2D00
|
---|
93 | JMP $2B74
|
---|
94 |
|
---|
95 | FCB '4 dernière option
|
---|
96 |
|
---|
97 | END
|
---|