Jump to content
TomSon

my 2600 playground

Recommended Posts

 

solid state physics: semiconductors :) That reminds me to visit CERN - I wanted to visit for ages..

 

My respects, solid state physics never was my strong side :) Actually, even though I was working an particle physics, I have been to CERN only twice. We once went there as a group during my PhD (but that was more an act of tourism than anything else), and I gave my last talk before I quit academia there. Unfortunately, there is not much reason to visit often as a theorist. The place is fascinating though, especially if you manage to get a tour through some of the facilities. We went down to the LHC ring when we went there, but I don't think they do this anymore --- not during beam time at any rate :P

Edited by DirtyHairy

Share this post


Link to post
Share on other sites

!!! Massive thanks to RevEng for helping me with a Tiara 7800 menu !!!

 

I've just finished the 7800 menu and tested it for a while so here are a few (rather bad, sorry)

pictures as proof.

so - a 2600 Tiara can run in 7800 mode and start 2600 games, that is implemented and working.

 

How is this done ? I detect the 7800 and behave differently in time to weave my way through

the 7800 BIOS checks to inject something into the 7800. This is tested on a PAL 7800 but should

work equally on the NTSC one and pretty much all patched BIOS versions, too, since all of them

need to check for a 2600 cart. - which I base my detection and handling on.

 

This is excellent since it allows me to already test quite a bit of a 7800-Tiara, esp. Maria access,

on near-final hardware. And having a 7800 menu is obviously very nice for a 2600 multicart.

Plus since one can actually detect NTSC/PAL on a 7800 (and not on a 2600) automatically and come

up in the correct menu, too, which is also nice.

 

So my next retro hw project is most likely settled - a proper 7800-Tiara.

 

This is outstanding and very exciting. Excellent work thus far. You have made tremendous progress and very happy to read RevEng has been able to assist with the menu; it looks fantastic!

 

There are *many* clamoring for just this type of device for the 7800, having it able to read and manage both 2600 and 7800 ROMs is absolutely perfect. It is very ingenious and cannot wait to see further developments. Please keep up the incredible work.

 

A proper 7800-Tiara is exactly what the community needs. A huge *thank you* for not only considering but also working on it.

  • Like 2

Share this post


Link to post
Share on other sites

...A proper 7800-Tiara is exactly what the community needs. A huge *thank you* for not only considering and working on it.

 

A huge *thank you* also from my part. Thomas already invested a considerable amount of time by developing and also completing bags of cool and high quality projects for Vectrex fans.

 

...and I'm also declaring a vivid interest in a 7800-TIARA as well! :thumbsup:

  • Like 2

Share this post


Link to post
Share on other sites

 

Yes, it's a 32 char kernel - not a modified system. All the data is put into register immediate loads (with cycles to spare) so the drawing starts like this:

even_loop:
;                        AB  CD  EF  GH  IJ  KL  MN  OP  QR  ST  UV  WX  YZ  01  23  45
        TXT_2LINES_EVEN $77,$36,$77,$35,$71,$54,$56,$26,$26,$37,$55,$AA,$57,$E4,$77,$AE,DARK_BLUE,DARK_BLUE
        TXT_2LINES_EVEN $55,$45,$44,$45,$21,$54,$75,$55,$55,$42,$55,$AA,$51,$A4,$11,$A8,DARK_BLUE,DARK_BLUE
        TXT_2LINES_EVEN $76,$45,$66,$57,$21,$64,$55,$56,$56,$72,$55,$A4,$72,$A4,$77,$EE,DARK_BLUE,DARK_BLUE
        ...

and the macros seeded with the data to be displayed - with just a little cycle-handholding later on for bank switching and scanline end checks (50/60hz).

Obviously it's interleaved: in the default menu output I am using a 3x5 font doubled to 3x10 so the odd and even scanline data is the same to

minimize flickering. I've also got a 3x7 font menu in there but that flickers too much on my TV for my liking - the default menu in PAL60 looks excellent

to my eyes, at 50Hz bearable (but still ok).

Here's a weird question-- are the text characters nibble-encoded? (I'm judging, based on the letter-pairs, in your list.)

 

I had devised such a solution for the text in Cat Quest, and had gotten it down to 133 bytes. (4KB game)

Share this post


Link to post
Share on other sites

Here's a weird question-- are the text characters nibble-encoded? (I'm judging, based on the letter-pairs, in your list.)

 

I had devised such a solution for the text in Cat Quest, and had gotten it down to 133 bytes. (4KB game)

Yes, the chars are in nibbles - you can also see from that source snippet that some are shifted, just like the

'normal' 32 char kernel setup. In theory a 650x could construct a bitmap function easily, too, if you had enough RAM

(32K via e.g. 3E would be sufficient) but it's much faster just letting the Tiara processor

auto-generate the code when the 2600 isn't drawing anything into the menu F4 cartridge.

Share this post


Link to post
Share on other sites

Yes, the chars are in nibbles - you can also see from that source snippet that some are shifted, just like the

'normal' 32 char kernel setup.

cd-w figured out an arrangement where we no longer need to shift characters, and thus can output 128 discrete pixels per scanline. See replies 133 onward.

Share this post


Link to post
Share on other sites

cd-w figured out an arrangement where we no longer need to shift characters, and thus can output 128 discrete pixels per scanline. See replies 133 onward.

 

Hmm, I thought the shift is still required but the gaps are handled via balls - might have misunderstood that.

That's why I called this a '32 char' kernel, not a 128 pixel kernel but I did use the term 'bitmap' before w/o mentioning

the gaps (since they are no problems here); so from now on I better call this just a char kernel.

If this indeed is different for the sprite handling I might try it, too, if only to test it with a specific TIA I've got (and

replaced) that's on the way to IC heaven: when it heats up, it starts delaying the very first sprite horz. by one pixel.

This takes a few seconds when heating up - in-between output is erratic from scanline to scanline.

 

Thing is - I cannot decide whether the TIA is actually failing or the kernel only works on a subset of chips reliably.

It's not a real problem for the Tiara since it can switch menu displays on the fly (already ntsc/secam/pal

variants of four menu displays are in there) but I'd like to understand this better. Has anyone seen something similar ?

Share this post


Link to post
Share on other sites

Yep, no shifting required. All 128 pixels are drawn using only the players in triplicate with RESPx tricks.

Share this post


Link to post
Share on other sites

Timing can change on some units, with warm-up. Check out this video, originally from this post.

 

Great video to explain what I'm seeing: that's a very similar in-between behavior I am

seeing on that TIA, only with 1-pixel offsets at the very start of the line.

So only the first chars wiggle a bit until they descend into the stable, warm delay.

Share this post


Link to post
Share on other sites

Yep, no shifting required. All 128 pixels are drawn using only the players in triplicate with RESPx tricks.

 

I'll try a similar approach to this modified kernel then, too, maybe it works on my 'bad' TIA..

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

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...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...