Jump to content

brain

Members
  • Content Count

    469
  • Joined

  • Last visited

Everything posted by brain

  1. I hate to ask, but is there any way I can get the stored copy of this program from your SD card? 🙂 Jim
  2. If you can redo your app as a "test", I can put it in a tests directory, and we can use it to further develop the code. LOAD/SAVE was the most important, but we can add additional functionality (I jsut need to understand how it should work). An ideal test would be to open a file, clean it out, store a value or two there, close it, open it again, read the file data, and if the data is as expected, note success. If not, not what was read versus what was expected. I can then keep running it over and over until I can get the code to work correctly. Jim
  3. I'll open an issue in the tracker: https://github.com/go4retro/HEXTIr/issues/13 I'll see if Manfred can take a look. I am more familiar with load/save. Jim
  4. I looked at your original pics and, save 7-2 switch, you had the right connection (WP to pin 9, CD to pin 8). I'd try connecting back pin 8, as that should not affect anything for now (I don't think I have the card detect code in place yet). If you have a voltmeter, see if the WP pin drop in resistance to 0 ohms when a card is inserted (between it and ground). That's how it would work, write enable is grounded, write protect is ungrounded). Maybe the SD card holder is bad, or something like that. The unit can be run with WP grounded, just be aware the WP switch will be bypassed. Jim
  5. No. Since Reid uses a microSD adapter in his build, the Arduino IDE sketch doesn't enable Card Detect and Write Protect (MicroSD does not have it), so that code would not bomb out. But, to your point, the two builds use two different SD libraries, which also could be the issue. I'd try a different card, if you have one, or connect pin 8 and 9 to ground, and see if either of those help with the card. Report results back. That may suggest a course of action. Jim
  6. Actually, this is something we should test, if you're willing. It sounds like a FAT Library thing, as error 3 is "file not found" and 6 is "Device Error", which are both indicative of the write protect tab being set or the disk not being readable with the library: case FR_RW_ERROR: rc = HEXSTAT_DEVICE_ERR; // 6 break; case FR_EXIST: case FR_DENIED: case FR_IS_DIRECTORY: case FR_NO_PATH: default: rc = HEXSTAT_NOT_FOUND; // 3 break; I wonder if the WP wire is having issues, or if the WP tab is set to WP. I can make a special build that splits out the various errors, if you're up for testing. Or, try another SD card and see if it works.
  7. You have the source code for the hex file which compiles in the IDE (it's the tip of sreid_mods), but that one has issues unless you're using the exact same config as Stephen Reid (he uses a separate DS3231 RTC). I am working to merge the native code back into the arduino sketch version, but it's not done yet. Jim
  8. What code is in your device (from what repo/branch/download?) I'm assuming it's the arduino code, and from my sreid_mods. If so, I am still trying to get Manfred's CATALOG functionality to work in that branch. (we have to merge it from the master into there), and then I can bring all of the sreid_mods into the master branch. If it's from my downloads dir, those should work (just tested) Jim
  9. The newly updated HEX files on the downloads page support OLD, SAVE, catalog, and they support the serial device as well as the printer device. Obviously, testing is needed, as I am sure bugs are still around. Jim
  10. Hmmm. Well, let me unpack that: There is one place for releases: http://www.go4retro.com/downloads/HEXTIr/ If you're grabbing files from the git repos, you're puling development snapshots, where forks and branches are common and preferred. There's a reason why there are so many. A month or so ago, Acadiel put me in touch with Stephen, who works at TI and worked on some of these units. He expressed interest and took an immediate set of actions to add functionality to the system. But, his work changed a ton of items in the main area, so a branch was created. As well, his code only compiled with the Arduino IDE, not the native compile. As well, Manfred also started working on the code, to fix some TI74 items, but he was using the main branch of the code, so the main branch was kept to support his efforts. That's the only 2 branches I'm aware of in my repo. Due to the way GIT works, each of those folks have their own repositories. That's not something I can control. I offered a link to Reid's repo, because his is known working with the Arduino IDE. This is not a released/finished/completely working solution. I worked on it initially years ago, but there was little interest. Now that interest has increased, the development team is working toward a release, once we can merge all of the reid and Manfred items into 1 codebase and clean up some of the dependencies, but this is common for under development projects. If you're overwhelmed by the development snapshots and multiple branches, I'd suggest working to get avrdude running and then use the known working HEX files on the downloads site. I''ll answer your other questions in a different response. Jim
  11. Grab a copy of avrdude for your platform: Windows: http://download.savannah.gnu.org/releases/avrdude/avrdude-6.3-mingw32.zip Linux/MacOS: http://download.savannah.gnu.org/releases/avrdude/avrdude-6.3.tar.gz Install from a command prompt, run something like this (replace HEX file name and COM port) avrdude -p atmega328p -c arduino -P COM6 -U flash:w:obj-m328p-arduino/HEXTIr.hex COM Port is the one the Arduino IDE uses, and the HEX filename is whatever you saved it as.
  12. I have found that the Arduino build sometimes hangs during the init of the DS1307 RTC (the Arduino code assumes a DS3231 RTC, while the native code has a driver for both). I tried to compile in the Arduino IDE for no clock, but got the same issue as you. I compiled two versions of the code for the arduino HW using the native make system, which works for me. If you are using the original wiring (LED on D2), then download and flash the _nopm.hex version (No Power Management). Otherwise, flash the other version, and let us know (or pop into Discord and we can troubleshoot real time). The issue is that once I flash the native code, it appears to configure the DS1307 so that a subsequent run with the Arduino code (from the sreid_mods branch of my repo, but I am sure the #519 as well) will work. So, testing is hampered in that way. http://www.go4retro.com/downloads/HEXTIr/ I will try to find a way to compile the Arduino sketch without the clock so it will work on these DS1307 shields (or just add the code to support the 1307 in the sketch. Jim
  13. The Arduino IDE sketch should work as well, but most of the Arduino UNO SD shields have a DS1307 RTC, not a DS3231, which the Arduino sketch expects. So, to address that, comment out the "#define INCLUDE_CLOCK line in config.h and sompile the sketch. The Discord channel does have the native compile, which supports the DS1307 as well as the DS3231 (and PCF8583), but it requires avrdude to load into the Arduino. Catalog does work on the native compile (I'm still working on merging it into the Arduino sketch), so keep that in mind. Jim
  14. Sorry, I thought that was a safe commit. Pull from Reid's master, which I know compiles from Arduino and runs (as that's his dev environment), and let me finish the merge of the code into my repo. Also, note that there's a been a change in wiring, which may not have been noted here. BAV is now on D2, not D7, and LED is on D7, not D2. This allows sleep functionality for the drive. https://github.com/sreid1960/HexTI Jim
  15. Hehe, one would start pulling files after I started merging in the latest code from the master branch. Try this commit: https://github.com/go4retro/HEXTIr/tree/2c82960fc5620fe769a3e3b767dd45c204074b0f I'm not as familiar with the Arduino port, but I didn't have to install any code. I did use 1.8.12 of the IDE, so perhaps it was all in there. Jim
  16. main branch now has a "catalog" functionality, where one can snag the directory by doing old "100.$", courtesy of Manfred. Other functions are still in the sreid_mods branch, which I am planning to merge tomorrow. Jim
  17. A few comments: I would strenuously disagree that the lack of dedicated disk controller was a disadvantage. The lack of dedicated controller meant all disk access had to be "abstracted", since you could not access the direct hardware. As such, the Commodore (like other machines that had such abstraction) has had the easiest transition to newer storage technologies, like the sd2iec. Compare to the Color Computer and other units with dedicated controllers. The sd2iec-like devices have to focus lots of attention on emulating the actual disk controller, presenting disk images of fixed sizes and format, as opposed to the native FAT32 functionality of the sd2iec. Along with that, it's wasn't the lack of disk controller that prevented the inclusion of disk commands. Commodore had placed nice disk commands in BASIC 4.0 (CATALOG, DLOAD, etc.). They could have put the same BASIC in the VIC and the 64, but the disk drive was not considered a must have peripheral for the VIC-20, since it was primarily designed as a cartridge game machine, and so BASIC 2.0 was smaller and cheaper to implement and thus was included. The 64 was essentially a VIC-40 in early stages of development, so the same thought was applied. You espoused the value of the product, but didn't note how folks can legally obtain it. I'm biased, of course, but I think that's a good comment in general.
  18. A few recent updates to the codebase: serial and printer now should work on both Arduino IDE build and native Makefile build All three of us have collectively implemented some catalog functionality. Manfred added an option to "old 100.$" a directory directly, while both Manfred and Stephen have a "open/input#" directory format implemented. I should have them all merged by end of day tomorrow or Monday. soft configuration capability being implemented RTC callable from cc40 (in Arduino IDE build) low power mode enabled when system not active (s_reid) Not sure if anyone is interested, but I set up a discord server for us to use in development: https://discord.gg/vvPCaAQ Jim
  19. Well, I'll put the pics on github as well. They don't format as well for forums.
  20. 1) Yep. That's why you need to also get an Arduino UNO 2) I'm not sure the best way to replicate the cable, but I bought 2 2x4 IDC connectors (think IDE connections, but only 8 pins), had some flat ribbon cable to crimp them to, and I bought this: https://www.ebay.com/itm/10PCS-2X10-Pin-2-54-mm-Stackable-11mm-Long-Legs-Female-Header-For-Arduino-Shield/301724613213?hash=item4640303a5d:g:rhMAAOSwmrlUzYCZ and cut off the excess pins. I put that in the end of the IDC connector, and then plugged the entire thing into the cc40. No soldering involved, just a bit of construction. Alternatively, buy a cc40 modem or some other peripheral, which come with a cable.
  21. As noted, Stephen Reid has modified the cc40 project to build from the Arduino editor, which makes it easier to build and upload. So, here's what folks need to create their own unit: An Arduino Uno (Yes, a Nano or other that is Uno compatible will work, but start with an Uno): eBay option: https://www.ebay.com/itm/Arduino-Uno-R3-USB-Acrylic-Box-Enclosure-Transparent-Case-for-Arduino-Uno-R3/132940030524?hash=item1ef3d7e23c:m:m4lEBwtSZi0JjnWjh4QHRiA Official Option: https://store.arduino.cc/usa/arduino-uno-rev3 A SD card module: https://www.ebay.com/itm/For-Arduino-UNO-SD-Card-Logging-Recorder-Data-Logger-Module-Shield-New-DS1307/164212784718?hash=item263bd83e4e:g:jnoAAOSwby5exgRH The project itself: https://github.com/go4retro/HEXTIr/tree/sreid_mods The Arduino IDE (I know 1.8.12 works, so I'd recommend it: https://www.arduino.cc/en/main/software Download the files from github into a dir, and load up the src.ino file in the IDE. Ctrl U will build and upload the file to the UNO (You'll have to configure the IDE for UNO and for the right COM port). A FAT32 formatted SD card. A bit of wire and a 2x4 straight or right angle set of header pins. Now, before you can use the unit, you need to wire up a few things. Solder the 2x4 header as shown on the board. Place it along the edge if possible, for easier hookup. Solder WP to 9 Solder CD to 8 Solder L1 to 7 Solder the wires underneath the board as shown in the picture Done. Power up your Arduino and load/save files from device 100.
  22. I don't think the HW was ever a concern, but it's the SW that was less robust in the past. HexBus is a pretty simple protocol, electrically.
  23. OK a few updates: Acadiel shipped me his unit and mine back. Mine was working, but it's a bit dodgy on the seating into the Arduino pins, so that was it's issue His had a miswire. Both fixed, and working. Acadiel introduced me to Stephen Reid, who worked on the Hex Bus line back in the day. He took the Arduino source and updated quite a few things. The code now handles drive access, serial access, and parallel port support. Code work is ongoing, and you can check progress at the github repo in the sreid_mods branch. As well, he added a true Arduino build. The files will compile both as native and Arduino. Manfred Korn has also been adding some features (verify, delete, timing fixes) Thanks to both folks for the coding help. It's much easier to get motivated to work on the code when others are working on it. Jim
×
×
  • Create New...