Announcement

Collapse

Forum etiquette

Our mission ...

This forum is part of our mission to promote the preservation of vintage computers through education and outreach. (In real life we also run events and have a museum.) We encourage you to join us, participate, share your knowledge, and enjoy.

This forum has been around in this format for over 15 years. These rules and guidelines help us maintain a healthy and active community, and we moderate the forum to keep things on track. Please familiarize yourself with these rules and guidelines.


Remain civil and respectful

There are several hundred people who actively participate here. People come from all different backgrounds and will have different ways of seeing things. You will not agree with everything you read here. Back-and-forth discussions are fine but do not cross the line into rude or disrespectful behavior.

Conduct yourself as you would at any other place where people come together in person to discuss their hobby. If you wouldn't say something to somebody in person, then you probably should not be writing it here.

This should be obvious but, just in case: profanity, threats, slurs against any group (sexual, racial, gender, etc.) will not be tolerated.


Stay close to the original topic being discussed
  • If you are starting a new thread choose a reasonable sub-forum to start your thread. (If you choose incorrectly don't worry, we can fix that.)
  • If you are responding to a thread, stay on topic - the original poster was trying to achieve something. You can always start a new thread instead of potentially "hijacking" an existing thread.



Contribute something meaningful

To put things in engineering terms, we value a high signal to noise ratio. Coming here should not be a waste of time.
  • This is not a chat room. If you are taking less than 30 seconds to make a post then you are probably doing something wrong. A post should be on topic, clear, and contribute something meaningful to the discussion. If people read your posts and feel that their time as been wasted, they will stop reading your posts. Worse yet, they will stop visiting and we'll lose their experience and contributions.
  • Do not bump threads.
  • Do not "necro-post" unless you are following up to a specific person on a specific thread. And even then, that person may have moved on. Just start a new thread for your related topic.
  • Use the Private Message system for posts that are targeted at a specific person.


"PM Sent!" messages (or, how to use the Private Message system)

This forum has a private message feature that we want people to use for messages that are not of general interest to other members.

In short, if you are going to reply to a thread and that reply is targeted to a specific individual and not of interest to anybody else (either now or in the future) then send a private message instead.

Here are some obvious examples of when you should not reply to a thread and use the PM system instead:
  • "PM Sent!": Do not tell the rest of us that you sent a PM ... the forum software will tell the other person that they have a PM waiting.
  • "How much is shipping to ....": This is a very specific and directed question that is not of interest to anybody else.


Why do we have this policy? Sending a "PM Sent!" type message basically wastes everybody else's time by making them having to scroll past a post in a thread that looks to be updated, when the update is not meaningful. And the person you are sending the PM to will be notified by the forum software that they have a message waiting for them. Look up at the top near the right edge where it says 'Notifications' ... if you have a PM waiting, it will tell you there.

Copyright and other legal issues

We are here to discuss vintage computing, so discussing software, books, and other intellectual property that is on-topic is fine. We don't want people using these forums to discuss or enable copyright violations or other things that are against the law; whether you agree with the law or not is irrelevant. Do not use our resources for something that is legally or morally questionable.

Our discussions here generally fall under "fair use." Telling people how to pirate a software title is an example of something that is not allowable here.


Reporting problematic posts

If you see spam, a wildly off-topic post, or something abusive or illegal please report the thread by clicking on the "Report Post" icon. (It looks like an exclamation point in a triangle and it is available under every post.) This send a notification to all of the moderators, so somebody will see it and deal with it.

If you are unsure you may consider sending a private message to a moderator instead.


New user moderation

New users are directly moderated so that we can weed spammers out early. This means that for your first 10 posts you will have some delay before they are seen. We understand this can be disruptive to the flow of conversation and we try to keep up with our new user moderation duties to avoid undue inconvenience. Please do not make duplicate posts, extra posts to bump your post count, or ask the moderators to expedite this process; 10 moderated posts will go by quickly.

New users also have a smaller personal message inbox limit and are rate limited when sending PMs to other users.


Other suggestions
  • Use Google, books, or other definitive sources. There is a lot of information out there.
  • Don't make people guess at what you are trying to say; we are not mind readers. Be clear and concise.
  • Spelling and grammar are not rated, but they do make a post easier to read.
See more
See less

Tandy 1000 TL - 85 Color Demo

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Tandy 1000 TL - 85 Color Demo

    Hi,

    I have been going back and forth on playing around with CGA graphics, but my only test machine is a Tandy 1000 TL, and, I figured, since I couldn't find anybody who had done it, that I would try to do some tweaked video "modes" and such. There is no huge feat here - but I think it is pretty cool that used GW-Basic made specifically for the 1000 graphics in order to access the graphics card, AND, that I used old school PC Paint to convert GIF files into Bsave files, saving myself a boatload of coding time to get to a demonstration. Now that I know how to get there, I have to play with it more before I give out code, but below is a preview. I keep working if I get some kind of comment! (I keep working anyway, but words of encouragement make me work harder.)



    Thanks for watching.

    Chris

    #2
    Very cool
    "Good engineers keep thick authoritative books on their shelf. Not for their own reference, but to throw at people who ask stupid questions; hoping a small fragment of knowledge will osmotically transfer with each cranial impact." - Me

    Comment


      #3
      Nice demo!

      FYI: you don't need to type LOAD "filename.BAS" and then RUN. As a shortcut, you can just type RUN "filename" (no .BAS required), or even just specify the program name when starting BASIC from the DOS prompt (BASIC filename (no quotes)).

      Comment


        #4
        I never understood why this hadn't been attempted sooner. The same trick has been used on monochrome screens for decades.
        "Will the Highways on the internets become more few?"

        V'Ger XT

        Comment


          #5
          Where's Trixter.... 320x200 85-colour 30fps video anyone

          Comment


            #6
            WOW!I'm impressed!!Excellent work!!!I want it now!!!!!

            Comment


              #7
              Awesome! So if I understand it well, you are getting 85 colors by mixing (using a very fast flickering) the 16 basic colors that the RGBI interface supports, and the CRT phosphor does the color composition. 85 is a bit weird number, how do you get it?
              My videos:
              IBM PS/1 model 2011 restored and enhanced
              IBM PC Advanced Diagnostics Cassette load

              Comment


                #8
                Originally posted by nestor View Post
                Awesome! So if I understand it well, you are getting 85 colors by mixing (using a very fast flickering) the 16 basic colors that the RGBI interface supports, and the CRT phosphor does the color composition. 85 is a bit weird number, how do you get it?
                85 is what I make it. All the flickering colours have 2 possible representations (e.g. green and blue gives the same as blue and green) and many have even more (e.g. green and magenta gives the same as red and cyan - both give a mid-grey). If you use the normal CGA palette (the one that the VGA BIOS uses in text modes, for example) and just add the "first frame" colours and the "second frame" colours componentwise (i.e. without attempting to any sort of gamma correction), there are 85 unique combinations.

                The fact that colour 6 is brown (67% red, 33% green, 0% blue) instead of matching the pattern set by the other colours (which would make it a muddy yellow - 67% red, 67% green, 0% blue) works as an advantage here - without that there would be only 73 unique combinations.

                I wonder what 16-colour palette would give the most different colours with flickering (both in terms of number of different colours and in terms of variety).

                Comment


                  #9
                  Originally posted by reenigne View Post
                  85 is what I make it. All the flickering colours have 2 possible representations (e.g. green and blue gives the same as blue and green) and many have even more (e.g. green and magenta gives the same as red and cyan - both give a mid-grey). If you use the normal CGA palette (the one that the VGA BIOS uses in text modes, for example) and just add the "first frame" colours and the "second frame" colours componentwise (i.e. without attempting to any sort of gamma correction), there are 85 unique combinations.

                  The fact that colour 6 is brown (67% red, 33% green, 0% blue) instead of matching the pattern set by the other colours (which would make it a muddy yellow - 67% red, 67% green, 0% blue) works as an advantage here - without that there would be only 73 unique combinations.

                  I wonder what 16-colour palette would give the most different colours with flickering (both in terms of number of different colours and in terms of variety).
                  I counted them by making a test picture that did all of the combinations, blended it in photoshop and reduced down to the exact palette and it came to 85, nice to know that there is agreement that this is the combination.

                  Comment


                    #10
                    Code is nice, I'd love to test it out on my Tandy.
                    My Retro Computing and Vintage Gaming Blog : http://nerdlypleasures.blogspot.com/

                    Comment


                      #11
                      Originally posted by pearce_jj View Post
                      Where's Trixter.... 320x200 85-colour 30fps video anyone
                      That is the plan. Keep in mind, every screen is 320x200x4 bits, 256,0000 bits or 32,000 bytes. In order to play video we need 60 fps (30 fps actual, but 2 frames for each blended frame) which is 1,920,000 bytes per second - 1,875 kilobytes per second. Ok - wow - so even XT-IDE can only get up to 500k/sec - so this would be a non-starter. I thought about 160x200 but that is 937.5 kpbs - still too much.

                      I have been thinking about this for a long time, and my belief is that I can use intra-frame compression (think MPEG) to make it work. I also have the audio as well. If we figure 44,100 KHz mono at 8 bit, then I need another 43k per second for audio as well. So, If I am going to use an XT-IDE at let's say 300k per second and I need 43k for the audio that leaves me with about 250k per second for video. I have 4 video pages to work with. At 250k per second I can update a little less than 1/8th of the screen per frame. In order to make the timing work I will have to get creative about what portion of the screen and how to update. My alternative is to somehow compress the frames and decompress them in realtime (when I get my Make-it-486 then I could probably cheat, but that doesn't feel right to me) and then update the screen. The problem is that my screens are going to be very diverse and RLE encoding would be useless. My last option (which I am not too fond of) would be to reduce the resolution until it can work and then add space in between or scale. That resolution would be 112x70 and I would display it at 224x140 either scaled or with space in between.

                      There is a lot to think about. First step is 320x200x16 at 8 fps to 10 fps - then we'll get to the flicker mode....

                      Comment


                        #12
                        For audio you only really need 16kHz 8-bit mono, and for video there's two choices - frame rate or resolution. Personally I think 15 (30 actual) fps could look pretty good but even though the TL is 286 it's fully XT architecture - 8-bit ISA slots and no ZWS line either, in other words all expansion boards probably run with ~750ns cycle time. Not sure how the built-in video is wired up; running some simple timing tests on it should provide an answer though (REP MOVSW to video RAM).

                        Comment


                          #13
                          Since this stuff is a bit Tandy specific, what about a small memory expansion card that filled in upper conventional RAM - the same RAM the video controller is scanning from. Then add an IDE interface to that with on-board DMA. It would be cheating, but the first design iterrations I did for JR-IDE (on paper) did just that. The DMA transfer loop, lane steering, and latch logic fit in an ATF1508. The 1MB RAM was organized in 16 bits with two parts on the back of the pld along with the IDE header. Block transfers to an on-chip address target could run as fast as any modern IDE device supports with an independent clock. Again.. cheating but a thought. It would still use the on-board video for output.
                          "Good engineers keep thick authoritative books on their shelf. Not for their own reference, but to throw at people who ask stupid questions; hoping a small fragment of knowledge will osmotically transfer with each cranial impact." - Me

                          Comment


                            #14
                            Even with the 8237A DMA directly to video RAM is perfectly possible! But the 8-bit 5MHz slots I think will be a bit problem collecting the data.

                            Comment


                              #15
                              I'm not talking about an 8237A which most Tandy's lack.
                              "Good engineers keep thick authoritative books on their shelf. Not for their own reference, but to throw at people who ask stupid questions; hoping a small fragment of knowledge will osmotically transfer with each cranial impact." - Me

                              Comment

                              Working...
                              X