Jump to content
IGNORED

F18A


matthew180

Recommended Posts

Ok, I made up the last board today, the "girl parts". ;) I decided that, to be universal (99/4A, ColecoVision, MSX, etc.), the VGA header could not be on the F18A board itself, so there will be a "header" board with the HD15-pin D-SUB connector that you will have to mount in your case somewhere. That means people will have to cut a hole, and a D-SUB shape is a pain in the ass! I wish there was a better way, but I can't think of any, so if someone has any bright ideas, please let me know ASAP. Also, the header provides some isolation from the physical VGA connector and prevents the plugging / unplugging of the cable from damaging the main board in any way.

post-24952-129867909044_thumb.png

Link to comment
Share on other sites

Ok, I made up the last board today, the "girl parts". ;) I decided that, to be universal (99/4A, ColecoVision, MSX, etc.), the VGA header could not be on the F18A board itself, so there will be a "header" board with the HD15-pin D-SUB connector that you will have to mount in your case somewhere. That means people will have to cut a hole, and a D-SUB shape is a pain in the ass! I wish there was a better way, but I can't think of any, so if someone has any bright ideas, please let me know ASAP. Also, the header provides some isolation from the physical VGA connector and prevents the plugging / unplugging of the cable from damaging the main board in any way.

 

 

A D-shaped hole would be difficult to cut but a round hole would be easy.... If you could source a round plastic hub with a D-shaped hole...

 

One on each side of the case and bolted together along with the D-sub ?

Link to comment
Share on other sites

depending on how big and the actual layout you're talking about, there are very nice rubber grommets that go on desks to soften the circular holes cut into the wood for cables... some of these have D-shapes... I'll try to find it in bulk and link it... might not work, but worth a shot if they're cheap and look good

 

**edit**

can't find any with a slim enough profile... damn

Edited by Opry99er
Link to comment
Share on other sites

Ok, I made up the last board today, the "girl parts". ;) I decided that, to be universal (99/4A, ColecoVision, MSX, etc.), the VGA header could not be on the F18A board itself, so there will be a "header" board with the HD15-pin D-SUB connector that you will have to mount in your case somewhere. That means people will have to cut a hole, and a D-SUB shape is a pain in the ass! I wish there was a better way, but I can't think of any, so if someone has any bright ideas, please let me know ASAP. Also, the header provides some isolation from the physical VGA connector and prevents the plugging / unplugging of the cable from damaging the main board in any way.

Assuming it is a TI and the person doesn't use the cassette port, could you clip out the 9-pin connector and have enough room for the VGA connector? I know that may sound like heresy... but from someone who hasn't used a cassette port since 1985, I hope I'm not chastised too heavily ;)

Link to comment
Share on other sites

The cassette port idea is a good one! However, the VGA d-sub has the anchor points for the monitor cable, but like Tursi said, round holes are easy. I suppose a pair of circular holes would be a good start on a rectangular hole that would work too. Personally I have a friend with a CO2 laser cutter, so I might get a really nice hole in my case. ;) I will provide some templates with the boards for cutouts and such, but I'm not sure what else I can do at this time. It will be interesting to see how people mod their cases.

Link to comment
Share on other sites

With a dremel and a little patience, you can cut any shape. :)

 

Matthew, I'm done (to my satisfaction) the bitmap test app I mentioned. I'm going to attach the disk here with the warning that the current build of Classic99 doesn't mask the pattern table correctly (I need to post an update, but that probably won't happen till Sunday).

 

So that you can see what's going on, I've done a YouTube video - first showing Classic99 (with the fix, it was a very minor bug), then a real TI because Classic99 doesn't emulate the sprite weirdness.

 

The tool is pretty easy to use, and I've put it on a DSK image you can copy right to your compact flash. Load with Editor/Assembler #3, then to follow along with my video, press the keys 1,2,3,4, then 5,6,7,8, then A through F (and G and H optionally). Finally, 9 and 0. That doesn't help much, does it? ;)

 

Keys 1-4 modify the pattern table selection bits in VDP Register 4. 1 selects bits 00, which gives one pattern table across the three sections (111), 2 selects bits 01, which gives two pattern tables as (121), 3 selects bits 10, which gives two pattern tables as (112), and 4 selects bits 11, which gives three pattern tables as (123). 00 and 11 are the normally used values, where 00 is "half" bitmap and 11 is "full" bitmap.

 

Keys 5-8 modify the color table select bits in VDP Register 3. They are directly analogous to the pattern table keys so I won't repeat them here.

 

Keys A through F set the character mask bits in VDP Register 3, which affects both the color and pattern tables. Respectively, they set >00 (8 chars), >01 (16 chars), >03 (32 chars), >07 (64 chars), >0F (128 chars), and >1F (256 chars), which are the normal patterns one would use. As suggested on Thierry's page, G sets >02 and H sets >04, which are non-standard mask values but are included so their effect can be viewed.

 

Any combination of the above settings can also be set.

 

The screen itself is set up so that the character set contains just 16 characters repeated (0-9, A-F), but different background colors are used for each group of 16 to make it visible when different characters are in use (for the character filtering). The second and third sections of the screen add a vertical stripe of pixels to each character to differentiate them from the first pattern table.

 

All of the above I feel would need to work. It's pretty straightforward masking (except for how poorly its documented), so I suspect you've got it, and this is just here to test.

 

Key 9 and 0 turn sprites on and off respectively. The test program sets up 6 sprites. Sprites 5-7 are black sprites, 5 moves vertically while 6 and 7 move horizontally in the top section. Sprites 8-10 are white sprites in the same manner, where 8 and 9 move horizontally and 10 moves vertically.

 

The idea here is to show the (somewhat strange) sprite behaviour when pattern table masking is in effect. If you press '1' on a real 9918, sprites higher than #7 experience ghosting and reproduction. Most of the time it looks somewhat predictable but at the same time some combinations are a bit confusing. I think this is as close to a hardware bug as we have, and so this demo is intended to show it off.

 

It is my opinion that this bug is NOT important to reproduce. As far as I can tell nobody has spent much time investigating the exact conditions, as you'll see in my video it seems to respond to the color table masking sometimes, too. TI's docs say only that you must only use sprites 0-7 when using masking. I certainly can't tell you the exact details of it. Apparently BlueMSX attempted to reproduce it, but had to remove the feature as they didn't get it right, and it was triggering sometimes when the real chip did not.

 

Anyway, I hope this is somewhat helpful. Here's all the details, screenshot, disk, and link to YouTube.

 

post-12959-129872495879_thumb.jpg

 

test.zip

 

Link to comment
Share on other sites

Ok, I made up the last board today, the "girl parts". ;) I decided that, to be universal (99/4A, ColecoVision, MSX, etc.), the VGA header could not be on the F18A board itself, so there will be a "header" board with the HD15-pin D-SUB connector that you will have to mount in your case somewhere. That means people will have to cut a hole, and a D-SUB shape is a pain in the ass! I wish there was a better way, but I can't think of any, so if someone has any bright ideas, please let me know ASAP. Also, the header provides some isolation from the physical VGA connector and prevents the plugging / unplugging of the cable from damaging the main board in any way.

Assuming it is a TI and the person doesn't use the cassette port, could you clip out the 9-pin connector and have enough room for the VGA connector? I know that may sound like heresy... but from someone who hasn't used a cassette port since 1985, I hope I'm not chastised too heavily ;)

 

That is... well.....simple and smart. hmmmmmm. somebody been feeding you genius pills again ?

Link to comment
Share on other sites

Ok, I made up the last board today, the "girl parts". ;) I decided that, to be universal (99/4A, ColecoVision, MSX, etc.), the VGA header could not be on the F18A board itself, so there will be a "header" board with the HD15-pin D-SUB connector that you will have to mount in your case somewhere. That means people will have to cut a hole, and a D-SUB shape is a pain in the ass! I wish there was a better way, but I can't think of any, so if someone has any bright ideas, please let me know ASAP. Also, the header provides some isolation from the physical VGA connector and prevents the plugging / unplugging of the cable from damaging the main board in any way.

 

I am assuming that the little board is just a way to plug/unplug the cable and could be done without if someone just wanted to solder the cable to the main board ?

Link to comment
Share on other sites

I am assuming that the little board is just a way to plug/unplug the cable and could be done without if someone just wanted to solder the cable to the main board ?

 

I suppose you could... The board will come with a 6-pin 0.1" header with R, G, B, H, V, gnd signals. It will also come with a short 6-wire cable to connect the F18A to the VGA-header board. That allows the flexibility to use the F18A in a variety of computers (no two MSX computers were the same), and also allows people the freedom to mount the VGA-header board where ever or how ever they want. If you want to unsolder the header on your board and solder wires directly to the board, you will be able to do that. Not sure why you would though...

Link to comment
Share on other sites

With a dremel and a little patience, you can cut any shape. :)

 

True, however I'm trying to as much of a plug-n-play solution as possible for those who don't have a Dremel (gasp) or are uncomfortable doing case mods like that. Although, you will have to open your system, there is no avoiding that. I suppose I could offer modified 99/4A computers with the F18A already installed. hmm.

 

Matthew, I'm done (to my satisfaction) the bitmap test app I mentioned. I'm going to attach the disk here with the warning that the current build of Classic99 doesn't mask the pattern table correctly (I need to post an update, but that probably won't happen till Sunday).

 

Very cool! Thanks for putting that together! I watched the video and I'll download the program today or tomorrow (the wife has other ideas for what will be happening today - something about paint and the kitchen.)

Link to comment
Share on other sites

I am assuming that the little board is just a way to plug/unplug the cable and could be done without if someone just wanted to solder the cable to the main board ?

 

I suppose you could... The board will come with a 6-pin 0.1" header with R, G, B, H, V, gnd signals. It will also come with a short 6-wire cable to connect the F18A to the VGA-header board. That allows the flexibility to use the F18A in a variety of computers (no two MSX computers were the same), and also allows people the freedom to mount the VGA-header board where ever or how ever they want. If you want to unsolder the header on your board and solder wires directly to the board, you will be able to do that. Not sure why you would though...

 

cause I intend to plant it in forever...... Better be damn good ;-).

Link to comment
Share on other sites

I've been working on scrolling again in my VDP emulator. I'm going to have to take back my recommendation for a Game Boy-like fixed "tile window" inside of which the screen scrolls and wraps. With sadness in my heart I have concluded that Atari 400-like "display list" scrolling is ideal. That is to say, there is a data structure in VRAM that says for each scanline where to start reading tiles. I am sad because the Atari 400 way is prone to fiddly-piddly hacks - it is possible to get lost in there doing scanline breakdancing. All I want is scrolling.

 

However a "display list" is capable of expressing all existing VDP modes OR something almost the same but with the required extra two rows and columns for scrolling without special cases for either, plus some other useful interesting scrolling methodologies, which is more than I can say about a fixed scrolling window a la Game Boy.

Edited by bmcnett
Link to comment
Share on other sites

I've been working on scrolling again in my VDP emulator. I'm going to have to take back my recommendation for a Game Boy-like fixed "tile window" inside of which the screen scrolls and wraps. With sadness in my heart I have concluded that Atari 400-like "display list" scrolling is ideal. That is to say, there is a data structure in VRAM that says for each scanline where to start reading tiles. I am sad because the Atari 400 way is prone to fiddly-piddly hacks - it is possible to get lost in there doing scanline breakdancing. All I want is scrolling.

 

However a "display list" is capable of expressing all existing VDP modes OR something almost the same but with the required extra two rows and columns for scrolling without special cases for either, plus some other useful interesting scrolling methodologies, which is more than I can say about a fixed scrolling window a la Game Boy.

 

 

Yada yada yada... what the hell are you talking about ? You realize this is the 9918A thread ?

  • Like 1
Link to comment
Share on other sites

No, see, matthew has been talking about (eventually) offering scrolling in his enhanced 9918A but the implementation remains an unsolved problem. I happen to be working on that problem in my fake 9918A. So this is relevant to at least matthew's 9918A project. Do you have any technical opinions to offer, or are you satisfied quoting mine and replying "So what, I don't care because you're nerdy McGurdy."

Edited by bmcnett
Link to comment
Share on other sites

Matthew, I'm done (to my satisfaction) the bitmap test app I mentioned. I'm going to attach the disk here with the warning that the current build of Classic99 doesn't mask the pattern table correctly (I need to post an update, but that probably won't happen till Sunday).

 

I finally got a chance to run this last night. Everything works on the F18A as it does on a real console *except* the sprite anomalies. The F18A does not have the behavior, which seems natural since I'm purposely processing sprites differently. Thanks for the test program, it is a nice bit of reassurance that the design is working.

Link to comment
Share on other sites

I finally got a chance to run this last night. Everything works on the F18A as it does on a real console *except* the sprite anomalies. The F18A does not have the behavior, which seems natural since I'm purposely processing sprites differently. Thanks for the test program, it is a nice bit of reassurance that the design is working.

 

That's awesome!

 

And yeah, I'm still trying to come up with a use for the sprite anomolies besides "horizontal starfield", so I don't think it's a big loss. :)

Link to comment
Share on other sites

=) Do you think it would help to bring about a better product? Would it help YOU in developing it? If the answer is yes, then do it.

 

I've already got a console ready to be modded... pulled it out of the box, tested it, polished the aluminum, and awaiting dispatch orders, sir!

Link to comment
Share on other sites

I'll take two of these units when they are available.

 

Henceforth from this day, F18A modded consoles shall be known as TI-99/F18As

 

:D

 

I am patiently awaiting order readiness, as well. And, anyone able to stencil some re-badged 4A consoles to match this designation? :cool:

Link to comment
Share on other sites

To open source the F18A HDL or not? That is the question.

 

Entirely up to you.

 

Were it me, at this point, I think you're going to productize it, so I would keep it closed for now, and open it when you are done with it for others to build on. :)

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