LST OFF ********************** * * * COMMUTEUR DOS/CMD * * (C)1989 BY DECKARD * * * ********************** * * $300-$3CF DISPO ; MACROCMD EQU $803 ; DEBUT TRAITEMENT & DE CMD ETAT EQU $1FF1 COPY_OBJ EQU $803 ; ADR EN AUX RETOUR_OBJ EQU $1009 ; ADR EN PRINC COPY_MONS EQU $896 ; ADR EN AUX RETOUR_MONS EQU $4006 ; ADR EN PRINC COPY_MACRO EQU $85D ; ADR EN AUX COPY_ECHOPE EQU $13B5 ; ADR EN AUX ORG $300 ; LDA #$20 ; PAS D'HGR DIRECT STA $E6 LDA #USR STA $0C ; HIGH LST ON RETOUR_MACRO RTS ; ADR EN PRINC LST OFF ; USR JSR $E10C LDA $A1 BEQ FOLLOW ; CONNECTE LE RDOS ; CMP #$01 BEQ FOLLOW2 ; CONNECTE CMD ; APPELE POUR CHANGER OUTPUT CMP #$02 BNE FOLLOW3 ; =2 APPELE POUR FORCER L'ETAT A 0 LDA #$00 STA ETAT RTS ; =3 APPELE POUR FORCER L'ETAT A 1 FOLLOW3 LDA #$01 STA ETAT RTS ; =1 POUR CMD FOLLOW2 LDA #MACROCMD JMP GO ; =0 POUR RDOS FOLLOW LDA #$00 LDX #$B4 ; $B400 ENTREE RDOS ; GO STA $3F6 ; LOW STX $3F7 ; HIGH RTS LST ON QUART DFB 1 ; NATURE DU LIEU (0=DONJON/1=EXTERIEUR) NMAP DFB 1 ; NO DE LA NOUVELLE CARTE (ICI CARTE 2) OMAP DFB 1 ; OLD MAP (SERT POUR LE &DEL) MONSTRE DFB 0 CMD DFB 0 LIEU DFB 0 COPYLIEU DFB 0 PROBA DFB 0 PCOMB DFB 0 ; POURCENTAGE DE PRESENCE DU MONSTRE MBUTE DFB 0 ; MONSTRE TUE=1/MONSTRE VIVANT=0 DIVERS DFB 0 NATURE DFB 0 POURCENT DFB 5,15,100 LST OFF ******************************** LST ON * RETOUR DE MEMOIRE AUXILIAIRE STRING DS 17,0 ; CHAINE DE CARACTERES+00 VALS DS 70,0 ; NOMBRES DIVERS ******************************** * PASSAGE EN AUX * X=CMD/Y=ARGUMENT SWAP_AUX LDA #0 LST OFF STA $C008 ; PILE ET PAGE 0 PRINC STA $C000 ; USE RAMRD/RAMWRT STA $C003 ; LIRE EN AUX -> PASSE EN AUX DIRECT * RETOUR D'AUX STA $C004 ; ECRIRE EN PRINC TXA ; NUMERO DE CMD DANS ACC ASL A ; *2 POUR DA TAX LDA RAM_ADR,X ; LOW STA $EC INX LDA RAM_ADR,X ; HIGH STA $ED JMP ($00EC) ; SAUTE A L'ADR INDIQUEE RAM_ADR DA COPY_OBJ DA RETOUR_OBJ DA COPY_MONS DA RETOUR_MONS DA COPY_MACRO DA RETOUR_MACRO DA COPY_ECHOPE SAV USER.COMMUT2