CODINGSOURCES ★ Coding source &003 ★

Test CRTC par Longshot/Logon SystemCoding Sources

Test du CRTC par Longshot / Logon System

;
;
; LOGON SYSTEM 1991
;
; WARNING !!! CE TEST ENCLENCHE LA ROM BASSE !!!
; DONC EN SORTANT,IL FAUT LA DECLENCHER ET IL
; FAUT ABSOLUMENT QUE CE TEST CE TROUVE EN MéMOIRE
; HAUTE > #8000 !!!! IMPERATIVEMENT (CPC+)
; Poser EI RET en #0038 !!!
;
; TEST CRTC V1.1 (13.04.1991) by LONGSHOT.
; valeur en #BF00
;
; 0 - HD6845SP
; 1 - MOTOROLA 6845
; 2 - MOTOROLA 6845 S (REG2 49Max)
; 3 - ASIC (PLUS)
; 4 - GATE ARRAY (ERSATZ PLUS)
;
ORG #A000
SCREEN EQU #C000+12
DI
LD BC,#7F10
OUT (C),C
LD A,84
OUT (C),A
LD C,0
OUT (C),C
OUT (C),A
LD A,75
INC C
OUT (C),C
OUT (C),A
LD HL,(#0038)
LD HL,#C9FB
LD (#0038),HL
;
CALL TESTCRT
LD (#BF00),A ; SAUVE RESULTAT
;
LD BC,#7F8E ; DECONNECTE ROMS
OUT (C),C
LD BC,#BC0C
OUT (C),C
LD BC,#BD30
OUT (C),C
LD BC,#BC0D
OUT (C),C
LD BC,#BD00
OUT (C),C
JP CONTROL
;
TESTCRT
DI
LD E,17
LD HL,TABASIC
LD BC,#BC00
SASIC
LD A,(HL)
OUT (C),A
INC HL
DEC E
JR NZ,SASIC
LD BC,#7FC0
OUT (C),C
LD HL,#4000
LD DE,#B8A0
LD A,123
LD (HL),A
OUT (C),D
XOR A
LD (HL),A
OUT (C),E
LD A,(HL)
OR A
LD A,3 ; RETURN ASIC CRTC type 3
RET NZ
;
LD B,#F5 ; Wait Sync
VS
IN A,(C)
RRA
JP NC,VS
VS1
IN A,(C) ; Pre-Synchronisation 23.02.92
RRA
JP C,VS1
VS2
IN A,(C)
RRA
JP NC,VS2
EI ; Wait 1/300eme sec
HALT
LD HL,75 ; + 449 usec
WAIT
DEC HL
LD A,H
OR L
JP NZ,WAIT
IN A,(C) ; Sync Valide ?
RRA
JP C,TYPES12 ; Non
;
; Type 0 ou 4 ?
;
LD BC,#BC00+12
OUT (C),C
LD DE,#2829
INC B
OUT (C),E
INC B
IN A,(C)
CP E
PUSH AF
DEC B
OUT (C),D
POP AF
JR NZ,TYPE0
LD A,4 ; CRTC type 4
RET
TYPE0
XOR A ; CRTC type 0
RET
TYPES12
HALT
HALT
HALT
DI
VS3
IN A,(C)
RRA
JP NC,VS3
LD BC,#BC00+2 ; Overflow Reg 2
OUT (C),C
LD BC,#BD00+50
OUT (C),C
EI
HALT ; Wait Next Sync 6x1/300eme
HALT
HALT
HALT
HALT
HALT
HALT
LD B,#F5
IN A,(C) ; Sync Ok ?
RRA
LD BC,#BD00+46
OUT (C),C
JP NC,TYPE2
LD A,1 ; CRTC type 1
RET
TYPE2
LD A,2 ; CRTC type 2
RET
;
CONTROL
DI
LD HL,#C000
LD DE,#C001
LD BC,(#3FFF)
LD (HL),L
LDIR
;
;
LD A,(#BF00)
LD L,A
LD H,0
ADD HL,HL
ADD HL,HL
ADD HL,HL
;
LD DE,TB0
ADD HL,DE
PUSH HL
POP IX
;
LD HL,SCREEN
LD B,8
;
SPRIT0 PUSH BC
PUSH HL
LD A,(IX+0)
;
LD B,8
SPRIT1
RLA
CALL C,AFFICH
LD DE,#0008
ADD HL,DE
DJNZ SPRIT1
;
SPRIT2 INC IX
POP HL
LD DE,#00F0
ADD HL,DE
POP BC
DJNZ SPRIT0
FIN JR FIN
;
AFFICH
PUSH BC
PUSH HL
PUSH AF
LD A,#FF
LD B,24
AFFICH0
LD (HL),A
INC HL
LD (HL),A
INC HL
LD (HL),A
INC HL
LD (HL),A
INC HL
LD (HL),A
INC HL
LD (HL),A
INC hl
LD (HL),A
INC HL
LD (HL),A
INC HL
;
LD DE,#07F8
ADD HL,DE
JP NC,AFFICH1
LD DE,#C050
ADD HL,DE
AFFICH1
DJNZ AFFICH0
POP AF
POP HL
POP BC
RET
;
TB0
DEFB #7C,#C6,#CE,#D6
DEFB #E6,#C6,#7C,#00
TB1
DEFB #18,#38,#18,#18
DEFB #18,#18,#7E,#00
TB2
DEFB #3C,#66,#06,#3C
DEFB #60,#66,#7E,#00
TB3
DEFB #3C,#66,#06,#1C
DEFB #06,#66,#3C,#00
TB4
DEFB #1C,#3C,#6C,#CC
DEFB #FE,#0C,#1E,#00
TB5
DEFB #7E,#62,#60,#7C
DEFB #06,#66,#3C,#00
;
TABASIC
DEFB 255,0,255,119,179
DEFB 81,168,212,98,57,156
DEFB 70,43,21,138,205
DEFB 238» Download ce fichier

https://CPCrulez.fr

★ ANNÉE: 1991
★ AUTEUR: LONGSHOT

★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Coding Src's » Visage
» Coding Src's » Sahara + Synthe (CPC Revue)
» Coding Src's » CPC-AY Mono & Stereo-Sample-Player
» Coding Src's » Flower (Amstrad Computer User)
» Coding Src's » INPUT-Routine (CPC Amstrad International)
» Coding Src's » Illusion
Je participe au site:

» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.7-desktop/c
Page créée en 796 millisecondes et consultée 1867 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.