Jump to content
IGNORED

F18A MK2


matthew180

Recommended Posts

+1 for VGA support.

If MK2 is without VGA, then I will happily buy VGA MK1 devices from those of you who want a MK2 upgrade.

 

I would feel the same, except for the 512k RAM. Though I'm wondering how that will be handled. Will it be paged (as 64k or 4k,) or will only 4k (or 64k) of it be available?

Link to comment
Share on other sites

Oh and what about one of these?

 

https://aerialpixels.com/shop/audio-video-cables-accessories/ultra-thin-hdmi-cables/hyper-thin-hdmi-mini-hdmi-mini-female-flat-ribbon-cable-11″-30cm/

 

You just need the female end and the ribbon, then have a header on the F18A?

It looks like these might be the same parts: https://www.amazon.com/dp/B01M0A7C8M/ /https://www.amazon.com/dp/B01M0ANUUF/ https://www.adafruit.com/product/3561 https://www.adafruit.com/product/3551

 

Anyone know what type of flat cable connector that is? If it's small enough, hopefuly Matthew could fit it right on the end of the PCB.

Edited by PeteE
  • Like 1
Link to comment
Share on other sites

How are these folks getting around this issue?

 

https://collectorvision.com/shop/colecovision/collectorvision-phoenix/?fbclid=IwAR2wYV5NGv64KswpNOE6vidUH5rqKYZJ6s1sDVtF_TKXDMorXXcWePhnW58

 

Especially when they are touting "F18A Video Enhanced Compatibility Built-in* ($86 value!)".

 

Since it would be based on the VGA output of the F18A, some off-the-shelf converter built into the machine?

Link to comment
Share on other sites

The small connectors look ideal as they could be mounted on the metal shielding (for the main board) and then the ribbon cable could be fed in some how (a small slot in the shielding maybe) and then all you need is a HDMI shaped cut out on the back of the TI case.

 

Reckon that would look pretty neat.

Link to comment
Share on other sites

My apologies if this has been suggested before. I have tried to go through the entire thread, there are a lot of responses here.

 

Would it be possible to create this board without an hdmi connector attached? I would think there are others like me who could actually connect an HDMI port to a pcb. I found one example of a port that could be added later:

 

https://adamconn.com/product/female-right-angle-pcb-mount-19-pin-hdmi-interface

 

Again, I apologize if this has been suggested before. I have a TI-99/4A that could really use one of these F18As. It is suffering from bad video memory. I would rather add one of these versus adding memory sockets and replacing ram chips.

 

The MK2 does not have a lot of room on the board, and a full-size Type-A connector is too large, let alone one with through-hole pins. The soldering required would be a SMD part with double-rows under the connector (see photo). This would require hot-air assembly and very careful application of solder paste to avoid solder-bridges between the 0.4mm spacing of the pins. It is hard to appreciate the size, but the connector is only about 6mm x 6mm and certainly requires a microscope to work with (along with the capabilities for SMD soldering already mentioned). I'm into micro-soldering, but I think that is a very small subset of hobbyists who do soldering, and an every smaller subset of hobbyists in general. I suspect the majority of F18A / MK2 users are in the category of can't/don't solder, so making a board that has such a requirement is the same as not doing the board at all.

post-24952-0-04339900-1543518192.jpg

Link to comment
Share on other sites

Is there a list I can get on to get an F18A MK2? I missed out on the first version because all I could find the codehackcreate.com site.

 

You have not missed anything, and the codehackcreate.com site *is* the only place to get a new F18A (when it is available). I keep a list of people who want to be contacted, i.e. emailed, when the boards become available, but that is pretty much it. Being on "the list" is not a commitment to buy, and it does not guarantee that you will get a board, it is just a way for me to gauge demand.

 

However, that said, for the MK2 I will probably take pre-orders when I have a working solution for the video output and I'm ready to start making boards. But there will be an announcement, and a place to commit with money, and there will certainly be extra boards when it is all over. I'm still committed to trying to make some version of the F18A available as long as there is a demand, and I realize it has been a long time since they have been available; and for that I apologize.

  • Like 2
Link to comment
Share on other sites

 

I would feel the same, except for the 512k RAM. Though I'm wondering how that will be handled. Will it be paged (as 64k or 4k,) or will only 4k (or 64k) of it be available?

 

I'm not sure yet. Ideally it will be similar to (or compatible with) the way the 9938 implemented access to the extra memory, i.e. with more registers to specify the table base addresses, and a larger memory pointer. The only problem is that I was not forward thinking enough when I did the F18A and the GPU's memory map has things like the extra 2K of GPU-RAM, palette and VDP register access, etc. at memory addresses starting at >4000. So, I have to work out a way to keep existing F18A compatibility and still add the new VRAM as a linear memory space.

Link to comment
Share on other sites

So, in keeping with the spirit of the MK2 and breaking my typical opinion of not talking about projects before they are ready, I think I have come to some decisions about the MK2.

 

TL;DR;

There will probably be an FPC cable connector on the MK2 and a break-out board will be required for the actual video connector. Some redesign and testing are now required to prove this will work.

 

The longer version.

 

I did contact HDMI.org myself via telephone (I left a message and someone actually called back!) They guy I spoke with seemed sympathetic to my problem, but had no solutions since it seems they are bound by the existing licenses. Apparently HDMI.org has nothing to do with creating / guiding the licenses, they just collect money, do enforcement, and provide information. I asked if there was a board/committee that I could appeal to, and he said really the only thing I could do was to try and contact each of the founding companies (Hitachi, Panasonic, Sanyo, Philips, Lattice Semiconductor, Sony, Technicolor S.A., Toshiba) individually, but he was doubtful that I would be successful. I briefly considered trying to "be that guy" who goes on a crusade and try to do the impossible, but I decided I do not have the time or energy at this point (there are other things I'd rather do in my life right now).

 

So, a direct on-board HDMI connector solution is out. I did read (not sure if it is true) that the patents for HDMI mostly cover the connector and some of the other newer technology, which makes since because the LVDS signaling that HDMI uses is available in other non-license forms, i.e. a DVI solution. Since the HDMI spec ensures backwards compatibility with DVI, and I have no use/need for any of the newer capabilities, I can avoid licensing issues by producing a DVI signal via a non-licensed connector like an FPC header.

 

I know FPC was suggested previously, and I have considered it for a long time (even for the original F18A), but the size of the connector and the costs were never any small/better than other simpler solutions. Even today, since HDMI is currently the most prevailing TV connector, cables and connectors related to HDMI are cheaper than other options. For example, I can get a 10-pin 4-inch FPC cable for about $1.90 from Digikey, or I can get a 20-pin 8-inch FPC cable from Amazon or AdaFruit for $1.90. Basically twice as much cable for the same cost, just because 20-pins supports all 19-pins of the full HDMI connector; even though I only need/use 10 of those pins for the MK2. The problem is, 20-pins is wider than 10-pins (by about twice, imagine that!) and space on the MK2 board is hard to come by. I also try to keep things simple and the FPC solution requires a cable and another small PCB. But I cannot deny the low costs due to HDMI being *the* consumer video technology right now.

 

I'm kicking around several options at this point.

 

* Standard 20-pin FPC header (somehow I have to make it fit) and users will have to get their own FPC cable and connector board (see the many links offered above by other users).

 

* Standard 20-pin FPC header but make my own connector board with a DVI header. This would allow an audio header on the header board and possibly analog VGA signals.

 

* Smaller 10-pin FPC header with my own DVI header. This might also provide audio options and a VGA option, but it would be DVI *or* VGA, not both. This is simpler for PCB design because the header is half the size.

 

* Other random combinations of all of the above. I have not been thinking about this long enough to have worked out all the combinations with the pros and cons of each.

 

So that is what I am working on, some mash-up of these options to find one (or two) that will work.

  • Like 7
Link to comment
Share on other sites

Whatever ends up being easiest for the developer will, I'm sure, be just fine for the consumer. I think, at this point, whatever you come up with will be well-loved and highly used.

 

Whether it is VGA or HDMI, 10 pin connector or 20---whatever you as the developer create, that will be what it is, and you will have a market for it.

  • Like 3
Link to comment
Share on other sites

 

I'm not sure yet. Ideally it will be similar to (or compatible with) the way the 9938 implemented access to the extra memory, i.e. with more registers to specify the table base addresses, and a larger memory pointer. The only problem is that I was not forward thinking enough when I did the F18A and the GPU's memory map has things like the extra 2K of GPU-RAM, palette and VDP register access, etc. at memory addresses starting at >4000. So, I have to work out a way to keep existing F18A compatibility and still add the new VRAM as a linear memory space.

 

Why not use 16K pages and keep the memory mapping above >4000 as it is?

Link to comment
Share on other sites

It depends on how much can be gained by making it 9938 compatible. By providing actual addressing, it allows the VDP tables to be located in other parts of the VRAM and will facilitate things like double buffering. I think I want to avoid paging that requires a memory-mapper, i.e. writing to a specific register or memory address to modify what page is mapped in to a fixed location (in this case >0000 to >3FFF).

 

I think I can make the GPU have an alternate memory map for the addresses from >4000 to >A000 (or whatever the max address I used was), with a way to switch between VRAM and the memory-mapped accesses like VDP registers, the palette, etc. The default would be to have those memory-mapped features enabled by default for compatibility. I'll have to provide an extra register for the GPU to expand the program counter anyway, so it might be as easy as an extra bit in that new register, or however it ends up working.

Link to comment
Share on other sites

Would not the ideal be >4000 to >A000 equals >6000 or 24K of VDP along with the current >0000 to >4000 16K for a grand total of VDP of 40K of VDP.

 

And if you then paged that 24K would bring total VDP RAM to 64K.

 

The older Video Cards added 128K or the TIM added 192K.

 

The point of a better interface on the TI would be at 300K or 640x480, but I think that is unrealistic.

Edited by RXB
Link to comment
Share on other sites

The >4000 to >A000 was referring to a memory range in the F18A that the GPU uses for memory specific access to things like the VDP registers, the palette, etc. It is not referring to any amount of memory. It is just a low-level discussion about how to avoid breaking original F18A compatibility with the MK2 and the extra memory it has available.

Link to comment
Share on other sites

Are you thinking of limiting the V9938 support to the text II mode, or going beyond to graphics modes that require more than 16k contiguous vram such as the two higher resolution graphics modes? If VR14 addressing and text mode are the extent of the current, planned support, I wouldn't think linear memory is necessary as they are limited to the 16k pages. A fair number of v9938 programs use VR14 to determine if a v9938 is present by reading/writing to the first vram page then changing to another page, reading/writing, and comparing. Just sharing a few thoughts; glad to see this is still moving ahead even if not quite as planned...

  • Like 1
Link to comment
Share on other sites

I'm not totally sure what will be the extent of the 9938 support yet, I've been so busy with the video output problem I have not had much time to think about it. I was just looking through the 9938 docs again and see that VR14 contains the extra bits for the address, and the "extra page" is selected by yet another bit in some other register. Strange setup. Does rolling over the original 14-bit address pointer cause the "page bits" in VR14 to increment?

Link to comment
Share on other sites

I was really hoping you would have a full implementation of the 9938 with minimally the 128K, and then if you went above and beyond to 192K or your 512K, those are "bonus" areas.

 

If you do decide to implement full 9938 capability, then you may be able to add an additional 9938 market in addition to the 9918 market. It would be just that the board would need some kind of way to dip switch toggle between the two modes so systems that expect either a 9918 or 9938 would be setup correctly.

 

On the 9938, there is a video register that allows you to change the display position of the starting memory for the graphics mode you are in. This is from memory, but there are pages 1 and 2, however, you can shift page 1 down by one pixel row and display all display rows less one of page 1 and also the first display pixel/row of page 2. So, someone could have 128K of VDP data loaded and you can scroll vertically almost seamlessly. With some larger RAM expansion opportunities or high speed data transfers from something like the solid state drives for the TI that are floating out there, some game developers could really up the ante with some very video rich displays.

 

Add 9958 capability, and I think you add horizontal scrolling. Not sure with the 20 pin cable if you could engineer something up so you could feed a signal back into the video system and with GenLock of the 9958, be able to do frame grabs.

 

Beery

  • Like 2
Link to comment
Share on other sites

On the 9938, there is a video register that allows you to change the display position of the starting memory for the graphics mode you are in. This is from memory, but there are pages 1 and 2, however, you can shift page 1 down by one pixel row and display all display rows less one of page 1 and also the first display pixel/row of page 2. So, someone could have 128K of VDP data loaded and you can scroll vertically almost seamlessly. With some larger RAM expansion opportunities or high speed data transfers from something like the solid state drives for the TI that are floating out there, some game developers could really up the ante with some very video rich displays.

 

I think the F18A MK1 is already doing a better job at smooth scrolling than the 9939/9958. It can scroll vertically, horizontally or diagonally through 1, 2 or 4 screens. But with the added memory some amazing games could definitely be developed. ;-)

  • Like 1
Link to comment
Share on other sites

 

I think the F18A MK1 is already doing a better job at smooth scrolling than the 9939/9958. It can scroll vertically, horizontally or diagonally through 1, 2 or 4 screens. But with the added memory some amazing games could definitely be developed. ;-)

 

"Could" is an interesting word, especially next to the word "definitely". We'll see...

Link to comment
Share on other sites

If we had ever had a consistent 80-column option on the TI that was widespread, I'd be all for maintaining 9938 compatibility. Otherwise, I'd say do what you need to do to make the F18A a strong platform for development.

 

My one fear with any hardware is "Don't make me have to code different versions of things because there's multiple versions out there." This is one of the frustrations that caused Bruce Harrison to quit the TI community, and I don't blame him.

  • Like 1
Link to comment
Share on other sites

If we had ever had a consistent 80-column option on the TI that was widespread, I'd be all for maintaining 9938 compatibility. Otherwise, I'd say do what you need to do to make the F18A a strong platform for development.

 

My one fear with any hardware is "Don't make me have to code different versions of things because there's multiple versions out there." This is one of the frustrations that caused Bruce Harrison to quit the TI community, and I don't blame him.

 

Yes I think making the 80-columns text mode and the memory management compatible should be the focus areas for 9938 compatibility.

 

Regarding coding for different hardware, I don't think that can be avoided since we're re-living in a time before device drivers and APIs. ;-)

 

Multi-color sprites is another example where the current F18A is aready ahead of the 8838. The F18A can display sprites with 8 different colors from a palette of 4096 colors, and each pixel can be colored independently. On the 9938 each row of a sprite can only display 2 colors and it relies on color bleeding of the monitor to combine those into other colors. I would like to develop games for the F18A MK2 but 9938 compatibility would only be a secondary goal.

  • Like 1
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...