PicoMEM FAQ - FreddyVRetro/ISA-PicoMEM GitHub Wiki

The PicoMEM BIOS Does not Start (With LED ON)

During the Startup, the PicoMEM BIOS page should be visible or at least, the message "PicoMEM - Init... "

If it is not the case:

  • Check if your machine is not in the not supported machine list on the Git Home page.
  • Try different BIOS Base Address with the "BIOS xxxx" command in the config.txt file:
    https://github.com/FreddyVRetro/ISA-PicoMEM/wiki/Configuration-files#configtxt
    See this Wiki page for more infos on address: 8086 Memory Map
  • You can try the "FAST RAM" Mode firmware. (Mandatory for some Commodore PC, Schneider Euro PC1)
  • On Portable machine, plug the power if not done.
  • The PicoMEM May not be compatible with your machine.

If you have a Bootable DOS Floppy or a working STIDE/HDD:
You can check if the PicoMEM BIOS is visible with the "d D000:0000" command under debug.
(Replace D000:0000 by another value if you modified the BIOS Address in the config.txt file)

You can also test the PicoMEM I/O Port, "i 2A0" should return 0 or at least a value not FF.

Also, PMINIT can tell you if the I/O port is visible and allow you to use the PicoMEM as a sound card.

BIOS Does not start : I see "PicoMEM - Init.... Done", but no setup menu

Force the PicoMEM Setup to start during the Optionnal ROM init: Add PREBOOT in the config.txt file like explained here:
https://github.com/FreddyVRetro/ISA-PicoMEM/tree/main/images

Explanation : The PicoMEM initialisation is in 2 Phases

  • First, the PicoMEM BIOS is started, it will Display "Init....Done"
    During the init, the PicoMEM BIOS redirect the Boot Strap interrupt to start the Setup.
  • Then, at the end if its initialisation, the PC BIOS Start the Boot Strap code : PicoMEM menu will appear.

If it does not start, it means that another board redirect the Boot Strap interrupt After the PicoMEM BIOS. (XTIDE, Disk ROM...)
To avoid this, the PicoMEM ROM should be placed after it.

BIOS settings are not saved

PicoMEM settings are saved on the PICOMEM.CFG file on the SD.
The PicoMEM display an error at boot if it can't save the config file.

You should check if the file is present and it should contains inside the name of the disk image you selected. (Open in an hex editor)
You can try to use another SD and / or delete the PICOMEM.CFG file if present.

BIOS Error : "IO Port Error"

The PicoMEM I/O Port may not be detected in case of conflict or if the ISA BUS Timing for I/O is not correct for the PicoMEM (Not compatible)
The PicoMEM needs the ports 2A0h to 2A3h to be available.
There is actually no way to change the PicoMEM Base Port.
If you are in this case, you should reach FreddyV for support/Help.

BIOS Error : "BIOS Memory Error"

There is 8KB of emulated RAM just after the BIOS ROM (Base ROM Address+8KB)
This RAM test did fail.
Verify that there is no conflict in the ROM base address with something else. (Change the base address via the config.txt file)
You can also try to adjust the ISA Timing in the BIOS (It is possible on some PC) to reduce the ISA BUS Clock or add Wait States on Memory signals.

BIOS Error : "Memory Error: PC Cache enabled or Command error"

This error occurs when there is memory cache enabled at the PicoMEM BIOS address range.
There is generally BIOS option to disable Cache in the "Optionnal ROM" Address space.
If not, the PicoMEM fonctionality needing RAM emulation will not work.

BIOS Error : "RAM: Fail"

The RAM test result displayed at the BIOS Startup is the PSRAM test.
The PSRAM may fail if there is a problem with the MicroSD.
If there is no RAM failure with the MicroSD removed, your MicroSD may be damaged or not compatible.

USB Mouse : How to use it and compatibility ?

To use an USB Mouse, you can use an USB OTG Adapter or an OTG Hub.
Then USB Host and USB Mouse need to be enabled in the Advanced BIOS Menu.
You must use the PMMOUSE Driver to initialize the USB Mouse.
Mouse may not work under Windows 3 and above, as it use 16Bit Interrupt code. Development of driver is needed for 386+ OS.

USB Mouse : Why there is no port and IRQ Settings ?

The PicoMEM use its Hardware interrupt for the Mouse support and this IRQ is Auto Detected.
There is no I/O Port for the mouse as the data is transfered via emulated Memory.

USB Mouse : Troubleshoot a not working Mouse.

To Work, the PicoMEM interrupt need to be enabled :
Place a jumper on one of the IRQ Headers and check that the BIOS detect it correctly.

A Jumper need to be placed on the Power Header on the bottom right of the PicoMEM so that the Mouse can receive power.
If the ne2000 use the same IRQ as the PicoMEM, the mouse will not work.
The USB Host and USB Mouse need to be enabled in the Advanced BIOS Menu.

USB Joystick : How to use ?

To have USB Joystick working, USB Host mode and USB Joystick need to be enabled in the Advanced BIOS Menu.

Supported Joystick are the XBOX compatible (XBOX 360, XBOX One) and PS4 Compatibles.
Support Only one joystick for the moment, no driver needed.
Will not work if a PC Joystick controller is already present (On Board or Sound Card)

NE2000 : How to configure the Wifi SSID/Password ?

You need to create a wifi.txt file with 2 lines : The First one is the Wifi name/SSID and the second is the password.

NE2000 : What Port/IRQ to select ?

IRQ: The PicoMEM has its own Hardware IRQ that is auto detected.
If you use the same IRQ for the NE2000 as the Hardware IRQ, Only the N2000 will work.
Anyway, if you want a better compatibility (For 486 or more), you can use the same interrupt for both.

Port: You can select any of the port listed in the advanced menu depending on the Port usage of the PC (No Conflict)

Recommended : Hardware IRQ (Jumper) 7, NE2000 IRQ 3 and port 300h are commonly used default values.
WARNING : If your PC has an XTIDE or a RTC Chip, the port 300h may be already used ! XT hard disk drive also often use the port 320h. The Gravis UltraSound and some RTC use the port 340h.

NE2000 : How to use the network ?

You can use the packet driver from the firmware folder in this repository (pe2000)

NE2000 : Does not work.

Check the IRQ / Port configuration :
If the Board Address displayed during initialisation is 03:03:03:03:03 .... There is a conflict with the XTIDE (Default port 300h)
If another not usual value is displayed (always the same value), there is a port conflict with another board. (Or an RTC)
Verify that there is an interrupt detected by the PicoMEM (Should by 3,5 or 7, not 0)
PicoMEM Interrupt number is visible at Boot time and in the BIOS Setup first page.
Warning : Only IRQ <=7 are implemented.

Check your Wifi
The PicoMEM will inform you if the wifi.txt file is missing, or if the SSID is not found. Please verify that the SSID/Password is correctly set in the wifi.txt file
It was seen as failing on iphones default name ssid due to the " ' " caracter.
You should change " myname's iphone" SSID to something without the '

PC Network configuration
The PC needs an IP Address. if you use mTCP, regularly refresh the IP with the DHCP command.
More globally, check mTCP Web site for more troubleshooting.

EMS: Why the PicoMEM does not let me enable EMS ?

To work, the EMS needs to have the full memory segment D or E Available. If not, the setup menu will not allow you to enable the EMS.
You can correct this by moving the PicoMEM BIOS to the segment C (If it is in segment D)

Floppy : Can I change a Floppy after DOS Boot ?

Yes, You need first to install the keyboard shortcut interrupt with the PMINIT utility:
PMINIT /k
Then, to select an other image, (A: Only) Press Left Ctrl + Shift +F2

Floppy : When I hot swap a disk image, it is not recognized. ?

Hot swap of floppy with different size does not work.
Ensure that you swap disk with the same size. (Only 1.44MB, 720KB...)

Floppy : Why the boot on real Floppy Does not work ?

Currently, the PicoMEM emulated MEMORY Does not support DMA: If you want to Boot on a Floppy, you may have to disable all the Memory emulation.
The crash may occur only on DOS 6.0 as it use the higher memory space as disk buffer.
This is the same with HDD using DMA, like XTA Drives.

HDD/Floppy boot fail : We see the message HDDx : Boot, then it crash

This article is for Boot from image failure.
When the Boot text is displayed, it means that the image Boot sector was read correctly.

Then, the problem is most likely an image error, a conflict or a Memory issue on the machine.

  • To check if the problem is the image, you can try to use the images available on this GitHub.
  • You can try to put the PicoMEM BIOS at another base Address using another image file, or with the config.txt file.
  • Does the PC Boot using an XTIDE and Floppy ? If Yes, you may have to test its memory with checkit for example.
  • IF the machine is a laptop or an homebrew computer, try tu add the Power supply or to change it.
  • You can also try diferent PicoMEM firmware version to check if it make any difference.
  • Ultimately, the PicoMEM RAM emulation may have a problem, but as of now, it had the same timing as the ROM emulation and as the BIOS Did start, it means it is reliable.

HDD image : Can I use a Compact Flash dump or 86BOX Image ?

The PicoMEM is working like DOSBOX for the Disk Geometry : It assume that the number of Sectors and Heads are fixed.

The Disk Geometry in the PicoMEM is then always H:16 S:63 C:x with X depending on the image size.
Most of the relatively large (256Mg or more) has the same S and C values, then, it should work.

HDD image : File Copy/DOS commands are slow.

It is highly recommended to use reasonable disk size, below 500Mb. 200Mb is an ideal disk image, as it will be recognized and usable by DOS 6 and DOS 3.31 The advantage of the PicoMEM is that you can mount multiple small dize disk rather than a single Big disk. Then, you can create different images for different usages.

When a disk image is big (more than 500Mb) MS DOS need to read the FAT table to find for files and data AND the PicoMEM also need to read the SD card file system to find the requested sector. This result in multiple sectors read that may be done in double by the picoMEM, just to find one sector on the disk. This affect the single sector read performances, even if the transfer speed is still fast.

A way to improve it:

  • Defragment the disk image.
  • Add BUFFERS in DOS for a small disk cache. (Add BUFFERS=10 in CONFIG.SYS)
  • use multiple smaller disk images.
  • use an A1 or better A2 application speed class MicroSD card.

An update in the picoMEM to add FAT cache is planned for the future.

HDD : Got an error when trying to access "E:" with 3 images

DOS < Revision 4 Does not support more than 2 Hard Drive.

⚠️ **GitHub.com Fallback** ⚠️