Ghidra is addictive. Found a good entry point for the #PocketViewer simulator and now I can't stop naming variables in the decompiler.

For those curious: plugview.plg seems to handle the screen rendering and it has a lot of public symbols and uses many known Windows APIs, so it could be a good way for me to find where VRAM resides in the emulator and maybe on the real system.
But I also rediscovered a PV blog with lots of useful utilities (like GetOS!) and even some OS patches. I already found some useful info about the memory map in the source code for GetOS2.
Still, reversing the simulator can be of some service yet! Right now I rely on some wonky AHK scripts to automate it, it would be much better to inject code directly into it with Frida, or to extract useful bits out of

Made some very small progress on the #CollapseOS #PocketViewer port by figuring out more of the int86 routine.
https://git.sr.ht/~raingloom/collapseos-cpv/blob/fb11e8485cf795272e8e62d285e99d92be174908/int86.asm
cc #theWorkshop #theFoundry

ps.: my #assembly skills are pretty newbish and rusty, so consider all comments uneducated guesses 

Hey #Casio I have some questions...

enum bool {FALSE=0, TRUE=1, HALF=2};

cc: #C #PocketViewer

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 .
Overly helpful range check for base address · Issue #7917 · NationalSecurityAgency/ghidra

Describe the bug Boot ROM for an old PDA is loaded at a high address that wraps around. According to the official device simulator, the first instruction is at FFFF:0000. That instruction is at off...

GitHub
@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
Harry Blauberg (@[email protected])

@[email protected] If you want to access the data part (so calendar, scheduler and other stuff), have a look at https://github.com/klaumit/CaleidLink/ .

Mastodon
@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
Nearly successfully synchronizing a Casio Pocket Viewer PDA with my Linux thin client using pvlink

YouTube