• Re: Robo-1000 and IIgs compatibility?

    From TomCh@21:1/5 to All on Mon May 1 04:20:38 2023
    Hi Hugh, Antoine,

    NB. I'm necro-posting after more than a 7 year gap here!

    Do either of you still have your BitStik + the "interface module" (aka protection dongle) ?

    I'm interested in understanding the specifics of this "interface module" so that I can replicate its functionality under emulation (AppleWin being the target here).

    From disk images available online, this one (on the Internet Archive) still has the protection check:
    https://archive.org/details/a2__requires_bitstik_hardware_ROBO1000

    And Antoine uploaded many Robocom disks in .a2r format here: https://archive.org/details/Antoine_Applesauce_Vignau

    So it's entirely possible that I could reverse engineer the "interface module" h/w from these images.

    But ideally someone with the real h/w could assist in running tests against it.

    btw, currently on ebay in the US there's one going for $499! I'll pass on that! And in the UK (ebay again) one came up very recently.

    Thanks,
    Tom

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Hugh Hood@21:1/5 to TomCh on Mon May 1 10:15:35 2023
    Tom,

    I'm at work right now, but this evening I'll check my old notes on this.

    Robo-1000 was the earlier version of the BitStik CAD program.

    It was followed (in the US) by RoboCAD 2 (Apple II + 128K Saturn Card)
    and RoboCAD 1+ (Apple //e, IIc, IIgs with 128K total-aux mem).

    I de-protected (from the dongle) both RoboCAD 2 and 1+ years ago so that
    the interface module would not be required. Each version had a slightly different interface module, IIRC.

    Images of those de-protected disks are up on Asimov.

    I had both a European BitStik (that I bought from a Swede) and also the
    U.S. Robo Controller that I got with the RoboCAD 2 software when I
    bought it years ago. I gave both (with the interface modules) to Sean
    Fahey when I donated a truck's worth of hardware, software and
    literature to him and to the Garage Giveaway a few years ago. He may
    still have them.

    Again, let me check my old notes.





    Hugh Hood



    On 5/1/23 6:20 AM, TomCh wrote:
    Hi Hugh, Antoine,

    NB. I'm necro-posting after more than a 7 year gap here!

    Do either of you still have your BitStik + the "interface module" (aka protection dongle) ?

    I'm interested in understanding the specifics of this "interface module" so that I can replicate its functionality under emulation (AppleWin being the target here).

    From disk images available online, this one (on the Internet Archive) still has the protection check:
    https://archive.org/details/a2__requires_bitstik_hardware_ROBO1000

    And Antoine uploaded many Robocom disks in .a2r format here: https://archive.org/details/Antoine_Applesauce_Vignau

    So it's entirely possible that I could reverse engineer the "interface module" h/w from these images.

    But ideally someone with the real h/w could assist in running tests against it.

    btw, currently on ebay in the US there's one going for $499! I'll pass on that!
    And in the UK (ebay again) one came up very recently.

    Thanks,
    Tom


    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Hugh Hood@21:1/5 to Hugh Hood on Mon May 1 23:14:22 2023
    Tom,

    OK. I surprised myself and found my notes from years ago on the mods I
    made to the RoboCAD software to bypass the check for the interface
    module in both the drafting and plotting software for both RoboCAD 2 and RoboCAD 1+

    Unfortunately, all they consist of is some scribbling on a few pages of
    monitor dumps. I imagine I did this on one of those weekends when my
    wife was out of town and I subsisted on a diet of Diet Dr Pepper,
    peanuts and the Apple II. Very anti-social, but very productive, I suppose.

    Anyway more to your question -- it appears I circled code that toggled
    the annunciators ($C058-$C05F) and then did some type of 'check' routine.

    It looks like I found this type of annunciator code in two different
    programs on the RoboCAD disks and just sector patched in some NOP's and
    a couple of JSR's after loading either X or A with a zero. Sorry, it's
    been a long, long time.

    Also, I looked at the ebay auction you mentioned:

    <https://www.ebay.com/itm/225540356005?>

    That is the USA controller that came with the USA RoboCAD software.

    It was a pretty nice joystick in that it had (3) pushbuttons and also
    used the 3rd paddle input as the zooming and rotation wheel.

    When RoboCAD was later revised to use the Apple Mouse (v2.7), I switched
    to using the mouse instead as there were less 'jitters', but I did miss
    the 2nd and 3rd push buttons being on the controller.

    One thing - the seller in the auction claims that controller also has
    the security dongle, but I sure didn't see it in the picture. It is a
    small device that plugs into the interior game port and then the
    controller (if one is using the controller) piggybacks it.

    If for some reason I run across one of those interface modules, would
    you still like to see it? I think at one time I put an ohmmeter on the
    thing and didn't really figure it out, so I instead just decided to
    patch the software to bypass it.

    Let me know if you have any questions on this, and thanks for all your
    work on AppleWin, and for continuing to contribute to comp.sys.apple2.

    One more thing -- if you do decide to run RoboCAD 2 on AppleWin, the
    128K ram card must go in slots 1-7, and not slot 0. Also all the RoboCAD programs (both 2 and 1+) use DOS3.3-style volume numbers, so you'll need
    to provide for that as well.

    RoboCAD was a great program in its time, and I still use it from time to
    time when I need to access a drawing I made years ago. Now, though,
    instead of plotter to a Houston Instruments plotter, I just stream the
    plotter software's serial output to a Mac running HP2XX and create a pdf
    with it.




    Hugh Hood



    On 5/1/2023 10:15 AM, Hugh Hood wrote:
    Tom,

    I'm at work right now, but this evening I'll check my old notes on this.

    Robo-1000 was the earlier version of the BitStik CAD program.

    It was followed (in the US) by RoboCAD 2 (Apple II + 128K Saturn Card)
    and RoboCAD 1+ (Apple //e, IIc, IIgs with 128K total-aux mem).

    I de-protected (from the dongle) both RoboCAD 2 and 1+ years ago so that
    the interface module would not be required. Each version had a slightly different interface module, IIRC.

    Images of those de-protected disks are up on Asimov.

    I had both a European BitStik (that I bought from a Swede) and also the
    U.S. Robo Controller that I got with the RoboCAD 2 software when I
    bought it years ago. I gave both (with the interface modules) to Sean
    Fahey when I donated a truck's worth of hardware, software and
    literature to him and to the Garage Giveaway a few years ago. He may
    still have them.

    Again, let me check my old notes.





    Hugh Hood



    On 5/1/23 6:20 AM, TomCh wrote:
    Hi Hugh, Antoine,

    NB. I'm necro-posting after more than a 7 year gap here!

    Do either of you still have your BitStik + the "interface module" (aka protection dongle) ?

    I'm interested in understanding the specifics of this "interface module" so that I can replicate its functionality under emulation (AppleWin being the target here).

    From disk images available online, this one (on the Internet Archive) still has the protection check:
    https://archive.org/details/a2__requires_bitstik_hardware_ROBO1000

    And Antoine uploaded many Robocom disks in .a2r format here:
    https://archive.org/details/Antoine_Applesauce_Vignau

    So it's entirely possible that I could reverse engineer the "interface module" h/w from these images.

    But ideally someone with the real h/w could assist in running tests against it.

    btw, currently on ebay in the US there's one going for $499! I'll pass on that!
    And in the UK (ebay again) one came up very recently.

    Thanks,
    Tom



    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From TomCh@21:1/5 to All on Tue May 2 12:54:50 2023
    Hi Hugh,

    Thanks for all that extra and detailed information.

    One thing - the seller in the auction claims that controller also has
    the security dongle, but I sure didn't see it in the picture. It is a
    small device that plugs into the interior game port and then the
    controller (if one is using the controller) piggybacks it.

    From the (completed) UK auction, the last picture is a good close up of the interface module:

    https://www.ebay.co.uk/itm/ROBO-Bit-Stick-for-Apple-II-IIe-Computer-Systems-/125897854536?nma=true&si=NG%252FL1tTzS3sTl%252BCmpPBMl5laxdk%253D&orig_cvip=true&nordt=true&rt=nc&_trksid=p2047675.l2557

    One more thing -- if you do decide to run RoboCAD 2 on AppleWin, the
    128K ram card must go in slots 1-7, and not slot 0.

    That's good to know. AppleWin only supports the Saturn card (assuming that what you mean) in slot-0, and therefore only for the Apple II/II+ models. But AppleWin also supports AE RamWorks-III, with support up to 8MB. Will this work with RoboCAD 2?

    Also all the RoboCAD programs (both 2 and 1+) use DOS3.3-style volume numbers,
    so you'll need to provide for that as well.

    OK, so that just means .2mg or .woz format.

    btw, I've taken a quick look at the protection check code (in the IA image "a2__requires_bitstik_hardware_ROBO1000"), and it looks like it uses the 4 annunciators to set the potentiometer value for the unused PDL(3). The check code runs through 8
    combinations, calling PREAD(X=3) each time to check the PREAD result is within a certain tolerance.

    Thanks,
    Tom

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Hugh Hood@21:1/5 to TomCh on Tue May 2 19:39:37 2023
    On 5/2/2023 2:54 PM, TomCh wrote:

    From the (completed) UK auction, the last picture is a good close up of the interface module:

    https://www.ebay.co.uk/itm/ROBO-Bit-Stick-for-Apple-II-IIe-Computer-Systems-/125897854536?nma=true&si=NG%252FL1tTzS3sTl%252BCmpPBMl5laxdk%253D&orig_cvip=true&nordt=true&rt=nc&_trksid=p2047675.l2557


    Yep. That one does have the dongle. You'll notice that it has a bull
    nose and machine pins.

    I am, however, astounded that someone would pay 102 pound sterling for a BitStik! The one I had (purchased used from Sweden) seemed like a big
    piece of rather cheap plastic and the controls were pretty loose. By
    contrast, the Robo Controller was a well-built little metal-cased unit.

    One more thing -- if you do decide to run RoboCAD 2 on AppleWin, the
    128K ram card must go in slots 1-7, and not slot 0.


    That's good to know. AppleWin only supports the Saturn card (assuming that what you mean) in slot-0, and therefore only for the Apple II/II+ models. But AppleWin also supports AE RamWorks-III, with support up to 8MB. Will this work with RoboCAD 2?


    Yes, even when used on the II/II+ models, RoboCAD required Slot 0 to
    have a 16K Ram Card with the Saturn Card to be placed in one of the
    other Slots.

    To your question -- years ago I toyed with disassembling RoboCAD enough
    to get it to work, if not with the RamWorks on the IIe, then with IIGS
    memory. At the time I didn't have the great tools we have now (e.g.
    BrkDown) and bogged down and forgot about it. I always thought it would
    be something Mr. Ferrie could handle, given his prowess, but I doubt
    there's as much interest for bringing a CAD program to the modern age as
    there is for bringing many of the old games that so many love to play.


    btw, I've taken a quick look at the protection check code (in the IA image "a2__requires_bitstik_hardware_ROBO1000"), and it looks like it uses the 4 annunciators to set the potentiometer value for the unused PDL(3). The check code runs through 8
    combinations, calling PREAD(X=3) each time to check the PREAD result is within a certain tolerance.


    You're a quick study. I think you've got it whipped. Remember, they did
    this at (2) different locations on the disk. I remember feeling so smug
    when I bypassed the first check and thought I was home-free. That
    smugness was oh-so-short-lived!

    Let me know if there is anything else I can do for you on this.




    Hugh Hood

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From TomCh@21:1/5 to All on Wed May 3 14:07:42 2023
    Hi Hugh,

    I will try to find some time to implement my understanding of the BitStik's "Interface Module" (ie. when my wife's out of town, and I have a good supply of Diet Dr Pepper! ;-)

    And I'll keep you posted when I make some progress.

    Thanks again for your responses and excellent level of detail.

    Tom

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Hugh Hood@21:1/5 to TomCh on Wed Jan 24 12:46:00 2024
    On 1/24/2024 8:28 AM, TomCh wrote:

    I then went on to present a short (~10 minute) talk at KansasFest
    last year, titled: "Copy protection via the Game I/O connector",
    which includes a few slides on the Robo hardware (based on some of
    the info you supplied in this thread): https://www.youtube.com/watch?v=XXG6XKnaNZk&t=5632s


    Tom,

    Thanks very much for linking your segment from that video. I enjoyed
    your presentation very much and commend you for the effort you put into
    making your slides.

    We've all come a long, long way from the 'chalk and talk' method of
    instructing and learning!

    Regards,




    Hugh Hood

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Hugh Hood@21:1/5 to Steven Hirsch on Thu Jan 25 12:05:15 2024
    Steven,

    I think you had addressed your question to Tom, as he's much more
    knowledgeable on this than am I, but should you have both the time (and
    desire) to reverse engineer a couple of Robo dongles that I still have
    (one from RoboCAD 1+ and one from RoboCAD 2), I'd be happy to send them
    to you as loaners. They do have serial #s on them, but surely they we're
    so careful as to make changes based on that, right?

    The guts are concealed by a potting compound, so I'm not sure you could determine the circuitry without destroying them, but maybe that's not so
    bad.

    I bypassed that dongle check years ago in the RoboCAD programs. (And,
    they're up on Asimov).

    Amazingly, I still keep a RoboCAD 2 setup on a TransWarped IIe with a
    Saturn card and a Houston Instruments plotter for an occasional re-plot
    of something I did years ago.

    {BTW, I'm still grateful to you for sending me all that CP/AM 5.1 stuff
    years ago. Thanks}.

    Regards,




    Hugh Hood




    On 1/24/2024 7:07 PM, Steven Hirsch wrote:
    On 1/24/24 09:28, TomCh wrote:
    Hi Hugh,

    Let me provide a brief update here.

    I reverse engineered the Module Interface protection for the 3 Robo
    (BitStik) variants, and added support for them to AppleWin (the
    Windows-based Apple II emulator) here:
    https://github.com/AppleWin/AppleWin/releases.

    I then went on to present a short (~10 minute) talk at KansasFest last
    year, titled: "Copy protection via the Game I/O connector", which includes >> a few slides on the Robo hardware (based on some of the info you supplied
    in this thread): https://www.youtube.com/watch?v=XXG6XKnaNZk&t=5632s

    Do you have an idea what the equivalent circuit would look like to emulate a Robocad dongle in hardware?



    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Hugh Hood@21:1/5 to TomCh on Sat Jan 27 11:34:08 2024
    On 1/27/2024 5:14 AM, TomCh wrote:

    Yes, I'd like to take you up on this offer of a loaner.


    Email sent.

    FWIW, I donated to KansasFest (actually to Sean Fahey) an original UK
    RoboCom Bitstik that I acquired from a gentleman in Sweden many years ago.

    I don't recall whether it had a separate dongle, but it had a serial #
    on it so I know it was protected. You may wish to contact Sean on
    whether he still has it (among his *many* treasures).



    Hugh Hood

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)