Jump to content
IGNORED

Sophia 2 - improved GTIA replacement


Simius
 Share

Recommended Posts

I do not understand why the video starts to bug on horizontal scrolls after about half an hour, and unfortunately I cannot test the Sofia2 on another A8 Pal at the moment.


My 130XE Pal that I use basically had almost all of the Ram and EMMU out of order (bought non-functional on ebay), I changed them and with a stroke of luck the 130XE to restart.
Now I wonder if there can be other problems with capacitors or resistors, the CPU too, it's a C014806-12 MEXICO, I read somewhere that some CPU of this type tends to heat up too much,

I find it indeed very hot, which could make it crash, and that it is better to privilege the C014806C-29 ATARI which is of better quality.


I also specify that my 130XE is equipped with an Ultimate 1Mb and a Pokeymax v2 and that I use the power supply from the Lotharek store which is 3A 15w.

Edited by ricky
Link to comment
Share on other sites

  • 2 weeks later...
  • 2 weeks later...

Yesterday I asked (in the wrong thread) how to install Sophia 2 inside an XE machine without case modifications, in order to keep the case intact. 

I finally used the aperture just above the ECI. I had no problems using Syscheck to increase memory and use alternative OSROMs while using the new DVI output. 

I'll need a box to house the DVI connector, but for now I'm okay. I was able to keep the metallic shield, as well. 

So my new 130xe is almost untouched, except for the socket I had to install. 

So happy ? 

9122021181751.jpg

9122021181812.jpg

  • Like 8
Link to comment
Share on other sites

It's no longer needed - GTIA I believe uses internal delay taps to generate the phase shift of for the colour which is an imprecise method and why the trimmer was included.

Sophia - for the modern monitor digital and RGB analog standards it's irrelevant.  For the legacy video I would assume there's probably some sort of internal PLL or precise method to generate the required timing so making the trimmer superfluous.

Link to comment
Share on other sites

  • 2 months later...

re: longer cables - The Brewing Academy is offering them now - https://thebrewingacademy.com/collections/atari-800-xl-xe-xel-xld/products/sophia-2-dvi-output-gtia-replacement?variant=39382459777126

 

I'm having random video drop-outs with my Sophia 2 on my 20" dell..  I'm seeing that there is another firmware available to address this from youtube videos and postings here.  Will there ultimately be a new firmware for this board?  thx!

Link to comment
Share on other sites

58 minutes ago, chad5200 said:

Can someone tell me the name of the 16 pin ribbon cable used to connect the Sophia 2 to the video connector?  I am looking to purchase a cable that is longer in length and need to know what to search for.

 

Thanks!

 

I ordered multiple lengths from Digi-Key.  One example below.

 

Digi-Key Part Number
A128017-ND
 
Manufacturer
TE Connectivity AMP Connectors
 
Manufacturer Product Number
1483356-3
 
Supplier
 
Description
MICRO-MATCH LEAD 16P 250MM
Edited by Sinjinhawke
Link to comment
Share on other sites

23 hours ago, Sinjinhawke said:

I ordered multiple lengths from Digi-Key.  One example below.

 

Digi-Key Part Number
A128017-ND
 
Manufacturer
TE Connectivity AMP Connectors
 
Manufacturer Product Number
1483356-3
 
Supplier
 
Description
MICRO-MATCH LEAD 16P 250MM

That is a whole lot better than what I did.  I.e. getting the connectors and crimping my own.

  • Like 1
Link to comment
Share on other sites

7 hours ago, Simius said:

An expensive tool is not necessary. There is a simple solution. Take a female connector, remove all contacts, connect it with a male connector and you can crimp the cable with an ordinary vise. 

Unfortunately I only had male connectors at the time, but I’ll try that method should I need to make any more 

Link to comment
Share on other sites

18 hours ago, orpheuswaking said:

I had to crimp my own as  I needed a longer cable than can be purchased. I don't recommend it as it's a PITA, you can buy a tool to do it but it's stupid expensive

@orpheuswaking did one for me. Excellent work. We both installed the Video connector in the expansion poet using a 3D printed part freely available online. None of the available lengths were long enough for this unfortunately.

Link to comment
Share on other sites

  • 1 month later...
On 12/13/2020 at 5:34 PM, flashjazzcat said:

Tech docs here:

 

https://atariage.com/forums/applications/core/interface/file/attachment.php?id=733216 75.91 kB · 1,486 downloads

 

Basically, you unlock the special registers by setting bit 7 of $D01D (i.e. POKE $D01D,$80), then poke the desired resolution into bits 4-6 of $D01B.

 

The U1MB plugin featured in this video handles everything for you in a safe manner, but unfortunately it's not yet finished (and thus not yet released):

 

 

Some stand-alone tool could perform the same job; I am not sure if anything exists yet. I've just ordered a Sophia 2 for myself so that I can maintain and devlop the plugin in my own time.

 

Sorry for necrobumping this posting but how do I prevent the settings for sophia to get destroyed when writing bit7 to $d01d?

 

I mean, every time I write $80 to $d01d my resolution settings are set back to default. I unfortunately cannot read them before writing bit7 because I have to set bit7 in order to be able to read the resolution registers etc.

 

I'm a bit lost. SophiaConf starts with the settings I saved so it must be possible. 

Link to comment
Share on other sites

6 hours ago, patjomki said:

Sorry for necrobumping this posting but how do I prevent the settings for sophia to get destroyed when writing bit7 to $d01d?

Writing $80 should not simultaneously overwrite the other configuration bits in $D01D. Once you write $80, the register will become visible; you can then read it and mask out the bits of interest. You can then write back your desired settings thus:

.proc RestoreGTIA
	ldy #0
	sty GRACTL
	iny
	sty PRIOR
	rts
.endp


.proc EnableSophiaRegisters
	jsr WaitSync
	ldy #SPECEN
	sty GRACTL
	rts	
.endp



.ifdef Sophia2
	lda SophiaFlag
	beq NoSophia

	jsr EnableSophiaRegisters
	
	lda SophiaCfg1
	sta PRIOR
	
	lda SophiaCfg2
	and #$7E
	tax
	lda #SPECEN+NVEN
	sta wsync
	sta GRACTL
	stx GRACTL

	jsr RestoreGTIA
NoSophia
.endif

(That code is straight from the U1MB Sophia2 plugin).

 

  • Like 1
Link to comment
Share on other sites

2 hours ago, flashjazzcat said:

Writing $80 should not simultaneously overwrite the other configuration bits in $D01D. Once you write $80, the register will become visible; you can then read it and mask out the bits of interest. You can then write back your desired settings thus:


.proc RestoreGTIA
	ldy #0
	sty GRACTL
	iny
	sty PRIOR
	rts
.endp


.proc EnableSophiaRegisters
	jsr WaitSync
	ldy #SPECEN
	sty GRACTL
	rts	
.endp



.ifdef Sophia2
	lda SophiaFlag
	beq NoSophia

	jsr EnableSophiaRegisters
	
	lda SophiaCfg1
	sta PRIOR
	
	lda SophiaCfg2
	and #$7E
	tax
	lda #SPECEN+NVEN
	sta wsync
	sta GRACTL
	stx GRACTL

	jsr RestoreGTIA
NoSophia
.endif

(That code is straight from the U1MB Sophia2 plugin).

 

 

Thanks for the source. What does the subroutine WaitSync look like? And what is stored in SophiaCfg1 and SophiaCfg2?

 

For a quick test I tried POKE 53277,128 in Basic.

 

Immediately after that command my screen settings are set to a different resolution (480p/576p, VGate: Disabled, CSync) instead of the resolution I am usually using (1344x960, VGate: Enabled, VGA).

 

I want to avoid that but how?

 

When I switch my computer off and on again the resolution is back to 1344x960 etc.

Edited by patjomki
Link to comment
Share on other sites

1 minute ago, patjomki said:

What does the subroutine WaitSync look like?

//
//	Wait for sync (uses Y)
//

	.proc WaitSync
	ldy VCount
	rne
	ldy VCount
	req
	rts
	.endp

 

1 minute ago, patjomki said:

And what is stored in SophiaCfg1 and SophiaCfg2?

Just the bits which were previously read from the configuration registered, changed according to the settings the user selected.

3 minutes ago, patjomki said:

Immediately after that command my screen settings are set to a different resolution (480p/576p, VGate: Disabled, CSync) instead of the resolution I am usually using (1344x960, VGate: Enabled, VGA).

You'll need to turn interrupts off first, since the OS VBI is copying the GRACTL shadow to the hardware register immediately after you exposed the Sophia configuration by setting bit 7.

  • Like 1
Link to comment
Share on other sites

5 hours ago, flashjazzcat said:

You'll need to turn interrupts off first, since the OS VBI is copying the GRACTL shadow to the hardware register immediately after you exposed the Sophia configuration by setting bit 7.

 

Thanks a lot, that was the trick. Now its running fine and the settings are not overwritten any longer.

 

BTW, is it correct to assume that the enhanced features (e.g. 16 levels of luminance for all graphics modes, Hi-Res Bi-Color) are only introduced in sophia2 which means that in order to use them a computer has to be equipped with a sophia2 and computers with sophia1 lack all of these features? 

 

So $53 in $d01e means there is a sophia2 (not sophia1)?

Link to comment
Share on other sites

  • 4 months later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...