Jump to content

Vorticon

Members
  • Content Count

    4,687
  • Joined

  • Last visited

  • Days Won

    2

Posts posted by Vorticon


  1. The XB loader does not understand the REF directive. Therefore you cannot REF the VDP utilities and things like KSCAN. :(

     

    You must state their addresses with EQU directives. :mad:

     

    Of course, all the utilities are at a different address to TI BASIC/ED-AS, and I'm afraid I don't have them for XB.

     

    Anyway, that is the reason for the run-time error.

     

    HTH

    Ah hah! Now that makes senses. Any idea where the XB addresses are listed?

    Smart Programmer found on WHT has them -- I'd scan the page but I don't have access to them right now. Good thing Wills brought those up -- I had forgotten about those stupid EQUate requirements! DOH!

     

    Found them in the March 84 issue. Thanks! One problem though: CALL INIT does not load GPLLNK or DSRLNK... Bummer...


  2. The XB loader does not understand the REF directive. Therefore you cannot REF the VDP utilities and things like KSCAN. :(

     

    You must state their addresses with EQU directives. :mad:

     

    Of course, all the utilities are at a different address to TI BASIC/ED-AS, and I'm afraid I don't have them for XB.

     

    Anyway, that is the reason for the run-time error.

     

    HTH

    Ah hah! Now that makes senses. Any idea where the XB addresses are listed?

    • Like 1

  3.  

     

    Sorry didn't have the Big Book of Magic" when I wrote that..... It's address >83D4. You need to change it's value to reflect what you write into VDP REG 1 or when ever KSCAN is called (such as in the ISR) VDP REG 1's value gets changed back to whatever it originally was before you changed it..... Hmmmmm that doesn't even make sense to me. Anyway that sound like what MAY be going on.....

     

    invisibility cloak on..... ;-)

    Oh that! Yes I did :) I actually have this fact highlighted next the the VR1 entry in my EA manual...


  4. Loading the code? The console interrupt would not affect loading, but I thought you said you got it to load now? The way your post sounded, you got it to load, but when it ran things went wrong. As soon as you CALL LINK to your code, you need to do a LIMI 0 and leave it that way. As soon as you enable GM2 you can never go back to BASIC.

     

    Matthew

    That's what I thought... Yes, I did get it to load from BASIC, but what I really need is a load from XB so I can create an autoload menu. So far no dice there. I think Tim is right about GPLLNK needing to be loaded independently, and that's not going to work for me. This would have been a great problem to tackle at the pre-Faire get-together :) Between you, Tim and Marc, I had some of the best coders around!


  5. I tried loading the compressed object code from TI Basic with the E/A cart plugged in, and I did not get any errors, and the screen cleared up and the background was black as intended, but then it started randomly filling up with characters. It looked as if the bitmap mode never kicked in, and the SIT was being written to randomly. My program sets the SIT at VDP address 0 for >1800 bytes, which obviously overlaps the graphics mode default SIT (>800 I believe). Does any of this shed any light?

     

     

    Did you set the magic address in the scratch pad so that any key presses don't muck up your VDP register ? This trips me up all the time...

     

    What is the magic address??? Maybe I know it by another name :)


  6. Since you are going to trash VDP RAM and not return to BASIC, the first thing you need to do is disable interrupts! If you don't, the console ISR will still run. Also, you probably need to set *all* the VDP registers to make sure the tables are set up where you think they are.

     

    Those are the first two things that come to mind anyway.

     

    Matthew

    Forgive my ignorance, but why are interrupts important here? How do they affect the loading of the code?


  7. I tried loading the compressed object code from TI Basic with the E/A cart plugged in, and I did not get any errors, and the screen cleared up and the background was black as intended, but then it started randomly filling up with characters. It looked as if the bitmap mode never kicked in, and the SIT was being written to randomly. My program sets the SIT at VDP address 0 for >1800 bytes, which obviously overlaps the graphics mode default SIT (>800 I believe). Does any of this shed any light?


  8. Three thoughts come to mind:

    1. Unlike EA option 3, XB won't load Compressed object code. If you assembled with the "C" option, reassemble without.

    2. Your program must be relocatable and fit within the confines of the lower 8K together with the utilities and the REF/DEF table.

    3. Something in the back of my mind says the GPLLNK routine is not part of the XB utilities and to use it, you'll need to include your own. Your syntax error may be generated by GPLLNK or a utility that can't be referenced by the CALL LOAD loader.

     

    I did assemble using the RC options. I'll see if not using C makes any difference. If it is a GPLLNK issue, then that's the end of it... How big is 22 sectors?


  9. Can you post your code from the DEF through to your START label? Also, how are you assembling?

     

    The sound player code is pretty straight forward. It is assembled like normal and the XB loader fixes up the addresses (meaning you DO NOT code with any AORG.) You have to DEF your entry points, but that is pretty much it. Assemble the object code and use it in CALL LOAD.

     

    Matthew

     

    Here it is:

     

    *****************************
          DEF  START
          REF  VWTR,VSBW,VMBW,VSBR,VMBR,XMLLNK
          REF  GPLLNK,KSCAN
    GPLSTS EQU  >837C
    KEYADR EQU  >8374
    KEY    EQU  >8375
    FAC    EQU  >834A             * FLOATING POINT ACCUMULATOR
    ARG    EQU  >835C             * FLOATING POINT ARGUMENT
    STACK  EQU  >836E             * POINTER TO VDP RAM
    SUBRTN BSS  2                 * SUBROUTINE RETURN ADDRESS
    FPZL1  BSS  8
    FPZL2  BSS  8
    FPTMP1 BSS  8
    FPTMP2 BSS  8
    FPTMP3 BSS  8
    SAVLOC DATA >B000,>C800,>E000
    GXDAT  DATA 0,0,0
    GYDAT  DATA 0,0,0
    GX     DATA 0
    GY     DATA 0
    ZX0    DATA 0
    ZY0    DATA 0
    ZX1    DATA 0
    ZY1    DATA 0
    SPRTY  DATA >5300             * INITIAL WINDOW Y COORDINATE
    M      DATA >8040,>2010,>0804,>0201
    WFLAG  DATA >0000             * WINDOW FLAG
    PFLAG  DATA >0000             * CALCULATIONS PROGRESS FLAG
    ZFLAG  DATA >0000             * ZOOM FLAG
    ZFLAG1 DATA >0000             * ZOOM LEVEL 2 FLAG
    EFLAG  DATA >0000             * ENTER KEY FLAG
    ZLEVEL DATA >0000             * ZOOM LEVEL
    COUNT1 DATA >0000             * CALCULATIONS ITERATIONS
    ONE    DATA >0001
    TWO    DATA >0002
    DEC3   DATA >0003
    ASCW   BYTE >57               * ASCII W
    ASCE   BYTE >45               * ASCII E
    ASCX   BYTE >58               * ASCII X
    ASCS   BYTE >53               * ASCII S
    ASCD   BYTE >44               * ASCII D
    ASCB   BYTE >42               * ASCII B
    ASCF   BYTE >46               * ASCII F
    ASCQ   BYTE >51               * ASCII Q
    ENTER  BYTE >0D               * <ENTER> KEY
    SPACE  BYTE >20               * <SPACE> KEY
    ANYKEY BYTE >20
    P      BYTE >3F,>28,>00,>00,>00,>00,>00,>00  * 0.4 - INITIAL VALUE
    R      BYTE >40,>02,>32,>00,>00,>00,>00,>00  * 2.5 - INITIAL VALUE
    FP1    BYTE >40,>01,>00,>00,>00,>00,>00,>00  * 1.0
    FP170  BYTE >41,>01,>46,>00,>00,>00,>00,>00  * 170.0
    FP191  BYTE >41,>01,>5B,>00,>00,>00,>00,>00  * 191.0
    FCONST BYTE >40,>02,>32,>00,>00,>00,>00,>00  * 2.5
    FCNST  BYTE >3F,>28,>00,>00,>00,>00,>00,>00  * 0.4
    FCNST1 BYTE >3F,>0A,>00,>00,>00,>00,>00,>00  * 0.1
    COEF   BYTE >3E,>01,>00,>00,>00,>00,>00,>00  * 0.0001 - INITIAL VALUE
    NEGONE BYTE >BF,>FF,>00,>00,>00,>00,>00,>00  * -1.0
    THREE  BYTE >40,>03,>00,>00,>00,>00,>00,>00  * 3.0
    FOUR   BYTE >40,>04,>00,>00,>00,>00,>00,>00  * 4.0
    FP10   BYTE >40,>0A,>00,>00,>00,>00,>00,>00  * 10.0
    FP64   BYTE >40,>40,>00,>00,>00,>00,>00,>00  * 64.0
    TITLE  TEXT 'Chaos Demonstration - Logistic Equation'
    CREDIT TEXT 'By Walid Maalouli - October 2010'
    PRESSK TEXT 'Press Space Key To Continue'
          EVEN
    START  LI   R0,>0200
    

     

    I'm not using any AORGs. Any hints?


  10. Hi.

     

    I am trying to create an XB loader for my chaos programs for ease of use, but I have never done this before. I have 3 object code programs that I want to run from a menu, so I tried a little test from XB to load one of them, and I kept getting a syntax error on line 20

     

    10 CALL INIT

    20 CALL LOAD("DSK1.LOGISTIC")

    30 CALL LINK("START")

     

    The Logistic program uses the full bitmap screen as well as the usual VDP utilities (VSBW etc... along with GPLLNK , XMLLNK and KSCAN). The program entry label is START.

    Where is the issue here?


  11.  

    Thinking about Head-Slapping Moments in Assembly Language Programming , I was writing a simple screen blanker module for the BBS, a clone of the blanker in the TI. Of course it did not work properly and I had the damnedest time figuring it out. I even rewrote the code. I left it in frustration and came back to it later, and there it was starting me right in the face. If you are familiar with 6502 assembly then you know how CMP works with BNE and BEQ. Right there... there it was, a BEQ instead of a BNE (or opposite, I cannot quite recall and I think this part changes every time I tell the story.)

     

    Damn that sounds familiar :) For me, the most common error is forgetting that byte operations are done on the most significant byte of a word. My palm is still imprinted on my forehead. Have to go: I'm playing Orbiter on my Pcjr and I have to begin the deorbit procedure!


  12.  

    Interesting trivia: In the late 1950's, the legendary MIT hacker Peter Samson was notorious for not commenting his code with ONE exception: In one well distributed program running for hundreds of lines, there was only one comment next to an instruction containing the number 1750. The comment was RIPJSB. Can you figure it out? :? (source: Hackers by Steven Levy. Amazing book if you have never read it).

    "Rest In Peace Johann Sebastian Bach" (year of death). :cool:

     

    Ahhh! You read the book! if not, well chapeau bas!


  13.  

    3. Personally I'm opposed to the VSBW and company routines, but using them now can help make your code *look* smaller. Just keep in mind that at some point you will need to learn what they do and replace them. Also, remember they *drastically* slow down your program.

     

    4. Comment you code. Typically most people comment every line in assembly. I find this a *little* helpful sometimes, but what is more useful is a block comment that describes what the following code does. Use comments of individual instructions to explain why you are using a certain value or memory address.

     

     

    I keep hearing about how slow the internal VDP routines are, but quite honestly they fit the bill for the vast majority of the time for most projects. I suggest you stick with them until you hit an unacceptable performance point. Test your program with them, and if you are happy then everything is cool. Otherwise, replace them (not too hard to do). I know the purists here are probably pulling their hair out by now and clamoring for my lynching, but I am a simple guy that does not need to complicate his life unnecessarily :)

    As far as commenting, trust me when I say that you cannot comment enough! Since comments do not take any memory space after compilation, go wild! I tend to comment almost every line because I can't understand my own code a couple of days later :D

     

    Interesting trivia: In the late 1950's, the legendary MIT hacker Peter Samson was notorious for not commenting his code with ONE exception: In one well distributed program running for hundreds of lines, there was only one comment next to an instruction containing the number 1750. The comment was RIPJSB. Can you figure it out? :? (source: Hackers by Steven Levy. Amazing book if you have never read it).


  14. This discussion is pretty good on all sides, and I think some clear patterns are emerging -- both Matthew's and Tim's lists are great.

     

    As for joining another faire, that might be interesting, but for me, I live in Silicon Valley already. I can go to Apple 2, C64, etc group meetings anytime, or just visit the Computer History Museum for a fix. (In fact there's a yearly show at the Computer History Museum that I've been planning to try and start showing at...) The TI stuff is special to me. I might go to a larger faire, but I would be less inclined to make sacrifices for it, knowing that most of the people there are just going to glaze over the stuff, or just say "I remember that machine, do you have Parsec?" Besides that, to me the fact there is still an original Chicago TI User Group Faire every year is kind of special. We can still have both without any serious worry.

     

    In my experience, Hal is super receptive to offers of assistance and all that needs to be done, is follow-through. Sure, last year we all made some comments, right after the faire, but to complain that 11 months later Hal didn't do what we recommended, well, we have to take some blame for that.

     

    I did talk to Hal before the faire and emphasized that we wanted time to mingle and socialize after the presentations, and he assured me that was the case, but presentations ran overtime. This is where we do need the much-suggested fellow with the stopwatch -- there's nothing saying that has to be Hal!! The TI community already thinks I'm an ass, I can do it. ;)

     

    I wouldn't mind the night-before hacking at the hotel as an unofficial/official room party event. I would definately have been at that if I wasn't so bloody dead, but like Walid I would have briefly attended the Legion too, just to say hi.

     

    I think the conversation needs to continue, for sure. We should invite Hal in, but this is what I suggest we ultimately actually DO in order to improve the faire for ourselves next year would be first to agree on the items that need improvement, without fault of course! Then determine what the best format that accomodates everyone might look like, and come up with a solid proposal for this -- at this point we need to bring Hal in to help meld this into something we can actually do. Finally, and most importantly, we must make committments to see that proposal through. In some cases that might mean arriving early to help set up, like Berry Miller did this year. If we just leave it to Hal he'll do what he knows -- not out of stubborness but simply because of habit and time constraints. He's been doing this practically by himself for years and years now.

     

    I think the last point is key. Once we can come up with a clear and concise agreement of what we want to put together, we need to put ourselves down and make a committments to actually see it through.

     

    So for my part, I like the presentations but would like to see them reduced to 20 mins each, and preferably end by noon. I would like to see more emphasis on table vendors and have time to visit the tables to see projects, talk to people, and browse merchandise. (I didn't even get one of Richard's modulators!) I think the live web streaming is actually a good thing, but it needs to be combined with local recording just in case. (In fairness, Hal and Berry worked on the live streaming before the show and felt they had the issues worked out). The location is okay but if they are inflexible maybe it wouldn't hurt to look around. That said, they've been there a long time and Hal probably has some financial pull with it that keep costs down -- in addition, it's still a small show and it would be a mistake to grow it too fast, so I am not in favor of a location change. A schedule should be produced before the show starts so everyone knows when they are up and when we are free. And of course, advertising is a good thing.

     

    It's early yet to seek volunteers, and some may come from the OLUG as well.. so let's focus on narrowing down what a day at the faire should look like. We had eight presentations, so if I were to take a first stab based on this year's show, I'd think something like this:

     

    08h00 - Pre-faire breakfast and meet up (generally at BK ;) )

    09h00 - Table Setup (I would think 30 mins is enough, but many people weren't even there till after 9:30)

    09h45 - Opening remarks, Owen's Anthem, etc :)

    10h15 - 5 minute pause between presentations for the next one to set up (not listed on schedule)

    10h20 - First presentation - "All About Why Salt is White"

    10h40 - 5 mins separation between talks (not printed on schedule itself)

    10h45 - Second presentation - "Why Your Wife Would Laugh at an 8" Floppy"

    11h05 - 5 mins separation between talks (not printed on schedule itself)

    11h10 - Third presentation - "Installing a C2 'Bubbles' CPU into your Speech Synth"

    11h30 - 5 mins separation between talks (not printed on schedule itself)

    11h35 - Fourth presentation - "Buy My Stuff, It's Awesome"

    12h00 - 45 min Lunch break - bring your pizza back!

    12h45 - Introduce the Afternoon Session (10 mins)

    12h55 - Fifth presentation - "Secret Goings-On in Europe"

    13h15 - 5 mins separation between talks (not printed on schedule itself)

    13h20 - Sixth presentation - "Ensoniq-64 For the PEB"

    13h40 - 5 mins separation between talks (not printed on schedule itself)

    13h45 - Seventh presentation - "32-bit Sprites on the FPGA9918ABCD"

    14h05 - 5 mins separation between talks (not printed on schedule itself)

    14h10 - Eighth presentation - "The person who forgot to reserve a slot till the last minute"

    14h30 - Closing Remarks (10 mins)

    14h40 - Get to the tables! (3 hrs unstructured)

    17h40 - Pack up the room

    18h00 - Room closes - drop off stuff at hotel

    18h30 - Dinner meet commences

    19h00 - Presentation of awards, determination of web site award

    20h00 - Depart dinner meet, 30 mins to reconvene

    20h30 - Pub crawl commences, for those interested

     

    One place that is flexible with advance planning is the presentation block. If people reserve their speeches in advance, we can more easily determine how many we really need. I think this is about the same size as last year, so with the size we have right now this seems reasonable to me. Those who don't want to attend the presentations (or only want certain ones), can then know exactly when they have to be there. Sadly, some slip must be expected, but the timekeeper's job is to try and keep that slip in the 5 minute windows.

     

    Q&A is a problem with a tight format like this. The best way to address that is to coach the presenters when they reserve a block. Remind them they have 20 minutes and it will be tightly controlled. Recommend some good web sites for on-subject presentations, and suggest that if they expect questions, to reduce the length of the presentation accordingly. For instance, a new product demonstration might want 10 minutes of demo and 10 minutes of question, while a historical presentation might expect fewer questions, and run 15 minutes instead. These suggestions would be included with the block reservation.

     

    Of course, this might feel rushed to some people. I think I'd also recommend that they have presentations for their table as well -- placards, handouts, what-have-you, so that people who want more information can come over and get comfortable enough to ask questions or just listen to stories at will. That's the way I think it would flow.

     

    (Hope all that makes up for how far behind I got ;) )

     

    I like it. I will try not to be item #8 on the presentation schedule next year ;) One question though: what if we have more than 8 presentations? Who decides what stays and what gets nixed? Or do we just shorten the presentation time? I personally think that 10-15 minutes should be more than sufficient for most, because further explanations can always be made at the tables later on as Matthew suggested.


  15. BTW, how is the cigarette smoke? I hate to be a punk, but I have a sensitivity which tends to lead to debilitating headaches.

     

    I don't recall anyone smoking this year at the AL. I used to get severe migraines, whether induced by the carcinogens or a psychosomatic reaction (my dad smoked), and tend to steer clear of cigs where I can. Now solder smoke OTOH is nearly as pleasing as smelling bacon or coffee in the morning :rolling:

     

    No worries. I'll bring cigars next year :D


  16.  

    I don't think formal awards do much except to create strife and politics both of which are nicely absent from AA at this point. It's my opinion that results and efforts tend to speak for themselves without the extra trumpeting. Contests I am in favor of because of this but the obligatory award.... meh....

     

    Ditto.


  17. Guys, you can say stuff like "this is what Matthew said"... Yeah, I wrote that. And guess what, we already *did* our own thing this year, and Walid "you" were part of it!! We left the American Legion early and went back to Tim's room to mess with hardware and hack some code, I showed off the F18A, etc. If it were up to Hal, we would have stayed at the A.L. and drank beer until they closed, talking about how Chicago and Illinois politics and politicians are all corrupt.

     

    If events turn out next year like this year, you think I'm going to the A.L. at all? Guys, I have no interest in drinking alcohol and talking about politics, sorry. Especially after driving 250 miles through snow and Chicago traffic to get up to Evanston.

     

    Matthew

    Matthew, you are missing the point of the Friday gathering all together. The primary objective is fellowship with fellow TIers you have not seen in at least a year, and usually some shop trickles through. It was never intended as a Faire event but rather a tradition. And yes you are right, I did eventually join you at the hotel and enjoyed the technical discussion very much, but not before I also caught up with my old friends and exchanged shady jokes and caught up on life in general over a few beers and pizza. Over time, these people grow on you, and you will start looking forward to spending some quality time with them even if no TI stuff is ever discussed. Maybe you will get there some day, or maybe not, and it's simply a different outlook, and there is absolutely nothing wrong with that. And guess what, I'm actually already looking forward to seeing you and Marc and Mike and Tim again next year :)


  18. I'm not threatening anything... Ugh, this is totally a conversation that needs to be had IN PERSON.

     

    However, some people can't go to multiple computer shows a year, and the size of ours is obviously not big enough to entice even a fraction of the actual TI community to attend. When you are small or hurting, you reach out for help.

     

    I'm also not against helping out, I'm willing to step up, however Hal has not asked for help... If he has already set the date for next year, then obviously it will again be at the Evanston library, follow the same format, etc. and that would indicate to me that nothing is going to change. There was also a comment made over on the Y! list that "there's a lot of TI world outside these forums". So what is being done to let those other people know about the Faire, and to get them to come?

     

    To affect change for the good of the entire Faire, IMO this is what needs to happen:

     

    1. Hal needs to agree that he could use some help.

    2. A committee formed to make decisions and spread out the workload.

     

    The rest is committee work:

     

    1. An official domain registered.

    2. A website created with tons of info about past Faires, and info about the upcoming Faire.

    3. An appropriate venue and time of year selected.

    4. Vendor commitments made and advertised.

    5. Pre-registration opened as soon as the current year's Faire is over.

    6. Charge $10 or $20 a day to attend (people spent more than that on beer.)

    7. Advertise like crazy. There are tons of free "computer events" lists all over, none of which mention the TI World Faire.

    8. Make a news letter or official periodic news posts on the official website.

     

    I'm all for charging since we are too small to have the event for free. That would give us options that we don't currently have, like picking a venue that we can use 24-hours from Friday to Sunday, catering the events ceremony, etc. At the "peek" of the day Saturday I stopped and did a head count in the room: 30. That's it guys (there were no women, except 1 who came along with her husband who was there for 15 minutes.) But, 30 * $20 each is still $600 that could have been used to help run the event.

     

    I don't think joining with another related event would dilute anything. Setting up the sub-forum here on A.A. did not dilute the rest of the A.A. forum, or affect anyone posting here. Everyone thinks the new hardware is really cool, but right now there are only 2 or 3 of us and we can only do so much. Other retro-computer systems have had their systems implemented in an FPGA for *years*. They have ethernet cards, USB devices, mega carts, etc. So getting some face time with the people doing that hardware for those systems would help entice them to look at the 99/4A. Hell, Marc's sound card is using the C64's SID chip, so imagine if he got to talk to that guy at the C64 show who was hacking the C64's sound! Or what the C64 guys would think about us adopting their sound card... Everybody wins.

     

    Maybe I'm barking up the wrong tree though, for what I want from a TI computer Faire. I had three primary TI-related goals (the other goals were to meet people from the forum, which was a great success) for the Faire:

     

    1. To have some good talks about additional features for the F18A beyond original 9918A functionality.

    2. To talk about what people want in the way for a mega-cart, or the direction we should be going with the current cart developments.

    3. To talk, in detail, about new hardware that people might want, like PEB replacements, networking, video, sound, keyboards, etc.

     

    I did not get a chance to talk to anyone about any of that. Making hardware takes a *lot* of time and money, and trying to guess what people want sucks. It is better to ask and talk about it. Yes you can do that in the forums, but talking face to face with people is a rare treat, and it did not happen much this year. Am I expecting too much from the Faire to assume people there also want to talk about new hardware at a technical level?

     

    Anyway, I've said my piece. I would like the Faire to grow and have more emphasis on keeping people together longer to mess with the computers (the reason we are there, right??) I'm willing to help any way I can, however I'm going to be pessimistic (it's my nature) and say "they" don't want change. I hope I'm proven wrong!

     

    Matthew

     

    All great things Matthew. However, you need to also consider other people's needs. Not everybody is into hardware like you are, and some enjoy just reminiscing about the good old days, and that's OK too... I will talk to Hal about all that is being suggested here and I'm positive he will be all ears. After all, if he is not receptive, then the future of the Faire might be compromised...

     

    Walid


  19.  

    I find it grossly insensitive when suggestions are made "to take our wares elsewhere", especially coming from some who have never attended the Faire before.

     

     

    Hmmmmmm......I didn't see that anywhere Walid.

    Here's the direct quote.

     

    "If Hal is not interested in changing anything, then like the A.A. forums, we will have to do our own thing."


  20. Actually Hal has already set the date for the Faire next year in his Faire report on the Yahoo group (I forget but it's early November again). I am positive that Hal will be open to any changes we suggest, again because the dynamics of the TI community itself are changing.

    That said, we should respect all the work Hal has done over the years in maintaining and perpetuating the Faire against overwhelming odds, and I find it grossly insensitive when suggestions are made "to take our wares elsewhere", especially coming from some who have never attended the Faire before. And I personally have no interest in diluting the TI Faire with other classic computer conventions. If I want to see other computer systems, I can always attend other venues...

     

    My 2 cents...

×
×
  • Create New...