May be of interest to #PocketViewer and #BASIC fans:
I imported the Mercurial repo #OWBasic into a Git repo on #Sourcehut:
https://git.sr.ht/~raingloom/owbasic
May be of interest to #PocketViewer and #BASIC fans:
I imported the Mercurial repo #OWBasic into a Git repo on #Sourcehut:
https://git.sr.ht/~raingloom/owbasic
Adding #AutoHotkey to the list of cautionary examples of ad-hoc scripting languages. But I'm still glad it exists, now I can start automating the #PocketViewer simulator. Opening it is already so much faster.
But ideally I'd still prefer to reverse engineer it enough to use Frida to add some automation and maybe even a GDB stub.
#theWorkshop
At the portion of my #PocketViewer hacking where I have to become intimately familiar with Wine and Windows GUI automation.
#theWorkshop
Don't wanna jinx it yet, so all I'm gonna say is that the #CollapseOS #PocketViewer ROM writer is finally picking up steam.
#theFoundry #theWorkshop
#ReverseEngineering / #embedded folx, is it possible that a boot ROM is mapped near the end of the address space such that some of its contents wrap around?
See: https://github.com/NationalSecurityAgency/ghidra/issues/7917
Context: I'm trying to figure out the memory map for the #PocketViewer .
@csepp @hblaub Hi all! I recently managed a successful synchronization of my #Casio #PocketViewer #PVS400Plus with #caleidlink/#pvlink but couldn't install addins or synchronize sheets. Have either of you managed to sync either? I thought I'd ask after following this Mastodon thread: https://merveilles.town/@hblaub@mastodon.online/113149241582160220
@csepp You'd appreciate this video in which I take a first crack at #pvlink with my #casio #pv-s400plus #pocketviewer #pda! https://youtu.be/EjbOeXwjbzI #retro #retrocomputing
@csepp I saw that you've been working on reverse engineering the #casio #pocketviewer and using its #sdk in #wine. Is enough of the #sdk documented that we could prepare a #linux version? I just compiled #caleidlink #pvlink on my thin client to try syncing my #pvs400plus. #pda
@csepp Would you be interested to talk about #PocketViewer ?
> How Wozniak’s code for the #Apple1 works
https://redirect.invidious.io/watch?v=SpG8rgI7Hec
Great video by #BenEater on the #MOS6502 machine monitor.
I'm working on some low-level #PocketViewer stuff in #theFoundry , so I found it especially useful. Probably won't go to this level of optimization though, at least not for the first implementation.
Made some progress in making the #PocketViewer SDK more usable under Wine with some wrapper scripts. UwU
#theWorkshop
Figured out how to install #OWBasic (a #Basic implementation) onto my #PocketViewer ! Turns out the PV application manager errors I was getting were misleading. The import function doesn't seem to work, but I can upload files to the device just fine.
So now I have the interpreter, a reference browser, and the OWB reference docs all on the PV. !
And I won't need the Windows 98 machine after all and can continue developing under Wine.
#theWorkshop
Hrmm, I think I'm better off setting up one of the old computers I have as a dedicated old-Windows machine. Emulating old #Windows versions with #QEMU is too fiddly (especially shared folder support) and I am never quite sure if Wine is emulating something correctly, especially with physical serial port access being involved. I need to validate if the #PocketViewer SDK works on real hardware.
cc: #retrocomputing #theWorkshop
I should be sleeping but I found more still online #PocketViewer sites. OwO
https://mcpvc.stackeffect.de/index_en.html
Got a #PocketViewer in its original box with a dock.
I can finally transfer files between it and my PC. UwU
Trying to reverse engineer the x86 emulator in sim3022.exe from the #PocketViewer SDK. Or rather, trying to locate it in the relatively massive GUI app. I have some candidates that look like they are doing instruction or operand decoding.
Continuing my attempts at decompiling the #PocketViewer BIOS in #Ghidra. I'm getting closer to figuring out where NC3022.BIN is mapped, but it's not yet enough to make Ghidra correctly decompile the first instruction, which is an indirect far jump, so it's affected by both the reset vector and the BIOS mapping.
I'm kind of crossing my fingers and hoping that Ghidra's decompiler can correctly handle x86 segment shenanigans.
#theFoundry #reverseEngineering
Damn it, I hoped it would not come to this, but I guess I'll have to actually solder those pins onto the test pads of the #PocketViewer. I can use the multi tack glue for temporary support and the glue gun to stop the pin from moving, but that still leaves a small gap between the test pad and the pin, so I have to flow a little bit of solder on there. Tested it with one pin, seems to work fine, but idk how I'll manage the other 8 without any of them shorting.
cc: #electronics #theFoundry
Oh, I think I figured out how Casio's engineers tested the #PocketViewer. It was weird that there would be no easier way to access the serial port than via the proprietary connector, which has very tightly packed surface mounted pins. There are 9 test pads on the "back" of the PCB that are obviously on the same traces that lead to the the serial connector.
That makes my job a *lot* easier. Although it still requires disassembly, so a custom connector build is still on the todo list.
Holy heck, I found two mystery buttons on my #PocketViewer. There are 5 switches clearly labeled on the PCB, but two of them only have holes on the rear of the case, but there is no rubber dome or switch in there. The switch's hole is even covered with electric tape.
Any #Casio engineers wanna tell me what they could be?
One is labeled as "P" on the rear and has a similar hole as the reset button, the other looks like a slide switch.