Jump to content
IGNORED

F18A programming, info, and resources


matthew180

Recommended Posts

I found it. It's fixed.

 

Because the coleco graphics were in bitmapped mode it was duplicating the tiles still and overwriting the second & 3rd colour planes. Now I've got the 8 colour 3bit tiles I was expecting.

 

if interested i posted an updated video with the 3bit tiles working here. I haven't reoloured them much to take advantage yet but a few have been.

 

Thanks for the suggestions & help.

 

http://atariage.com/forums/topic/257913-f18a-enhanced-sprites-on-colecovision/

  • Like 4
Link to comment
Share on other sites

I'm glad you got it sorted out. Usually when I'm having a problem like that I will make smaller programs to test each part of the code in isolation. Or, putting the code into an infinite loop at a certain point, like just after VDP initialization, writing the name table, pattern table, etc. Basically just to make sure that what you expected to happen actually did happen.

Link to comment
Share on other sites

  • 2 months later...

Maybe I'm wrong, maybe this has been discussed before, but: There's something odd about the timing on a F18A system.

 

Take a look at this screenshot of Parsec running on a European TI 99 with a F18A, version 1.6 (I think):

 

post-35214-0-63979300-1482750424_thumb.jpg

 

You may have noticed that all alien craft are flying lower than on a regular TI. Consequently, if you move your ship up, you can let the game sit alone without your ship ever crashing, and the aliens achieving insane speeds. On a regular TI, the ship crashes rather soon.

 

I guess that Parsec is using auto-motion, so slow alterations in speed (VDP timer? GROM clock?) would cause this. Are there other explanations for this?

 

(The image looks funny as I photographed my 4K monitor where the TI/F18A is running as picture-in-picture -- quite a convenient setup for development.)

 

Link to comment
Share on other sites

An EU console with an F18A essentially turns into a 60 Hz machine.

 

You're right. I just checked Parsec on a US system, and the yellow alien does crash into the scenery! They wouldn't on an EU system.

 

So there is some difference in game play, in some sense. I wondered how the programmers compensated for different Hertz, and now I know they didn't.

 

But isn't there a DIP switch on the F18A for selecting the frequency? I cannot find the original leaflet that came with the F18A anywhere online.

Link to comment
Share on other sites

Nope, it generates a standard 640x480 VGA signal at 60 Hz.

 

OK, thanks for the clarification.

 

@Matthew: Could you publish online that one page manual that came with the F18A? I cannot find mine anymore, and it seems to be the only source for the DIP switch configuration.

Link to comment
Share on other sites

The Parsec flight level effect is also reproducible with MAME at 60 Hz. I thought I was observing an emulation issue, as the lowest gliders touch the landscape or buildings, but obviously this was indeed the case.

 

While we had the Parsec competition, I noticed that in the 60 Hz version, all three lifts make sense, while in the 50 Hz version, I had no use for lift 2.

Link to comment
Share on other sites

OK, thanks for the clarification.

 

@Matthew: Could you publish online that one page manual that came with the F18A? I cannot find mine anymore, and it seems to be the only source for the DIP switch configuration.

http://codehackcreate.com/archives/365

Matthew's page there documents USR3 and USR4.

I am pretty sure USR1 was for the sprite limit, and USR2 the scan line generator.

 

But I agree, having the official doc online would be very handy.

 

-M@

Link to comment
Share on other sites

Apologizes for the tardy reply.

 

Re: why no 50Hz? To output 50Hz means I would have to decouple the VDP interrupt from the actual video signal, and that would be bad. Everything relies on the interrupt happening at the actual refresh, and there is no 50Hz VGA/VESA mode:

 

http://www.tinyvga.com/vga-timing

 

As for the jumpers, yes my website is lacking (it is on the todo list). Thank you Bmack36 for providing the info. That PDF is also available on the first post of this thread for download.

 

There are four "User Jumpers" on the F18A:

USR1: Selects the power-on default maximum number of sprites on a line. Can be overridden via software;
On = 32 sprites can be displayed on a single line
Off = 4 sprites maximum can be displayed on a single line

USR2: Select simulated CRT scanlines. Virtual Scanlines can be turned on via software if the jumper is on:
On = no simulated scanlines
Off = enables simulated scanlines

USR3: Pin-37 GROMCLK / CPUCLK select:
On = GROMCLK output on pin-37 (9918A/28/29)
Off = CPUCLK output on pin-37 (9128/29)

USR4: Pin-38 CPUCLK enable:
On = disabled (Hi-Z)
Off = enabled

 

The default for the F18A is all jumpers on, which basically sets up a 9928. This works in the 99/4A because the CPUCLK output is not used in the 99/4A (so it is not missed). Some systems (Tomy Tutor, NTSC SpectraVideo SV-328, etc.) actually use the CPUCLK output as the main system clock and need USR2 to be off. USR2 exists because a friend graciously allowed me to modify his SV-328 to test the F18A back in 2012 and it did not work. Since the 99/4A did not use the CPUCLK I originally did not produce that output or connect anything to pin-38. A board revision later and I had a full complement of options for the pin differences among all of TI's 9918A derived VDPs.

  VDP       USR3 USR4
9928/29      on   on    pin-37 GROMCLK
                        pin-38 Hi-Z (disabled)

9918A/9118   on   off   pin-37 GROMCLK
                        pin-38 CPUCLK

9128/29      off  on    pin-37 CPUCLK
                        pin-38 Hi-Z (disabled)

not used     off  off   pin-37 CPUCLK
                        pin-38 CPUCLK

       _________
RAS  =|1   U  40|= XTAL1   9918A    9928A/29A 9118    9128/29 F18A
CAS  =|2      39|= XTAL2   ======== ========= ======= ======= ====
AD7  =|3      38|= ....... CPUCLK   R-Y       CPUCLK  R-Y     HI-Z / CPUCLK
AD6  =|4      37|= ....... GROMCLK  GROMCLK   NC      CPUCLK  GROMCLK / CPUCLK
AD5  =|5      36|= ....... COMVID   Y         COMVID  Y       NC
AD4  =|6      35|= ....... EXTVDP   B-Y       EXTVDP  B-Y     NC
 
Basically:
            USR3 USR4
TI-99/4A     on   on    -- The 99/4A does not use the CPUCLK, but this is NOT the default of the 9918A
9928/29      on   on    -- CPUCLK on pin38 disabled so it does not cram 3.5MHz into the R-Y circuit
9918A/9118   on  off    -- CPUCLK output, GROMCLK output (pin37 is not connected on the 9118)
9128/29     off   on    -- CPUCLK on pin37 enabled, CPUCLK output on pin38 disabled
not used    off  off    -- CPUCLK output on both pin37 and pin38

  • Like 3
Link to comment
Share on other sites

I understand that one, Matthew--I'm waiting on production to commence on a board order of my own right now, and holding off on initiating the order for another until later this month.

 

Thanks for the offer Bmack36, but I actually prefer ordering from the guys who produce new hardware/software as a way to directly support their efforts (unless the need is an emergency need that they can't meet--and this isn't one of those).

Link to comment
Share on other sites

  • 1 month later...

I've been thinking... How nice it would be to have the update program for the F18A in cartridge format.

 

If I'm not mistaken, it's currently too big for the FR99, but with tweaking it could be programmed into a 49F040 right?

 

I'd be happy to put a program like that on cartridge and bring it to Fest West if anyone needs to update their F18A.

 

When the FinalGROM99 finally comes out that could make it super easy for people without disk systems up update.

Link to comment
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.
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...
  • Recently Browsing   0 members

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