Jump to content

jedimatt42

Members
  • Content Count

    3,419
  • Joined

  • Last visited

  • Days Won

    3

Posts posted by jedimatt42


  1. In other news, I just got a couple usb host shields from DuinoFun.com that appear to be nearly identical to the [email protected] device I have used in my prototype. It is slightly modified, in that it doesn't have the solder pads there are traces you might cut for certain applications. But it is still clear where to cut to isolate the VBUS 5v supply to the USB device.

     

    Supply chain on this piece is much better. About 1 week for delivery, instead of 30days for the other.

     

    And I've got a couple Teensy 3.2 boards, which is for my purposes completely pin/software compatible with the Teensy 3.1 I used.

     

    So I believe supply of these breakout boards I'm using will be healthy. Just something I was worried about.


  2. When you are ready to make your PCB, I recommend OSHpark (https://oshpark.com/) for getting a few boards. I used them for my initial beta F18A boards, for the F18A ADAM adapter, the BankSwitch Mini, and for a few other non-TI related projects. Cost is based on board size and something like my F18A board (~2" x 1.5") is about $8 per board.

    I've looked at OSHpark a bit. It looked promising. It's a bit of a leap to take :) But sometimes I think the instability I experience is the wiggly wires in the breadboard.

     

    You might also find the Keyboardio (http://shop.keyboard.io/) interesting. They had a kickstarter a while ago and I went to one of their cross-county events to try the keyboard in person. I backed them. Anyway, it is a good story and the keyboards should be really nice. The project prompted me to do some keyboard research and I learned that, sadly, PS2 keyboards are apparently better than USB keyboards; both on the keyboard and PC side of the connection. On the PC side it seems the USB key inputs are routed to the same circuits that directly accept the PS2 signals (probably for compatibility, which keeps the x86 architecture from ever getting better.)

    Keyboardio looks very related to some 'build your own keyboard' link that was posted earlier. I still can't believe someone wants to hit the modifiers with their thumbs... But it is cool. I believe in personalized computers. I'm a lefty in a righty world, so I respect the totally custom layout. But I actually enjoy a variety of keyboards, from my Logitech K750, which I'm surprised I like, to my Happy Hacking Keyboard Lite. I use too many different computers between work and home, that I need to customize them back to what my fingers know.

     

     

    USB and PS2 keyboards also have a maximum number of keys they can track simultaneously, something around six I think. People who need more "chording" (like for music and such) apparently buy special keyboards that support more simultaneous key presses. The Keyboardio has claimed to be addressing this problem as well. Modern keyboards also have simultaneous key limits because like the TI's keyboard, they don't have the required diodes across each switch to completely isolate the connection.

    I haven't seen anything in the USB keyboard 'boot' protocol that inherently limits the number of simultaneous keys, but it is those missing diodes, and how the matrix is wired up to the microcontroller in the keyboard that encodes it out to USB that is the problem. The makers have to balance consumer desire for cheap against the desire for quality.

     

    I'm not sure why adding the F18A to your system would affect your keyboard interface. When you say "I solved that with some capacitors", what exactly did you do? Where did you add the caps? I don't have any good capacitor references, but I'm sure a quick Internet search will give you more info than you care to know. But you can get into trouble really fast with caps if you don't understand what you are doing with them.

    I'm pretty sure I don't know what I'm doing with them, which is why I'm hoping to find something that can change me. I'd like to understand there role, and how to determine the correct size for an application.

     

    I don't really think the F18A did anything but mix up the power demands a little. It appeared as though the USB host control chip was continuously resetting, very rapidly. Normally, the guy who makes the USB Host shield, cheats on the 5v power to the usb device, and puts a capacitor (200uf) across the 3.3v/gnd supply from the teensy to the USB Host shield. But that was said to be to protect the shield causing undervoltage on the teensy and resetting it when the USB device is powered on. This is a 3.3v cheat that works with some usb devices.

     

    But I'm not powering the USB device off the 3.3v. I cut the connection between the VBUS and the 3.3v, and supply the 5v to VBUS like it is supposed to be for the USB standard. In the beginning, I had just the teensy and usb host shield. 5v wired to VBUS, 5v wired to teensy VCC, and the teensy's 3.3v out supplying the usb host shield's 3.3v in requirement. This worked fine for a cheap little wired USB keyboard.

     

    But then I ordered a wireless to test. And there was no joy. I read more, and experimented. The USB standard expects a host port to provide a certain amount of capacitance, but most host ports provide grossly more than the spec calls for. I think the spec wanted 150uf as a minimum. I worked my up to a 330uf capacitor at VBUS on the 5v line, and then the wireless unifying receiver from Logitech worked. This has been pretty stable for a while now, except I seem to have to wiggle the wiggly breadboard wires.. :(

     

    Ok, so enter the F18A. Like I said, I don't think it is anything bad with the F18A, it is just exposing that I get pretty far without hard knowledge :) So, in the 3.3v USB power cheat it was common to have a capacitor between the USB Host and the 3.3v supply from the teensy. So I put a 100uf cap there. That didn't seem to work.. I left it there, and then put another 100uf cap on the 5v line to the teensy, this happens to be in parallel with the supply to VBUS ( so there is also a 330uf cap downstream )... This works better, but when cold, still seems to need a few restarts to get it working. Then after it has been live for a while, I can take those two 100uf caps out, and power down, pause for a bit, and power back on and it all seems to work.

     

    So, I've got to learn something to figure out how to make this stable. I figured the 100uf wouldn't hurt as a greater value was not unheard of. Although I feel like the 330uf on the VBUS should be providing the undercurrent protection when the USB device powers up, so the 100uf shouldn't be necessary, or should be something smaller. And the last one I put in feels like it is just a stab in the dark.

     

    I'm searching the internet wrong, cause I'm not finding anything that describes how to choose to influence my circuit. I am assuming my application is about smoothing out the voltage. I just realized I haven't tried youtube... :) Anyway, if anyone has the correct words to google, or any detail that I'm headed in the completely wrong direction, that input is welcome.

     

    I feel your pain on the "start up" issue. The F18A has the same problem on some systems because it takes about 100ms to load its bit-stream from Flash. The 99/4A has a relatively long power-on reset though (compared to some systems), and you have about 150ms to 200ms to get your device up an running before the 99/4A comes out of reset. Of course you have to wait for the keyboard to power up and initialize too.

     

    I just did a search to refresh my memory. This is a good article (http://www.tomshardware.com/reviews/mechanical-switch-keyboard,2955-5.html) about PS2 and USB keyboards and their differences. Technically, PS2 keyboards are superior IMO. You would think the tech industry would be able to get keyboards right by now... Sad, very sad.

    I think the tech industry is just trying to eliminate them with touch screens. :) I joke... I hope.

     

    [email protected]


  3. So, a fresh batch of F18As went out recently. I managed to grab 2. I've upgraded my working console with one, and then this next weekend, I'm hoping the second will just fix what looks like bad VDP ram in my second console.

     

    The first thing that struck me, is that now all the emulators look more like real iron :)

     

    But my favorite new software feature is 80 column editor in fbForth. My next favorite new thing is how it makes this old TI look like college era Sega when you run the ALEX KIDD cartridge demo.

     

    What is your favorite app/feature/aspect that changes regular real iron usage of your TI?

     

     

    • Like 4

  4. I've noticed as you said, unexpected behavior when doing a lot of editing. Backspace is so naturally quick, but I have typing habits on a PC, such as pressing the next key before really releasing the backspace. And since the backspace maps to a modifier (fctn) and s, it acts like I'm holding down fctn,s, and the next key...

     

    It was also pretty stable, power wise, but then after I put in the F18A, it wouldn't work. I solved that with some capacitors. But I don't really know what I'm doing with capacitors. Does anyone know a good technique to figure out how much is needed and where? Or a dummies intro to this?

     

    Thanks,

    [email protected]


  5. I took a stab at enabling hardware flow control and had no luck. More research needed. It looks like hardware flow control is sharing a pin with a boot mode control. I may need a switch to only connect that after power on. Or more...

     

    Wiring it the way I had also screws with the ftdi programming cable. So you don't want to lock it in with the serial port attached. But you can put the tx rx on the ftdi header instead.

     

    But it worked really well at 2400, so still cool.

    I'll keep at it.

     

    [email protected]

    • Like 1

  6. Looking forward to it!

     

    I just got my F18A about a week ago, installed it in my working TI same day. Loading Boot in the XB2.7 cart is awesome. This will be 2xAwesome!

     

    Can you access the built in cart programs from the menu? I tried in Boot using DSR style "DM2K." to do things like jump to DM2K, but that didn't work directly, so instead I throw a little helper xb program on the disk that Boot runs in XB and it then bounces back into the cart program I want. Is there, or will there be a more streamlined way to do that?

     

    It'll be 2xAwesome no matter what!

     

    And for the math detail oriented, I know, it will literally be 2.5 x Awesome.

     

    [email protected]


  7. I have another gift :) for you Lee,

     

    Try loading the CPYBLK from the the 20151026 FBLOCKS file. I'm getting a compilation error at the word BFLNAM. The error location is 586 on block 4.

     

    [email protected]

     

     

    Looking at the manual, that code didn't change in fbForth2.0:3 in the FBLOCKS file. And BFLNAM is supposed to be resident. I'll check my module and see if BFLNAM shows up.


  8. I stopped going backwards, but not at Iwantgames level yet...

     

    1340, is my best so far...

     

    So, this game, Cross Fire, says it is from Sierra On-Line. I was surprised, I only new them from their later PC publications.

     

    And then there is the sound effects... Which game did these originate in? The obvious answer would be Tombstone City as the source was shipped with Editor Assembler, but obvious isn't always correct...

     

    [email protected]


  9. hey matt,

     

    check out the ustream.tv broadcast of Lee doing a fbForth/Turboforth comparison (from yesterday at the TI Faire)

     

    http://www.ustream.tv/recorded/76712901

     

     

    Yes, that was good stuff! I've been curious about that particular subject of comparison between these two Forths for a while.

     

    I enjoyed the discussion on floored division vs. 'symmetric' division. That could turn into a real astonishing difference. I was not previously aware of the significance of that. I found this paper on division:

    http://research.microsoft.com/pubs/151917/divmodnote-letter.pdf

     

    There was a brief story of porting between TurboForth and fbForth, with the suggestion that the right thing to do is redefine the words, instead of rewriting the app that is being ported. I think this was treated once in this thread already, but as language features go, that is a pretty powerful aspect of Forth. Compilation binds to the definitions available at that time, and they stick. So the system stays coherent, even if you redefine something as integral as EMIT or CR.

     

    It seems to me that variables are also in the same definition stack, so they can be overridden as well with the same protections... Is that correct? I'll have to go do some learning :)

     

    Definitely good stuff!

    • Like 1

  10. That is what I use. It works quite well enough. I usually set the mechanical timer-switch between ‘2’ and ‘3’ (20 and 30 minutes). The actual time required can vary because you may not get the quartz windows of all chips placed directly below the most intense part of the UV light—inverse-square law operating here.

     

    ...lee

    The eraser did work quite well, just as you said! The fbForth cartridge you made for me is all upgraded now :) And my code still worked. I have taken out the workarounds, and all my issues were fixed.

     

    Thanks!

    [email protected]

    • Like 1

  11. It is also likely that I misinterpreted the links to posts as links to the original posts that posted the bins... When I came online, I poured through those original threads, which gave me an appreciation for how much effort goes into making these games and other applications work when loaded off of ROM, and the bank switching issues. Anyway, there are still tie ins to the community... I'd consider the websites indexing these files as the duplicate work and your efforts here the original work.

     

    I suspect new stuff will land here as well.


  12. I wouldn't drop them so quick. There is a lot of good stuff there already, great stuff for new people to see the health of the hobby.

     

    For the last two, you might just update the top post to point at Opry99er's site once it surpasses the info currently available. In particular, it is nice that the .BIN repo thread points to the threads and messages that provide the context around what those Bins actually are. It is an index into so much more than just the files.

     

    [email protected]

    • Like 1

  13. I spent most of my childhood waiting for the computer to load something, format something, download something, or list something :) I figured I can be patient enough to erase something with a little light. Anyone use one of these?: http://www.ebay.com/itm/301718071627

     

    I ordered it special for handling these fbForth updates... :) I've heard it referred to as 'scary', but I don't think it will get here in time for Halloween. Some reviewer called them scary asserting that it looked like it would burn your house down.


  14.  

    By any chance is that a MAX3232?

     

    I only ask because the MAX3232 is a new design that will accommodate 3.3v correctly, according to the spec sheets.

     

    I believe it is that design... SP3232EE. Ridiculously difficult to read. And I was wrong, this wasn't the $3 item of DX.com, but a $10 item I got from Amazon: http://www.amazon.com/gp/product/B00OPTOKI0

     

    I had purchased a similar item from DX.com but it was less convenient to integrate.


  15. I had the impression the extra wires were mostly there to control write selection. So I was thinking since the board is socketed onto the card, replacing the card with an eprom might be just fine... But then I was noticing today that Fred Kaal's loader loads two different banks. I haven't looked at the schematics at all yet. But the stability seems worth it a little research.


  16. If you never want to retire from fiddling with the language, an interesting future might be to have a facility to load blocks from more pages in the cart rom. With an auto load if present, situation. Something that would enable deployment of a forth app/game as a cart itself.

     

    Just a thought as it sounds like both forths would need some significant change if they got any bigger. Maybe that change could make them extensible as well as bigger.

     

    [email protected]


  17. Let us know how the 9600 bps works with you get your RTS and CTS pins hooked up.

    will do!

     

    also will it AutoAnswer ?

    It does have some 'server' connection modes. But it doesn't generate 'RING' and I don't think it responds to ATA. Server mode might act more like auto answer... I'll experiment with that and see. I can hear you thinking about using it for the hosting side of the BBS.

     

    An interesting aspect of it, is that it supports multiplexing multiple connections over the one serial port. For a BBS client, I'm obviously taking steps to turn that off. But theoretically, you could rewrite some BBS hosting software to understand the indicators for data coming from different client channels, and sending packets of data out directed at those specific client channels again. In this mode, everything coming in starts with +IPD and some connection number, and meta data about the data, then the data. The outgoing data is sent with AT+CIPSEND=<channel>,<length>,<data>.... It would require very differently designed BBS hosting software, but you could service multiple callers with one serial port.

     

    These chips are also completely reprogrammable. They have extensions to the Arduino dev SDK to target them if you want to replace the firmware completely.

    • Like 1

  18. I have, after a false start, succeeded in getting my TI to telnet into heatwavebbs.com using a little wifi adapter I've built out of two basic components:

     

    1) An Adafruit Huzzah ESP8266 breakout board ~ $10 - https://www.adafruit.com/products/2471

    2) A Female Serial MAX232 adapter ~ $3 $10 - http://www.amazon.com/gp/product/B00OPTOKI0

     

    https://goo.gl/photos/o8BiFAQg3hute4ma6 ( I can't seem to attach photos this weekend... but here is the google album. )

     

    The MAX232 board is a simple serial to ttl converter.

     

    The ESP8266 chip is a growingly popular SoC that has an available firmware that lets you simply communicate to the internet with AT+ commands. To use like a modem, you have to update the firmware to the latest, and then use the 'transparent' mode, which lets all received data through to the chips serial out, and passes all input from serial to the other end.

     

    The cheaper raw ESP8266 chips can be had for less than $5. But the first one of those I bought had defective ram. And then to make it come close to working, I still had to build a little board with some pull up resisters to control the boot mode. And to update the firmware I would would have had to build out even more. By going with the Adafruit breakout board, it is easily flashed to the latest firmware with an FTDI USB cable. You can test it with that cable on a PC to get a feel for it, and configure a sufficiently slow bps for connecting to the TI.

     

    Then I wired up the TX, RX, and power for the MAX232. Conveniently, the Adafruit board regulates voltage, and makes 3.3v available. So I simply have a USB cord connected to provide power, and the MAX232 borrowing power off the Adafruit, and TX and RX wired up between the boards. The Adafruit board duplicates the VIN, and TX and RX for the FTDI cable, so I can still tinker with it on the PC if I need to flash it again or whatever.

     

    I had to configure it down to 2400 bps to work well on the TI. Later I'll try hooking up the RTS & CTS for hardware flow control, and then maybe I can do 9600 bps.

     

    AT Commands are interesting. ( I'm using firmware version 0.50 for the ESP8266 )

     

    AT+UART_DEF=2400,8,1,0,0

    Sets the serial mode to 2400 bps, 8n1, and no flow control.

     

    AT+CWMODE=1

    Puts the thing in client or 'station' mode, instead of access point mode.

     

    AT+CWJAP="myssid","mypassword"

    join an access point. Use AT+CWJAP_DEF="myssid","mypassword" to store it for default power state.

     

    AT+CIPMODE=1

    sets up transparent mode, otherwise everything comming back gets prefixed with +IPD

     

    AT+CIPMUX=0

    turns off multiplexing. required for transparent mode.

     

    AT+CIPSTART="TCP","heatwavebbs.com",9640

    opens the connection, and stuff you receive starts to show up. :)

     

    AT+CIPSEND

    Opens up your outgoing communication so you can interact with the BBS.

     

    Theoretically, you can press "+++" to get out of CIPSEND mode, and back to the AT mode... but I haven't been able to yet.. the reset button on the board works well enough instead. If you can get back to AT mode, then you'd close the connection with AT+CIPCLOSE

     

    I need to get a little case for it, add a power switch, and add the hardware flow control ( that's just hooking up two more wires, and reconfiguring the UART on the ESP8266 )

     

    TELCO worked ok. I just saw a thread with the TELCO manual today, so I'll have to look and see if the auto-dialing can be made to work. It is nice that this chip's firmware does DNS lookup. Oh, you have to configure your terminal program to send CR/LF when you press enter, or else the chip will ignore you.

     

    I hope someone else finds this useful...

     

    [email protected]

    • Like 7
×
×
  • Create New...