Analogue Pocket
Image: Damien McFerran / Time Extension

Analogue has just released a new firmware update for its Analogue Pocket handheld, and it's mainly concerned with improving things for the many developers who are currently hard at work porting FPGA cores to the device.

Since the arrival of openFPGA in the v1.1 update, cores have been appearing for the Analogue Pocket thick and fast, including ones for the Genesis, SNES and NES.

The fixes in this new update appear to be focused on feedback from developers, and that will mean that the ported cores will get better quicker. You can download the update here.

Here's what's new in OS v1.1 beta 4 and openFPGA v1.1 beta 4, direct from Analogue itself.


OS v1.1 beta 4

  • Fixed various UI/text issues
  • Fixing rising bootup noise
  • Adjusted messaging when memories are unsupported in core.json

APF

  • Added Chip32 virtual machine for more complex loading behaviors
  • Added extensive debug logging when booting cores
  • Added list-type options support to Interact menus
  • Added interlaced video support
  • Added controller connection status bits to determine what types of devices are connected when docked
  • Fixed data slot reloads
  • Fixed scaler with some combinations of aspect ratio/resolutions
  • Fixed radio button Interact groups
  • Fixed instance JSON parsing bug
  • Fixed "Request Slot Write" command to pass expected data size first
  • Fixed crash when exiting browser

Developer Tools

  • Added Asset Load Details
  • Added Debug Logging

Dock

  • Fixed analog joystick and trigger support on many controllers, including Xbox 360, One, PS4/5 and more when wired and wireless
  • Fixed scaler interpolation in APF
  • 2.4G SN30 supports creating save states with Up+Select. Press Up/Down before pressing Select. The Analogue button can still be pressed by holding Select first.

openFPGA v1.1 beta 4

Highlighting this OS 1.1 beta 4 release - Developers can now control the entire loading process with the versatile Chip32 virtual machine.

  • 32 bit CPU
  • 16 registers and a stack
  • 8Kbyte of address space holding combined memory and program (up to 2k instructions)
  • Multiply and divide instructions
  • Many custom I/O instructions to speed up development
  • Read/write anywhere in FPGA address space over the BRIDGE bus

Customized Loading

The Chip32 virtual machine feature enables Developers to customize the entire load process in a hands-on way. For this, a purpose-built assembler tool based on BASS is provided, with source and binaries for Windows, Linux, and MacOS Intel/M1. Additionally, a Chip32 example core will be provided within days on the openFPGA Github.

Enhanced Debugging

A logging tool has been added to help developers understand what is happening in their workflow. When enabled, (in Tools > Developer) a log file per core is written to the System/Logs/{author}.{core_name}_{timestamp}.txt path detailing the bootup process. Logs contain information about every file the framework touches and the exact commands the framework sends, providing useful context for troubleshooting. In addition to logs, Developers can now enable the new assets details tool to display more information about each asset’s filename and its load address on the loading screen.

Organize with Submenus

The Core Settings menu now has better ways to organize settings - a new setting type called list shows up to 16 possible options in a sub-menu, reducing clutter.

Detailed changes and improvements

  • Added Chip32 virtual machine for more complex loading behaviors
  • Added extensive debug logging when booting cores
  • Added asset details Developer tool
  • Added list-type options support to Interact menus
  • Added better display of long menu items
  • Added interlaced video support
  • Added controller connection status bits to determine which types of devices are connected when docked
  • Added analog stick support for Dock
  • Added data slot expected size reporting
  • Fixed scaler with some combinations of aspect ratio/resolutions
  • Fixed data slot reloads
  • Fixed instance JSON parsing bug
  • Fixed radio button persistence bug
  • Fixed "Request Slot Write" command to pass expected data size first
  • Fixed controller mapping bug
  • Add Chip32 cycle limit during crash (pending)
  • Add Chip32 automatic reinitialization via JTAG (pending)

[source twitter.com]