#pocketviewer — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #pocketviewer, aggregated by home.social.
-
Feel the cheapness ... #Casio #PocketViewer #PDA PV-200
-
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 #theFoundryps.: my #assembly skills are pretty newbish and rusty, so consider all comments uneducated guesses :neofox_laugh_sweat:
-
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 #theFoundryps.: my #assembly skills are pretty newbish and rusty, so consider all comments uneducated guesses :neofox_laugh_sweat:
-
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 #theFoundryps.: my #assembly skills are pretty newbish and rusty, so consider all comments uneducated guesses :neofox_laugh_sweat:
-
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 #theFoundryps.: my #assembly skills are pretty newbish and rusty, so consider all comments uneducated guesses :neofox_laugh_sweat:
-
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 #theFoundryps.: my #assembly skills are pretty newbish and rusty, so consider all comments uneducated guesses :neofox_laugh_sweat:
-
-
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 -
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 -
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. :neofox_owo:
#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 . -
> 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. :moomin_happy: !
And I won't need the Windows 98 machine after all and can continue developing under Wine.
#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. :moomin_happy: !
And I won't need the Windows 98 machine after all and can continue developing under Wine.
#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. :moomin_happy: !
And I won't need the Windows 98 machine after all and can continue developing under Wine.
#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. :moomin_happy: !
And I won't need the Windows 98 machine after all and can continue developing under Wine.
#theWorkshop -
Figured out how to installed #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. :moomin_happy: !
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. :moomin_yay:
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. :flan_worried:
#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. -
#PocketViewer finally (carefully!) disassembled! Damn, that required some finesse and "I wonder what Casio's engineers were thinking" pondering and poking.
Anyways, now I might finally get a better angle from which I can poke at the serial port.ps.: Thanks @rostiger for the stickers! They arrived recently and I've been putting them on things so I become more attached to them. Hopefully that will give extra motivation for their maintenance.
-
I envy those who do not choose projects where they have to learn about 16 bit #x86 segmentation.
I'm digging deeper and deeper into the #PocketViewer SDK in #theFoundry and it was pretty messed up when I realized that I was incorrectly converting 32 bit addresses to segmented ones. -
The journey of a thousand baby steps begins...
#PocketViewer #theWorkshop -
Hmmm. Could I make my #Forth (or #Lisp, we'll see how far I can push the abstractions) for the #PocketViewer such that as long as no single byte array (be that executable code or data) was larger than 64k (quite a reasonable assumption) it could use 16bit offsets for jumps and pointers, and automatically insert 32bit ones for the rare cases where a jump crosses the segment boundary? 🤔
There are only two segments' worth of memory.
#theFoundry -
#Casio #PocketViewer simulator #screenshot (in Wine). I kinda dig this early 2000s #anime art style. (In moderate quantities at least.)
Any other #handheld computing / #PDA fans tried this platform?
-
By golly I have an idea for connecting to my #PocketViewer 's teensy-weensy RS-232 port and I'm not sure how insane it is:
Take the thinnest sewing needles I can find, solder some wires onto them (or use alligator clips?), tie down the device with some strong tape on a smooth surface, position the pins to the connector using some blu-tack.
Any #electronics folks see anything obviously wrong with that plan? Do I have to invest in a bunch of those positionable arm thingies?
-
> #OWBasic turns the Casio-PV from a standard dumb-terminal #PDA into a type of hand-held Acorn Electron #BASIC computer.
Oh hell yes, that is my jam.
https://en.wikipedia.org/wiki/OWBasicSo now I need to hunt down / build an RS-232 cable for this #PocketViewer I picked up. 🤔
-
> #OWBasic turns the Casio-PV from a standard dumb-terminal #PDA into a type of hand-held Acorn Electron #BASIC computer.
Oh hell yes, that is my jam.
https://en.wikipedia.org/wiki/OWBasicSo now I need to hunt down / build an RS-232 cable for this #PocketViewer I picked up. 🤔
-
> #OWBasic turns the Casio-PV from a standard dumb-terminal #PDA into a type of hand-held Acorn Electron #BASIC computer.
Oh hell yes, that is my jam.
https://en.wikipedia.org/wiki/OWBasicSo now I need to hunt down / build an RS-232 cable for this #PocketViewer I picked up. 🤔
-
> #OWBasic turns the Casio-PV from a standard dumb-terminal #PDA into a type of hand-held Acorn Electron #BASIC computer.
Oh hell yes, that is my jam.
https://en.wikipedia.org/wiki/OWBasicSo now I need to hunt down / build an RS-232 cable for this #PocketViewer I picked up. 🤔