PicoCalc x86 - 8086/80186 emulation on Pico 2

Qbasic works fine. Freemacs works, although when you run it for the first time it takes awhile to compile all the mint files. BCC also works.

Having tested all of the options, I think if this is just a part time thing you will occasionally do with your PicoCalc, Svar, FreeDOS, or MS-DOS 4.0 will be fine. If this is going to be what you use your PicoCalc full time, it is worth the effort to build your own MS-DOS 6.22 image.

1 Like

Finally got some time to play with it… Not sure if it was confirmed in the thread above, but it doesn’t work with pelrun’s uf2loader. Flashing directly (after first flashing with the nuke uf2) worked fine though.

I haven’t yet changed the config.sys and autoexec.bat, but I’d be curious what others are doing to squeeze the most memory out of it. I didn’t get quite as much free memory as you mentioned cjstoddard, with 6.22, but it was still a good amount. (I’m using a Pico2W.) Turbo Pascal 5.5 does indeed run! I had forgotten some of my old programs had used EGA and VGA (so fancy, hehe), but the text mode programs all worked fine. I also tried a copy of Xtree Gold 4.0 from one of my ancient disk archives, and that worked great too. It’s a sort of Midnight Commander like thing. (Main problem was remembering keystrokes after all these years!)

Just for fun, I tried the CGA version of Wolf3D you posted above, but I couldn’t get the registered or the shareware version to run as they both reported not having enough memory. I confirmed they worked under DOSbox on my main machine, so I was probably just a little short on memory on the PicoCalc. QBasic ran for me too, but I haven’t spent time yet digging up some old BAS files to throw at it, really I just launched the GUI and poked around.

This is really cool though. Also nice that the PC speaker is supported!

Makes me wish I’d saved more of my old DOS stuff from back in the day. I kept some things that I pulled off floppies, but mostly didn’t start archiving things well until I was using Windows 3.1 and up. So much lived on floppies and I guess remained on them. I’ve got a couple of DOS “utility” floppy disk images that I’ll check out soon. I know they had all the various compression and encode/decode tools from the early to mid 90s, an image viewer, hex viewer/editor and some other junk. Not sure if it will be useful on the PicoCalc, but maybe interesting. :slight_smile:

1 Like

I made a new release 0.0.4

  • CGA render based on scanlines
  • CGA vertical/horizontal retrace
  • Shift modifiers support improved, double shift to enter SHIFT+F6-F10 combos
  • Keyboard processing latency improved
  • Some 80186 instructions for pusha/popa and HLT (halt)
  • PIT emulation for all modes and channels
  • CGA font for 40x25 text mode and 320x200 graphic mode
  • Pico 2 speed bumped to 240mhz, also optimizations, overall ~30 % emulation speed.
  • Bios beep corrected to be more correct and authentic
  • Memory guard against software probing the memory beyond limits

What’s next:

I am considering next version with support for internal PSRAM via autodection methods based on latest Pico SDK, 736KB RAM will be available on devices like Pimoroni Pico Plus 2.

3 Likes

I am running MS-DOS 6.22 on my PicoCalc. I can confirm that Borland TurboBASIC seems to run well. More RAM will be a definite plus. In looking around for a better way to access the hard drive image, I ran across this:

To mount .IMG file in R/W mode: “gnome-disk-image-mounter --writable filename.img” (https://superuser.com/questions/1698621/how-to-force-ubuntu-disk-image-mounter-to-mount-image-files-as-writable - accepted answer)

Other methods that I tried ended up with the system as read only. This way allows me to add, delete and modify files right on the SD card. Then when I unmount the image, it has all my changes ready to install in the PicoCalc.

I’m liking this more than I expected. Thanks again.

2 Likes

That’s good, also you can now use fd.img (disk a:) as 1.44MB floppy medium to transfer the files if it fits, or use DDLINK over serial with good tui interface, but yes you have to run ddlink on both ends(in dosbox on host PC and on PicoCalc).


Also BIOS setup utility is coming :wink:

3 Likes

I used to be a database developer, using FoxPro. FoxPro also runs out of memory here:

But it will load, and open a file:

Then I could open a database and list its structure (LIST STRU) - as shown:

But when I tried to edit the database, it ran out of memory.

Really looking forward to the extra memory.:grinning_face_with_smiling_eyes:

5 Likes

Is there any chance that you could compile both a Pico 2 AND a Pico 2W version for 0.04 and all future releases? I know that I could download the source and build it myself but it would be nice if the author yourself could provide both ready-to-run UF2 versions.

Pico2 version works the same on Pico2w, I checked myself on Pico2w.

Weird… I downloaded the Pico2 version and all I got was a blank screen. I try the ol’ universal_flash_nuke.uf2 and try again.

Sorry about that. I just assumed that when you made two versions for v0.02 that there was some difference between the Pico2 and Pico2W that made it necessary.

EDIT: ten minutes later. You are correct. I nuked my flash and reloaded your Pico2 .UF2 on my Pico2W and it works just fine! sorry for my stupidity. I’m now going to spend the evening playing with Freedos 1.4

Yes, I know my screen is dusty

2 Likes

Crazy stuff, never used FoxPro only MS Access sometimes before the full sql databases later. What is FoxPro memory reqs? I bet it uses EMS/XMS for big databases.

Yaeh, nuke flash should work indeed, maybe uf2 loader will support risc-v arch loading and it will work in future.

1 Like

I have something intersting to share, I added support for the 80186 instructions and now we have emu71 Page working, so our PicoCalc can do very serious calculations and math, emu71 emulates saturn cpu and can load HP-71B - Wikipedia roms

Link to the github issue: Issue with the 80186 emulation · Issue #2 · shtirlic/picocalc_x86 · GitHub
Should be in next release.

4 Likes

I don’t really remember - and I could not find the manual online, nor my FoxPro book from back then. I do know that it runs, just not well enough to be usable.

While I was working there, we went from MS-DOS to Windows, then to Win 95, and upgraded to FoxPro 2.6 for Win. Then we upgraded to Visual FoxPro, and had just started with SQL when I got another job.

1 Like

This how screenshot feature looks like, screenshots will be in the x86 dir on SD Card, I am still not decided what key combo to use for now just short press of power button, will be configurable via bios setup to be Reset or Screenshot.

Files in bmp format with filenames like this screen_AFDD2F4B.bmp

3 Likes

It seems that once the SD card is used for this PicoCalc X86, it becomes marked as read only. Not even opening the folder as Admin will allow me to add/remove/modify files. Is this by design, or accidental? Is there any way to allow Linux to access the card after removing it from the PicoCalc, and putting it into my notebook?

Thanks

Yes, I had the same problem on my Ubuntu 22.x laptop, but I got around it by installing the DOSBOX-X application, ran it from the command line from my /home/dzubin directory, then, within DOSBOX-X using the “mount” command to mount my Linux directory

mount C /home/dzubin

and then the “imgmount” command to mount the hd.img file

imgmount D HD.IMG -t hdd -fs fat -size 512,63,8,1024

and I was able to copy files back and forth between the C: and D: drives. It took me a good half hour to figure out as it isn’t obvious.

There may be another way, but the DOSBOX-X way worked for me. But yes, mounting the hd.img file directly using the Ubuntu/Gnome disks utility seems to make hd.img read-only

Good luck!

Thomas

While I only ever played the C64 version back in the day, the game Agent USA runs well under PicoCalc x86 (especially the newest build that has support for the 80186 instructions, as it also provides a noticable speedup). It ran on the current released version, but was a little slow. Makes me wish the D-Pad on the PicoCalc was more comfortable though.

Just noticed this earlier today, but sadly it doesn’t work even in CGA mode on the PicoCalc, since it appears to use some kind of weird CGA mode.

1 Like

That is too bad. I saw the article in Hack-A-Day ( 3 KB Solitaire Fits In QR-Code, Runs In DOS | Hackaday ) about TinySol, yesterday, and downloaded it to try in my PicoCalc X86. Oh well, maybe @shtirlic will be able to make some more memory available and we can run Windows 1 (I tried that, not enough memory.:slightly_frowning_face: )

Hm, that’s strange maybe it’s when not properly unmounted, try run fsck on the card. I am on Arch with KDE, no problems or the question about mounting file hd.img?

Filesystem Errors (Dirty Bit): Linux automatically mounts FAT16/FAT32 drives as read-only if it detects corruption or improper unmounting