Forum Update - Announcement about May 10th, 2018 update and your password.

WordFire Quad-Screen Word-Game Console and Clock

13»

Comments

  • @David: For those ten units, only two have screens and driver boards. But the PCB's in all of them are populated and tested (except for audio chips). For that batch of 10, the soldering went well; I only had a couple shorts to resolve (none would be better, but my eyes aren't what they used to be even while working under a lighted magnifier). In addition to screens and driver boards, I need to source keyboards. I just finished going through 100 pages of keyboard listings with about 40 items per page to see what's available. Of course, the vast majority are not suitable for my project (due to price, size, style, connectivity, etc.). Fortunately, I came up with a few candidates. Again, suppliers come and go, so I was somewhat concerned about availability. It's actually easier to source the screens than the keyboards.
  • Sounds like a big job! Your project has motivated me to try making my own PCB. It wouldn't be for a game platform like yours. That's way beyond my ability. I will probably start with a simple PCB to drive WS2812 LEDs.
  • Working on a project is definitely a good way to learn, probably the best way.
  • JRetSapDoog, Awesome project and product!! Very well done, great videos, overwhelmingly detailed explanations and I salute your passion for your design. Watching the videos on the word games grabbed my interest in your product, so I may be a future buyer.

    On the topic of other game options, I would think that a version of Battleship would be possible?? Maybe even a 4 way version? Other ideas are Snake, Minesweeper, Colossal Cave Adventure, and something along the lines of a Choose Your Own Adventure book.
  • JRetSapDoog, Awesome project and product!! Very well done, great videos, overwhelmingly detailed explanations and I salute your passion for your design. Watching the videos on the word games grabbed my interest in your product, so I may be a future buyer.

    On the topic of other game options, I would think that a version of Battleship would be possible?? Maybe even a 4 way version? Other ideas are Snake, Minesweeper, Colossal Cave Adventure, and something along the lines of a Choose Your Own Adventure book.
    I like the idea of multi-player text adventures and have been thinking about how to do one on this platform. Of course, that presumes that we are able to actually buy this! :smiley:

  • I think a 4 player battleship game is a absolute doable and cool idea.

    There might be other board games able to move to 4 text screens

    Not sure about all those text-adventures, as far as I remember there where not made for multi players, conceptual.

    Card Games may be possible, one TUI engine for cards could be used for different games.

    Enjoy

    Mike
    I am just another Code Monkey.
    A determined coder can write COBOL programs in any language. -- Author unknown.
    Press any key to continue, any other key to quit

    The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this post are to be interpreted as described in RFC 2119.
  • msrobots wrote: »
    I think a 4 player battleship game is a absolute doable and cool idea.

    There might be other board games able to move to 4 text screens

    Not sure about all those text-adventures, as far as I remember there where not made for multi players, conceptual.

    Card Games may be possible, one TUI engine for cards could be used for different games.

    Enjoy

    Mike
    There were things called MUDs for a while (multi-user dungeons) that were sort of like text adventures but for multiple players. Of course, those were generally played over a network connection. I'm not sure there would be any real advantage to playing them with four people in the same room.
  • well the advantage is to have 4 people in one room :smile:

    Mike
    I am just another Code Monkey.
    A determined coder can write COBOL programs in any language. -- Author unknown.
    Press any key to continue, any other key to quit

    The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this post are to be interpreted as described in RFC 2119.
  • msrobots wrote: »
    well the advantage is to have 4 people in one room :smile:

    Mike
    If that's the only advantage then all four could be playing the game on a phone app coordinated by a cloud server.

  • While a four player version of a text game may not be ideal, what about splitting it to where 2 players are selecting scenarios/decisions/outcomes and the other 2 are "playing", (making the choices)?
  • While a four player version of a text game may not be ideal, what about splitting it to where 2 players are selecting scenarios/decisions/outcomes and the other 2 are "playing", (making the choices)?
    That's a good idea. Or have one "dungeon master" and up to three players.

  • @WBA Consulting: Thanks, WBA. That means a lot coming from you, someone who knows what it takes to make something. I appreciate the encouragement. Thanks for taking a look at the videos and for the game ideas. --Jim
  • What about using an inexpensive MCU that can do USB to interface the keyboards so you don't have to locate PS2 compatible ones? You could even connect it to the EEPROM pins and have it simulate the boot EEPROM so you don't have to add to the chip count. Then the keyboards could appear as I2C devices after boot. That would free up pins to support more colors as well.
  • jmgjmg Posts: 11,418
    David Betz wrote: »
    What about using an inexpensive MCU that can do USB to interface the keyboards so you don't have to locate PS2 compatible ones? You could even connect it to the EEPROM pins and have it simulate the boot EEPROM so you don't have to add to the chip count. Then the keyboards could appear as I2C devices after boot. That would free up pins to support more colors as well.

    Interesting idea - I did see a CH554 MCU that claims to do USB Host, for Jiangsu Qin Heng CH554G Package: SOP-16_150mil 100+ $ 0.4492
    ( Not sure how easy that is to code, from Chinese data .... ? )
  • JRetSapDoogJRetSapDoog Posts: 540
    edited June 12 Vote Up0Vote Down
    @Dave: That's worth considering, but it sounds like it's over my head and would require learning another architecture. Do you have a specific chip in mind or are you just assuming that there must be something available (and that it could handle multiple keyboards, though I think the HID protocol can handle up to seven)? The one chip that jmg mentiond is Greek, er, Chinese to me, and who knows how long it'll be around (though it looks to be 8051-based).

    I do wonder if they've licensed it properly. I also wonder if using such a USB chip and USB keyboards would require me to license USB (become a member or whatever other stupid and expensive hoops one has to jump through for something so mundane). Heck, I even wonder that about the USB sockets I'm using. Anyway, I don't advertise this as being USB compatible and it's not, so I'm not too concerned about it. And even if the system were USB compatible, I could forego using the USB logo. There really ought to be a waiver for use of default or de facto standards for small entities anyway, in my opinion.

    Also, this chip suggestion makes me recall that I used to have a second Propeller in some of the prototypes, and in a couple of them, the second Prop just handled the keyboards. Back then, I wasn't sharing the vsync and hsync signals, so this didn't allow for extra colors. But I can see how it could free up six (possibly seven) pins. Assuming just six pins, that would allow adding an additional bit, say, for the green channel, and two free pins for whatever. But I don't really think that's much of an advantage color-wise over what I've already got...as what I've got already allows for text-based games with a lot of color combinations.

    Regarding PS/2-compatible keyboards, they're not so hard to find; it's just that it's difficult to confirm with vendors as to whether their offerings are compatible or not (I wish I could deal directly with the manufacturers, but at my small quantities...). So far, I've been pretty lucky guessing compatibility based on just appearance/style, cost and country-of-origin which ones have a good chance of being PS/2 compatible (quite a few of them are) And I'm glad that the keyboards I buy are all USB compatible, that way they can be repurposed if desired. Of course, it'd be nice if my main board could work with USB-only keyboards, but it doesn't.

    But assuming P2/2 keyboards will be used, which in all likelihood they will, I'm sort of surprised that someone has suggested a way of connecting them up with some kind of hopefully expensive interface controller to save pins on the main Prop, again to add colors or other functionality. I haven't looked into that but it might be possible. However, it would require an overhaul of the keyboard driver. Anyway, a second Prop can handle that easily, for about $8 of cost over what another chip (or microcontroller) would add (though likely with a bigger footprint considering the crystal and eeprom the Prop uses). Anyway, thanks for the ideas, guys, and the related discussion.

    By the way, I pulled the trigger on a VGA driver board order today, so I'm slowly making headway to build out some consoles for sale. However, there are still other parts to order. For example, I hope to order some 4-pin PH2.0 cables because I've been sacrificing my 12-pin cables to make 4-pin cables, but doing so is time consuming and not as pretty. Anyway, if all goes well, new driver boards should be on the way soon. It's been some time since I've ordered parts from China, and It took me a while to arrange the payment stuff (I had someone help me). But I'll probably wait until I see confirmation of shipment before I order again (even though I'll be using a different vendor).
  • Peter JakackiPeter Jakacki Posts: 7,252
    edited June 12 Vote Up0Vote Down
    BTW, I started to look at using Logitech wireless keyboards and mice because they essentially use an nRF24L01 for communication so it should be possible to use a cheap nRF24L01 chip or module and hey presto, instant interface, and no need to worry about USB. I say "should be possible" as I started to play with the chip a while ago sniffing packets in promiscuous mode as an experiment in Tachyon. I will let you know how that goes but it certainly is a much better way to interface to hids rather than going the old PS/2 route which btw if I was contemplating I would still use USB connectors with a PS/2 protocol and just use those devices that supported both but without the dumb and bulky and passive "USB to PS/2" adapter.
    Tachyon Forth - compact, fast, forthwright and interactive
    useforthlogo-s.png
    --->CLICK THE LOGO for more links<---
    Tachyon Forth News Blog
    P2 SHORTFORM DATASHEET
    TAQOZ documentation
    Brisbane, Australia
  • Good to hear you're making progress. You're right that my suggestion was only a half-baked idea. I don't know of specific parts and I don't know if a single part can handle multiple keyboards without some sort of (possibly external) hub. I didn't think about that until after I posted my message. You can just take this as the ravings of a lunatic and keep on your current path! :smile:
  • JRetSapDoogJRetSapDoog Posts: 540
    edited June 12 Vote Up0Vote Down
    @Peter. Great info! Thanks. Regarding, "..., and no need to worry about USB," does that imply that the nRF24L01 can output some kind of serial (non-USB) data, or did you mean in combination with something that already understands USB? Hopefully, you mean the former, otherwise, one would still be dealing with the USB protocol in some form. But if you are able to intercept keyboard scan codes or characters without a full implementation by sniffing, maybe the latter is vastly simplified.

    I recall reading scanlime's thread on the forums here about doing a simplified low-speed HID USB interface on the Prop. On top of that, she had a simplified Bluetooth stack. I think it all took around three cogs (or maybe four). Very nice work. But in the case of the current game console design with only one Prop, I regret that I have only one cog to give for my country of four keyboards (or maybe two cogs at the most), with apologies to Nathan Hale. But your way (with the nRF24L01) would allow for wireless keyboards without the Bluetooth stack (and, again, possible additional licensing woes). That could be an attractive solution.

    I suppose such a solution (particularly if not using a pre-certified module with the regulatory agencies) would increase the need for certification, but it appears that's unavoidable anyway for anything sold in volume or that's not experimental (and maybe even in that case).

    About PS/2-compatible keyboards, I use ones that have USB plugs on them, and they plug into USB type A sockets on the main board, so there's no ugly, "dumb" PS/2 adapter thingy (and no P2/2 connectors on the main board). The keyboards I buy are sold as USB keyboards and don't include a PS/2 adapter, but they can detect a PS/2 connection and switch over if it's detected. I supply +5V. Of course, the differential signaling pair is used for old-style serial rather than USB. I don't know if there's any risk of damage to USB-only keyboards being plugged into the USB sockets on the console's main board. I've done that a couple times and it seems not, but I'm not sure (it may depend on the keyboard). I do use inline current-limiting resistors (and pull-ups) for what it's worth. Anyway, I'm supplying USB keyboards with the system that are PS/2 compatible, so there shouldn't be any problem plugging them in, as they're designed to handle either the USB or PS/2 protocol.
  • JRetSapDoogJRetSapDoog Posts: 540
    edited June 12 Vote Up0Vote Down
    @Dave: If you're a lunatic (raving or otherwise), I'm a total imbecile crossed with a lunatic, as this is a rather crazy project to choose as one's first project. Yeah, I'm keeping on my current path. Hmm, that's sounds like good advice for an electron. What did one electron say to another one that asked for advice while they were meandering down a PCB trace? It said, "If I were you--and for all intents and purposes I am since we have the same potential--I'd keep on my current path." Hmm, I could do a pun with the word "advice," too, but I'll spare you. Come to think of it, I did write up a couple thousand puns once as a prelude to a possible game for the console. I haven't thought about further developing it as there's enough groaning in the world as it is. Edit: Now that I think about it, they were puns disguised as newspaper headlines. I've noticed that clever headlines use a lot of puns. You know, like "Dairy Farmers ____ Their Cows for All Their Worth." I just made that up on the spot, for better or worse, as an example. I'll leave it to the gentle reader to fill in the blank.
  • @Peter: Just did a brief search on nRF24L01 modules. They seem readily abundant (even if Nordic has newer offerings than the nRF24L01 for new designs). And the prices are quite attractive. Looks like the modules use SPI for communication, something the Prop can easily handle. And a video I watched mentioned that up to 125 channels can be created, but I don't know if that means that one module could be used with multiple keyboards or not. I haven't investigated things to see how things might "pair," to borrow a word from Bluetooth. Wonder if each device has a static, unique identifier. I guess the keyboards would have to have an identifier, but if it's not unique, that could be a problem. Offhand, I suppose pairing would all be done in higher level software on the Prop. Wonder if that means a module would listen to and report everything out there (unless instructed not to).

    Anyway, a potential problem in my case might be difficulty in being able to source cheap nRF24L01-based keyboards, and hopefully ones that aren't so big. That's important for the game console system because it potentially uses four keyboards. The keyboards I source are not the cheapest-of-the-cheap (because the cheapest keyboards tend to be BIG and ugly), but they're towards the bottom in price. Of course, it's easy to speculate that, someday, such wireless keyboards could be cheaper than wired ones, because the USB cables cost something and may be hand-soldered in place. Cables make keyboards bulkier and are a potential source of failure due to repeatedly needing to insert/pull plus and cable strain and the cable itself. But right now, wireless keyboards tend to start around 50% higher in price than the wired ones I buy. Now nRF24L01-based ones potentially could be a bit cheaper due to not needing to license USB or BT, but they probably won't be due to lower volumes. And stuff from Logitech is not really at the low end in price (though not unreasonably priced, either)

    Anyway, I love the suggestion of considering such wireless technology, Peter. And I'd love to hear about any progress you make or obstacles you encounter on that front. Frankly, your work around the Prop is amazing. You really seem to have your hands full, but still manage to crank out stuff. What you've been doing on the P2 forum is incredible. And not being content to squeeze Tachyon into the ROM, you're tackling documentation, logos, and board designs (and who knows what else). I can only watch you in slow motion.

    BTW, originally, I wanted to use wireless keyboards for the game console. But I wasn't able to find any good BT solutions that worked well with the Propeller. I knew that there were a lot of modules out there, but many didn't support HID, and even if they did, I don't know if they would work as hosts, if that's the right word. But back before I looked into BT, I tried making my own wireless keyboards by hacking existing USB keyboards with infrared circuitry. I started with a Princeton Technology remote control chip (I believe it was) and got that working. But it was a bit too slow for touch typing. For example, when quickly typing the word "the," the 'h' would often get missed.

    So then I pursued using a Microchip microcontroller to do the job (as I think it could do the job fast enough and could buffer keystrokes as necessary), but I ran out of steam. I knew that my desire for wireless keyboards was distracting me from finishing the game console design and writing games for it. I also reluctantly admitted that it would take too much time and cost too much to modify keyboards. So I wisely (I think) abandoned the effort, though not after investing some time and effort into it. Plus, I knew I was going to have to figure out a way to get the IR keyboards to work at close range in such a way that the four of them at 90 degree angles didn't interfere with each other (no small task considering how IR signals can bounce around). I was hopeful that a small, deep hole in the housing and sharp attenuation at the transmitter would do the trick (or possibly the use of different carrier frequencies, and I also briefly experimented with direct transmission (no carrier)). But I never pursued those ideas far enough to know if they could work.

    But the real impetus for using wired keyboards and just accepting the cables was the cheap prices that such keyboards can be had for if one shops around. To have any chance of making the game console a reality, I needed to be able to source components (especially, screens, driver boards and keyboards) cheaply. And it seems that nothing can really compete at present and likely in the near-term with the wired USB (PS/2 compatible) keyboards. Having said all that, I'll keep my eyes open for nRF24L01-based keyboards and so on...'cause you never know. Thanks again for the information. And good luck getting the nRF24L01 working in Tachyon, not that it's critical to the success of Tachyon. And congrats on bring Tachyon so far along and getting a version of it into the P2 boot ROM. Again, AMAZING!
  • jmgjmg Posts: 11,418
    ... I supply +5V. Of course, the differential signaling pair is used for old-style serial rather than USB. I don't know if there's any risk of damage to USB-only keyboards being plugged into the USB sockets on the console's main board. I've done that a couple times and it seems not, but I'm not sure (it may depend on the keyboard). I do use inline current-limiting resistors (and pull-ups) for what it's worth. Anyway, I'm supplying USB keyboards with the system that are PS/2 compatible, so there shouldn't be any problem plugging them in, as they're designed to handle either the USB or PS/2 protocol.

    Provided you do not drive 5V into the USB pins, you should be fine (unlikely with a Prop host).
    Does your code detect a keyboard plugged in, and give a message if PS/2 fails ?

    The PS/2 ones will use a MCU that auto-detects - I think Microchip make one, so those should be available for as long as the MCU stays cheap.
    ... But right now, wireless keyboards tend to start around 50% higher in price than the wired ones I buy. Now nRF24L01-based ones potentially could be a bit cheaper due to not needing to license USB or BT, but they probably won't be due to lower volumes. .... I tried making my own wireless keyboards by hacking existing USB keyboards with infrared circuitry. I started with a Princeton Technology remote control chip (I believe it was) and got that working. But it was a bit too slow for touch typing. For example, when quickly typing the word "the," the 'h' would often get missed.
    ..
    IR Keyboards sound even more niche than PS/2 ones ?
    For what you are doing, you certainly do not want a sluggish keyboard :)
    You could make the wired connection a feature - find you how fast you can poll a keyboard, and promote that ?

    For specing simple reaction time games, you could even build an electro-mechanical keyboard whacker, and measure the system response time and more importantly, the variations.
  • JRetSapDoogJRetSapDoog Posts: 540
    edited June 13 Vote Up0Vote Down
    @jmg: Thanks for the info. The +5V doesn't get anywhere near the data pins, and like you say, those are driven by the Prop. No, I don't report any keyboard failures. The keyboard LED's flash on being connected, but there are no error messages on screen in case of failure (I suppose that there could be).

    About the keyboard microcontroller, it never occurred to me that a Microchip part might be used (though I experimented with using a MC one for an IR kbd). I did wonder if Holtek chips were being used, as keyboard chips appear to be one of their specialties. Whatever chips are used, they are unpackaged and covered with black goop (COB). I'll bet lots of different keyboards are using the same chip, as so many of them are USB and PS/2 compatible. But if that chip source dries up, that could be a problem. But we could say that about everything, including the Prop. I think things will be fine as long as there is demand. And some places don't allow wireless keyboards.

    About IR keyboards, I wasn't planning on buying them, as I never found anything suitable in size/appearance (I would have liked to have been able to buy them, though). The closest I found were the old WebTV keyboards. Rather than buying, I was modifying keyboards similar to what I use now. But that wasn't a wise way to go, which would have been obvious to most people (guess I had tunnel vision or something). But you're certainly right that IR keyboards are niche products (I'm not sure I'd say that about the PS/2 ones, though, since they are widely available and may be available as long as wired keyboards are available).

    About measuring reaction times, while the keyboard driver is in PASM, the games are written in SPIN, which might be a limiting factor. I suppose I could store the system counter times that keystrokes come in (right now, keystrokes just queue up without times being stored). Anyway, I did consider doing a Whack-a-mole kind of typing game, only one where one "whacks" (types) letters that "pop up" on an image of a keyboard on a screen. Might be fun as a multiplayer game, and might help to teach typing.
Sign In or Register to comment.