Jump to content

Scott Robison

  • Posts

  • Joined

  • Last visited

  • Days Won


Posts posted by Scott Robison

  1. On 11/26/2021 at 2:18 PM, EvilSnack said:

    I understand the reasons why few would attempt this. The 6809 seems to have been a victim of bad timing. I've coded for both the 6502 (including a word processor for my C64) and the 6809 (several attempted games for Dad's CoCo), and the latter simply had that much more potential.

    As many companies have proven over time, you don't have to have the best product to gain the most traction and take control of the marketplace.

  2. That you for explaining the origin of your handle. I (apparently with most people) assumed Tatwi was feminine, but then you've posted on other topics in a manner that seemed to make it clear that you were a dude. However in this day and age, you never know who / what situation you are dealing with. I don't mean that to be a judgmental statement, my youngest child was born male and identifies as female now. I try to be supportive, though it's hard to flip a switch when you've interacted with someone for years as a male and suddenly have to make a mental transition (which I guess one could say "imagine how it feels for your child" and I guess that is true as well).

    But I don't mean for this to be a politcal / social commentary issue, just an observation that we have to be more careful than in the "Good Old Days(TM)" (which weren't always as good when we aren't wearing our rose colored glasses) when it comes to identifying people "properly". So thanks for making it easier for me by "outing" yourself. ๐Ÿ™‚

    • Like 1
  3. The school where I teach part time (Mountain West Montessori Academy) has Chromebooks in every classroom for the students to use. They seem to work relatively well, but I have not spent a lot of time with them directly, as I am issued a Windows laptop.

    My python class students use a platform called "skillstruck.com" (which I am less than impressed with) to login, read lessons, and do assignments and quizzes. Chromebooks are perfectly adequate for those tasks, and given how tough kids can be on electronics, there is much less financial risk to them using Chromebooks than many other options.

    Personally, I'd like to see Raspberry Pi systems (at least for a programming lab like this) that are not connected to a network, but they are not practical for any of the other classes who only use Chromebooks for a portion of their class work. I have to use them pretty much every day.

    • Like 2
  4. On 11/23/2021 at 8:34 PM, Zombley said:

    1) I know I could start by typing directly into the emulator, but can someone talk me through a better process? I've seen mention of using text editors (like notepad++), but what's the workflow to get from there into the x16 emulator? Copy paste?

    You can copy from your text editor (I'm using Sublime Text on Windows) and paste it into a running emulator session, which will simply behave as though you are typing it very fast. I'd say with 0 errors, but it obviously won't correct any errors in your text editor, but it should make a perfect copy of your text into a tokenized ready to run BASIC program.

    Alternatively, the emulator has several useful command line options. Especially useful to answer this question are "-bas filename.txt" to load your BASIC program text into the emulator and "-run" to auto run the program after emulator startup and program load have finished.

    On 11/23/2021 at 8:34 PM, Zombley said:

    2) IIRC, in c-64, each line was limited to 80 cols (chars)? Same here?

    Yes, still 80 in Commander X16 BASIC.

    On 11/23/2021 at 8:34 PM, Zombley said:

    3) Anything else real basic about this Basic?

    I guess that's it for now. If it means anything I'll be starting with some text adventures, so no gfx yet.

    Nothing that come to mind, but others might have useful suggestions.

    • Like 1
  5. On 11/22/2021 at 9:20 PM, Tatwi said:

    Let's just take a moment to appreciate that I was able to buy a whole real computer for only $70 more than the retail price of the Windows 10 Pro license it came with.

    $70 more than you or I would pay for a license. I'm sure Lenovo gets a much better price than we do. ๐Ÿ™‚

  6. I appreciate this series on the basis of doing something computationally expensive but visually appealing. There are so many things out there that will do one or the other, or are designed to favor one machine over the other, but this one tries to present a level playing field.

    • Thanks 1
  7. On 11/20/2021 at 9:35 PM, ZeroByte said:

    I just did a comparison between my algorithm (bespoke), @BruceMcF's General algorithm, and one that @Scott Robison proposed on Discord (Galaxybrain):

    Galaxybrain took my algorithm and enhanced it by using clever byte-order manipulation to cut down the number of shifts required to perform the computation.

    It occurs to me I gave you generic 6502 code. Did you make it 65C02? Could save a few more bytes...

    • Like 1
  8. I called this project piMultIEC for lack of anything better. I'm open to suggestions for a better name, but I have been thinking of a few ideas:

    pi1542 because 42 is the answer to life, the universe, and everything.

    pi1599 because it is the ultimate number in the 1500s.

    pi15anything or pi15everything.

  9. On 11/20/2021 at 1:35 AM, TomXP411 said:

    The Pi 1541 Hat is basically just a level shifter. If you use a 5v Arduino or one that's 5v tolerant one, then you're gold. Otherwise, you can pick up a small level shifter board or pick up a shield with level shifters integrated.ย 

    Obviously, the Pi hat is simpler, physically, but I'm thinking about all the features we don't get with bare metal OS... although those features are being expanded all the time, so maybe I'm worried about nothing.ย 

    Good points. I am thinking "simple" to be sure. The BMC64 project uses the circle bare metal library to good effect, and there are a lot of C++ classes (https://github.com/rsta2/circle/blob/master/doc/classes.txt) and add-on libraries (https://github.com/rsta2/circle/blob/master/addon/README) available. I think we can do both. Use the RPi with the pi1541 hat for built in things, plus an ability to pass through to other machines for when RPi isn't quite enough.

    But I'm not opposed to an Arduino solution either, I just worry that it won't be able to keep up with the IEC timing *and* go over yet another remote connection for some things (like loading a file, maybe).

    Computer <-> piMultIEC (with option for some hand off to a bigger system) is in general a shorter path than Computer <-> Arduino <-> ModernComputer (with option to do anything it dang well pleases at that point)

  10. On 11/19/2021 at 8:40 PM, Tatwi said:

    You make some excellent points. I agree with you completely! Simplicity, functionality, compatibility, and affordability, at the cost of some speed is well worth the trade off.

    Again, even if it was "as simple" as a Linux machine that turns data into files and then does stuff with the files, it could be immensely useful. Could a 3D printer be considered a plotter? If the computer can generate the data to make a valid STL file, then in this scenario it sure could be! I think one's imagination would be the real limit here. With a Buildroot based setup the boot time would be a couple of seconds and it while still have full networking and GPIO support. It would also have like 40+ years worth of scripting and data parsing software to leverage. People poopoo Linux/BSD/*nix solutions in the retro community, but it's good stuff, truly a living fossil; *nix terminal is just as retro as CP/M!

    3D printer? Heck yeah! Whatever can be thought of is probably possible. Sure, it's not the C64 or C128 or {fill in the blank} doing the heavy lifting, but these computers are very senior citizens, of a sort. They deserve to be used and useful as much as possible. Attaching a piMultIEC (or whatever better name comes up) to a 8-bit computer is just giving them an assisted living senior community in which to enjoy their golden years. ๐Ÿ™‚

    Edit: Oops, forgot to say I have nothing against Linux or BSD. I run BSD, I work on Linux at the office, I like Windows. None of them is perfect. But I also like RPi and Arduino and full "heavy" OSes and bare metal systems. They all have their place.

  11. On 11/19/2021 at 4:28 PM, TomXP411 said:

    So my current thought process is to write assembly or low-level C routines on a Pi Pico or Arduino device, then connect that to software on a Pi or PC via USB.

    That's not a bad idea at all. My main reason for focusing on the pi is that I can already acquire a serial IEC IO board for a pi, as used in pi1541. Then "all" I have to do is replace the software layer. Instead of cycle exact emulation of a 1541 or other drive, I only have to worry about timing that conforms to the IEC standard (slower for C64, faster for VIC20). And of course all the magic that exposes a mass storage device or printer or plotter or screen or networking or whatever your imagination can come up with.

    But perhaps such things already exist for Pi Pico or Arduino? Or maybe we just use some sort of jumpers to hand wire a connection between the two?

    Regardless, I think if it is possible to do it with the same hardware that already works for pi1541, then that is a strong proof of concept for other things. And it is something we could be developing now and testing with existent hardware, and it would likely be ready whenever X16 is available.

    Maybe I need to go create a repo and start putting some real design together instead of only talking about it here. ๐Ÿ™‚

    • Like 1
  12. One reason I like the idea is that I have a C16 but I only have a tape drive for it. I could use something like this on five computers before too long, in theory: C16 (have), C64 & C128 (will have next week again), MEGA65 (after December), and X16 (someday).

  13. On 11/19/2021 at 11:43 AM, Edmond D said:

    Some consider you exceptional, but I don't know what noun they'd pair with that adjective.ย ๐Ÿ™„

    I guess making that comment makes me a retro grammar geek.ย ๐Ÿ˜

    Yes, we'll go with that. I'm exceptional. Just please don't qualify it.

    I have private messages from one party telling me in what ways I'm exceptional, but I really think there were some language issues involved as well.

    • Like 1
    • Haha 2
  14. On 11/19/2021 at 11:16 AM, Strider said:

    I share that opinion. While I love modern tech, many of the communities are more "toxic" than I care to deal with, so I don't participate in them unless there's a darn good reason.

    My time is precious to me, so I prefer to spend my community "geek" time here. ๐Ÿ˜‰

    I concur. With a minimum of exceptions to the rule, everyone here is great to interact with. I may or may not be an exception. ๐Ÿ˜„

    • Haha 1
  15. On 11/19/2021 at 12:05 AM, TomXP411 said:

    You're basically just re-hashing the User Port device I've been looking into. My system would have provided UARTs, network connectivity, and even a second screen for the Commander. I put it on the back burner for now, but it's certainly possible to do the same thing through the IEC port, rather than the User port. After all, they're both basically the same thing: just pins connected to the VIAs. The only difference is that the IEC port only has 3 data lines connected straight through to the VIA, where the User port has something like 12.

    I don't see any reasonย notย to build something this... the only catch is you'd need to run under a bare metal OS to drive the GPIO pins reliably enough and fast enough to be useful.ย 

    Right, there are other approaches that are "better" in multiple ways. The unique parts of this are repurposing the serial IEC bus for some tasks it's never been used for previously (as far as I know) and having a single smart device behave as multiple individual devices.

    I concur on the need for a bare metal system for this. Serial IEC timing is precise. But it could also implement something like burst mode or fast loaders for accelerated IO. Out of the metaphorical box it should Just Work(TM) with any system with a working serial IEC, allowing BASIC and the kernal to open channels, write, read, and close, load, verify, and save. Disk drive, printers, and plotter functionality could just emulate the command, control, and data interfaces so that it is immediately useful without a need for custom programming on each system. A networking interface could emulate RS232 at that same level. The system could also provide access to other devices. I've already discussed HDMI output. It could allow reading from a USB keyboard, or a camera at a low bandwidth, digital audio input via a mic. And it could have a meta device (sorry Zuckerberg) that allows for command and control of the overall puMultIEC.

    But being a bare metal system, it couldn't use all the good features of a general Raspberry Pi OS. It could provide it's own API for adding new modules to the system. It could work on a RPi zero, of course, and I'd want to make it work on a broad range of hardware, but my goal would be a multi core with all the typical RPi ports. Just add IEC ports and custom bare metal software for the most flexible smart device with multiple personalities even seen on a Commodore inspired 8 bit system. One core dedicated to IEC communication. The other cores handling more device specific stuff.

    • Like 1
  16. On 11/18/2021 at 8:10 PM, Tatwi said:

    The build server is a neat idea. Program on the retro machine in a retro IDE, but pass off the compilation work to the "mainframe". Funny how that workflow is still in use today, yet it is decidedly retro nonetheless.

    Internet pass through over IEC might be slow, but there's nothing stopping you from using the userport like other networking cards for C64/128.

    Maybe it would make sense as to build the whole thing as a funky, huge userport cartridge. That would have the benefit of allowing one to use the cartridge slot for normal cart software or something like the Final Cartridge III or the like, unlike the Ultimate II cart. It would also look awesome, like a Neo Geo arcade cart with ports.

    The reason I was thinking IEC is that that is the common port on all the machines listed above. I think Commander X16 is supposed to have one, but no user port per se (though the hardware isn't 100% settled yet). C16 doesn't have a user port, and I happen to have a C16. MEGA65 doesn't have a user port either (though it does have other interesting ports in lieu of networking, like it's own ethernet). I know there are differences with the various user ports on some machines that do have them. David described in his last video the effort it took to get the SNES controllers working on Plus/4 because it wasn't compatible.

    In theory, an IEC device could work with all those computers, perhaps needing a little tweaking of the timing like the 1541 did vs 1540 when C64 was released.

    I agree that IEC would not be as fast as other solutions, but I expect it could be a very affordable option for people still hanging onto their old machines but maybe don't have the resources to pay for multiple bits of hardware to bring their retro computers into the 21st century.

  17. I was thinking a bare metal approach rather than a full OS, but otherwise I agree with the "everything is a file" approach.

    It could also support networking (slow but potentially really helpful on something like Commander X16 that would work with an existing CBM 8 bit standard.

    It could also provide a build server or other similar type of processing. Edit text on your 8-bit system, save it to the device, kicks off a script to assemble/compile/whatever, then you can load the generated PRG file.

  18. We know that it is possible to emulate a 1541 with a Raspberry Pi, and that's an awesome project. Emulation is being worked on for 1571 & 1581 as well (or is already available, I can't tell for sure). It may support other formats, and that's great. But I have an idea...

    What about a device that doesn't try to emulate exact pieces of hardware, but just provides mass storage on some device number, not unlike CMD or other brand of Commodore hard drive. Say it is device 11. It can load, save, do all the normal things you'd expect to be able to do with a disk drive, along with useful extensions to seek into files, and even create a sort of REL file that would be backed by a SQLite database instead of being traditional block based. It could provide typical REL compatibility and some sort of extended functionality to do more, like access records by a magic file name that could be loaded and saved. In fact, that's how I'd imagine "plain old PRG/SEQ/etc" files would be stored in the system.

    And what if that device also responded on device 4 to provide access to a printer connected on that Raspberry Pi?

    Device 6 I believe was the number used by the 1520 plotter. Maybe one could access a plotter the same way (not that I see a lot of people with plotters). Alternatively, it could emulate the plotter and render it to the printer.

    Device 5 is typically another printer as far as I know. What if that device gave you access to the Raspberry Pi's HDMI display via IEC? It would not be *fast* but could be useful for text debug output. It doesn't have to send full 1920 x 1080 bitmaps, though I suppose it could. It'd be slow, but possible. Control codes could be used to define a virtual size of text mode or bitmap mode.

    Device 7 could be the same as device 5, but it would use the HDMI display for rendering vector graphics. Effectively a video plotter.

    I believe the Raspberry Pi would have more than enough power to do all these things if it wasn't trying to spend all its time being a cycle exact 1541.

    Being serial IEC based, it could be used with a VIC 20, C64, C16, Plus/4, C128, or even the upcoming MEGA65 and of course Commander X16. It would not be blazing fast, but it's intended to provide access to slow memory constrained devices anyway, so I don't see that as a huge deficit in most scenarios.

    How crazy is this? What should be discarded as stupid? What didn't I think of in the list above?

    • Like 2
  • Create New...

Important Information

Please review our Terms of Use