Poll
Question:
What CRTC Type does your CPC have?
Option 1: CPC 464 Type 0
votes: 4
Option 2: CPC 464 Type 1
votes: 0
Option 3: CPC 464 Type 2
votes: 1
Option 4: CPC 464 Type 3
votes: 0
Option 5: CPC 464 Type 4
votes: 0
Option 6: CPC 664 Type 0
votes: 0
Option 7: CPC 664 Type 1
votes: 0
Option 8: CPC 664 Type 2
votes: 2
Option 9: CPC 664 Type 3
votes: 0
Option 10: CPC 664 Type 4
votes: 0
Option 11: CPC 6128 Type 0
votes: 12
Option 12: CPC 6128 Type 1
votes: 10
Option 13: CPC 6128 Type 2
votes: 0
Option 14: CPC 6128 Type 3
votes: 3
Option 15: CPC 6128 Type 4
votes: 1
Got a "brand new" NOS CPC 464, and to my surprise, it has CRTC 2 - never seen one before. Rare?
Well, tried Batman demo, and it doesn't like the CRTC 2.
So - what's so bad about it for demos?
http://web.archive.org/web/20170501112330/http://www.grimware.org/doku.php/documentations/devices/crtc
"The CRTC Type 2, beside being the original one, is the "worse" type (according to the low democoders standards :) because most of the simple tricks used to do splitscreens or other demo-effects does not work with it."
Wasn't type 0 the original one? Don't know for 464, but for 6128 type 0 was the first one they used (at least in Gemany).
CRTC numbers refers to discovering order but most of 464 & 664 are CRTC-2
Hi All
Is there a Program that is able to identify the CRTC Versions.
Thanks
Ray
Quote from: Audronic on 00:04, 08 March 18
Hi All
Is there a Program that is able to identify the CRTC Versions.
Thanks
Ray
There is an old program on quasar.cpcscene.net (and informations about differences) in French
http://quasar.cpcscene.net/doku.php?id=coding:test_crtc
And an article (FR) to identify them without programming
http://cpc.sylvestre.org/technique/technique_identifier_crtc.html
Quote from: Audronic on 00:04, 08 March 18
Hi All
Is there a Program that is able to identify the CRTC Versions.
Thanks
Ray
I think there are tricks to find which version CRTC is installed. You write to a CRTC register and read back the value. On certain CRTC versions the register is read-only so the data read back isn't what was written. I think some demos did this check.
Bryce.
From my testing type 2 is not that bad and it's quite capable of running a lot of effects if people worked with it. I am sure there is a way to write effects that will work on all without needing to detect the crtc type, just get the programming of the registers in the right place and it'll work on all.
Type 1 is the easiest and lets you do the most without trying to hard.
Type 0,3 and 4 needs a little extra effort.
Type 2 needs a bit more.
for type 2:
It can't "turn on border" with R8 or R6, so those effects are out.
It can't handle R4=0, R9=0 so those effects are out and so is horizontal rupture.
It's interlace is different to the others. (but then interlace on type 1 is not identical to type 0).
With R4=0, R9=0, you either force it into a display where you get 127 char lines made of a single scanline OR it doesn't display anything.
Here is a program that displays the CRTC type.
I think it is reliable.
There are several methods to differentiate CRTCs.
CRTC 0 is 0 because it was the one in my CPC.
CRTC 1 is the first one I managed to differentiate
Thanks to a test I found in Crafton & Xunk (Get Dexter) (but who paradoxically was made to test type 2 but also eliminated type 1)
[ in the game the display of the screen uses an hardware scroll with the CRTC Reg2>49 (when Reg3=14/Reg0=63) : crashes with the CRTC 2 ]
[ Also with a CRTC 1 or 2, the display does not use hardware horiz scroll, even if CRTC 1 was able to ]
[ I had not understood why the display did not use a hardware scroll. On the cpc of a friend, i had removed the crtc test in the game and the hardware scroll was running...]
CRTC 2 was the CRTC in the CPC of DIGIT (Logon System) and then i understood the reason for the presence of the test in "Get Dexter"
When I discovered CPC PLUS in June 1990, I logically numbered it 3.
By testing The Demo on several CPCs at Amstrad 100%, my test was wrong.
By opening the CPC, RUBI has discovered an asic emulating the CRTC, and we logically called it 4.
CRTC 2 is having problems with many demos that set R4 = R9 = 0 to make 1-line screens.
If R4 = R9 = 0, then the CRTC no longer generates a Vsync signal and the image is no longer synchronized with the monitor.
;
;
; 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 MEMOIRE
; 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
; ENT $
;
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
JR NC,VS
VS1
IN A,(C) ; Pre-Synchronisation 23.02.92
RRA
JR C,VS1
VS2
IN A,(C)
RRA
JR NC,VS2
EI ; Wait 1/300eme sec
HALT
LD HL,75 ; + 527 usec
WAIT
DEC HL ; 2
LD A,H ; 1
OR L ; 1
JR NZ,WAIT ; 3/2
IN A,(C) ; Sync Valide ?
RRA
JR 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
JR 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
JR 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
ENDD JR ENDD
;
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
DB #7C,#C6,#CE,#D6
DB #E6,#C6,#7C,#00
TB1
DB #18,#38,#18,#18
DB #18,#18,#7E,#00
TB2
DB #3C,#66,#06,#3C
DB #60,#66,#7E,#00
TB3
DB #3C,#66,#06,#1C
DB #06,#66,#3C,#00
TB4
DB #1C,#3C,#6C,#CC
DB #FE,#0C,#1E,#00
TB5
DB #7E,#62,#60,#7C
DB #06,#66,#3C,#00
;
TABASIC
DB 255,0,255,119,179
DB 81,168,212,98,57,156
DB 70,43,21,138,205
DB 238
QuoteI am sure there is a way to write effects that will work on all without needing to detect the crtc type, just get the programming of the registers in the right place and it'll work on all.
This is true using some restrictions (R2 + R3 <R0 for type 2, do not update R12 / R13 when C4 = 0 (for type 1), using R6/R8 for type 2, ect ...)
But for some techniques (1 line-offset-split for the most common) you need to avoid the "overflow" of C4 or C9 for example
This depends of when register are modified (current ligne or previous line)
And also to avoid display problems on horizontal split techniques...(for example when R0=7)
Quote from: GUNHED on 22:55, 07 March 18
Wasn't type 0 the original one? Don't know for 464, but for 6128 type 0 was the first one they used (at least in Gemany).
Yes, I was surprise to read that CRTC 2 was "the original one". Cause with all my CPCs (I guess I owned about 10 CPC 464 over the years), I never had one.
Quote from: roudoudou on 23:39, 07 March 18
CRTC numbers refers to discovering order but most of 464 & 664 are CRTC-2
That's interesting. I never had one, as I said. And I owned a lot of CPCs 464. Maybe it was indeed a different story in Germany. Are there any numbers? Maybe we can make a poll here to get an idea about CRTC type distribution!
Suggestion - does somebody have a CRTC type identification program. People can run it on their CPCs and update a poll were are going to make.
Quote from: GUNHED on 22:55, 07 March 18
Wasn't type 0 the original one? Don't know for 464, but for 6128 type 0 was the first one they used (at least in Gemany).
From my stat
CTRC 0 is the first
CRTC2 around May 86
CRTC1 from 87
We (the CPC community) gave them these numbers, they don't exist outside our scene.
Bryce.
Here is a small BASIC program from 1992...by Elmar Krieger.
Cheers,
Shane
@00WReX (http://www.cpcwiki.eu/forum/index.php?action=profile;u=518)
Thanks
Ray
Quote from: 00WReX on 01:20, 09 March 18
Here is a small BASIC program from 1992...by Elmar Krieger.
Great, thanks! We can start a poll about CRTC distribution with that. Will do that soon (or somebody else).
I had already given the program in my previous post ... :-X
The test on the DSK is incomplete.
It lacks CRTC 3 and 4 (which is recognized as a 0)
I added on the disk the assembled version of the source I gave a bit before. (RUN"CRTCHK")
I think the release dates are more or less known. I bought my amstrad 6128 late 85 or early 86, and it was a crtc 0. When "Get Dexter" came out in 1986, the CRTC 2 was already known because a test was done to avoid the crash. I do not know if Amstrad has kept some of the documentation on supplies somewhere, probably based on the financial conditions.
I've always assumed my CPC's CRTC was type 0 since it seems to be able to run every demo I've ever thrown at it.
I will try this identification program tomorrow and report back what it says.
Note that the CRTC 4 is the hardest to find because the ASIC had to be used quite late in the CPC, when most people preferred to buy an amiga or atari.
With the other CPCs (except the PLUS) it is possible to replace the CRTC or to add another CRTC, but for the 4 it is necessary to have this CPC.
Also, I'm not sure there are 464 or 664 with CRTC type 4. I do not think so.
Quote from: Longshot on 13:14, 09 March 18
Note that the CRTC 4 is the hardest to find because the ASIC had to be used quite late in the CPC, when most people preferred to buy an amiga or atari.
With the other CPCs (except the PLUS) it is possible to replace the CRTC or to add another CRTC, but for the 4 it is necessary to have this CPC.
Also, I'm not sure there are 464 or 664 with CRTC type 4. I do not think so.
You seem to be confusing things a little. The Plus (and ASIC costdown) machines don't have any seperate CRTC. The ASIC
is the CRTC, or at least the CRTC functionality is built into the ASIC.
Bryce.
Quote from: Longshot on 13:14, 09 March 18
Note that the CRTC 4 is the hardest to find because the ASIC had to be used quite late in the CPC, when most people preferred to buy an amiga or atari.
With the other CPCs (except the PLUS) it is possible to replace the CRTC or to add another CRTC, but for the 4 it is necessary to have this CPC.
Also, I'm not sure there are 464 or 664 with CRTC type 4. I do not think so.
I have a 464 with a type 4.
QuoteYou seem to be confusing things a little. The Plus (and ASIC costdown) machines don't have any seperate CRTC. The ASIC is the CRTC, or at least the CRTC functionality is built into the ASIC.
Are you seriously explaining that to me ? :o
Of course that CRTC 3 and 4 are emulated CRTC.
And so, btw, if you need to have a CPC with CRTC (emulated) type 4, you need to have the cpc with this Asic. (what i said previously)
But with Cpc with a real CRTC (0.1.2), you can modify the CPC and change the CRTC chip easily.
Quote from: Longshot on 16:21, 09 March 18
But with Cpc with a real CRTC (0.1.2), you can modify the CPC and change the CRTC chip easily.
Right, I only wish they had put them in sockets. That way, you have to desolder them to exchange
Hmm added a Poll. Now I am wondering - I guess we can only have one poll per thread, right?
Should we be adding one poll per CPC version, or even more fine grained, one poll per CPC MAINBOARD revision?
What do you think?
Some guys here have all crtc type ;D
Yes, the poll allows more than one vote per user ;D
For now, added only per CPC option.
I am not sure which ones are impossible configurations, anyway.
Does someone have a 6128 CRTC 2 with that 664 style floppy drive and big slot?
QuoteYes, the poll allows more than one vote per user
I can only select one vote per user in the poll.
Same here. Also one could have several same CPC. It deserve a better poll...
Quote from: Token on 19:07, 09 March 18
Same here. Also one could have several same CPC. It deserve a better poll...
All right, I made a mistake by not setting the max number of votes higher than 1, and wasnt able to change it afterwards. That could be improved in the Board system.
Let's close this thread and see the new poll thread! You have max 99 votes per user - I know, it's hardly sufficient, but it is a start :laugh:
How can I close a thread?
I tested the CRTC-CHK2 and it gives me a CRTC 0 on my CPC 464 PLUS ? ???
QuoteI tested the CRTC-CHK2 and it gives me a CRTC 0 on my CPC 464 PLUS ?
with run "CRTCHK" ? (and not with the basic program of elmsoft i'd let on the DSK)
My CPC6128 comes up as type 0 on both CRTC checks on longshot's dsk.
In the very first page of this topic, when people asked a program to identify crtc, i posted a program AND a simple method
I know it's a french article but really (in fact you can avoid to read the french and understand anyway), you should FORGET thoses programs if you just want to identify your CRTC, Programs are meant to be used for CRTC adaptations
Take a look at http://cpc.sylvestre.org/technique/technique_identifier_crtc.html (http://cpc.sylvestre.org/technique/technique_identifier_crtc.html)
Really :P
Quote from: Longshot on 00:57, 10 March 18
with run "CRTCHK" ? (and not with the basic program of elmsoft i'd let on the DSK)
Ok, i was wrong.
According to the test i have:
- CPC 464 = 0
- CPC 464+ = 3
- CPC 6128+ = 3
Thanks
Quote from: roudoudou on 08:53, 10 March 18
In the very first page of this topic, when people asked a program to identify crtc, i posted a program AND a simple method
Yes, good test ;)
QuoteI have a 464 with a type 4.
Interesting. I thought the 464 was no longer produced when Amstrad started to put the "low cost" asic in the 6128
It must be a pretty rare machine
Look for "Z80329, MC0099A" on the Mainboard Versions page.
That's the cost-down 464 board with asic.
I have a CRTC1 6128, a CRTC4 6128, a CRTC3 6128+, a (CRTC3? ;D ) GX4000
Quote from: arnoldemu on 13:53, 09 March 18
I have a 464 with a type 4.
Me too.
Sent from my ONEPLUS 3t using Tapatalk
Quote from: LambdaMikel on 19:38, 09 March 18
How can I close a thread?
Only mods can do that; is there a reason to?
I have a CPC6128 CRTC0 and a CPC464 CRTC2 but I cannot fill the poll because I cannot set for both CPC :picard2: .
According to this site posted, I have a CPC6128 CRTC 0 and a CPC6128 CRTC 1
http://web.archive.org/web/20170501112330/http://www.grimware.org/doku.php/documentations/devices/crtc
One game I had which is a fantastic game if you hadn't played it. That is 3d starstrike. It had a quirk: on some CPCs, the cursor (like a crosshair) was perfect. on some other CPCs, it left a flickery trail behind although it didn't affect gameplay, it was far from perfect. Was this due to a CRTC difference? Had anyone else noticed this issue? My CPCs at the time all plaid it flickery, but the shop where I bought it from was perfect.
horrible flickery:
https://www.youtube.com/watch?v=g79eLVS3syc
perfect:
https://www.youtube.com/watch?v=xZ91o9qUFFc (new link as old video was no longer there)
From what i remember, the cursor was flickering.
So i'm surprised to discover it was a bug :o .This game uses page flipping between 8000/C000.
It looks like there is some confusion between the two video pages when displaying the cursor.It smells like a bad init of the interrupt counter. Needs to be investigated.
nothing is wrong with CRTC-2, except coders maybe ;D
Longshot release a technical documentation for CRTC-2 which explain how to do things supposed to be impossible http://www.logonsystem.fr/down/ACCC2-FR.pdf
I'm coming late to this poll, but it's fundamentally flawed...
It should be a multiple-answer question, or at the very least there should be an option for "All of them. Yes, I really do have more than one of each model." :o
Actually, not true. I never managed to get myself a 664, but I do have an example of every time of CRTC chip in 464 and 6128 and plus. And I think 664 only used the same CRTC as the original 464 model anyway.
Anyway, despite what all the old-school French coders will tell you, that one is technically the best one as it's the only one that supports interlaced mode correctly...
Quote from: ralferoo on 16:57, 01 December 21Actually, not true. I never managed to get myself a 664, but I do have an example of every time of CRTC chip in 464 and 6128 and plus. And I think 664 only used the same CRTC as the original 464 model anyway.
Pretty sure my 664 was a type 0 and my (early) 464 was a type 2.