Ultimate Amiga

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1]   Go Down

Author Topic: PSPUAE Dev Log of current changes from 0.90 Beta 4  (Read 457 times)

0 Members and 1 Guest are viewing this topic.

FOL

  • PSPUAE Dev Team
  • Site Admin
  • A4000T
  • ******
  • Karma: 690
  • Offline Offline
  • Gender: Male
  • Posts: 3,606
  • Amigakit.com Technical
    • PSPUAE
PSPUAE Dev Log of current changes from 0.90 Beta 4
« on: March 27, 2026, 07:59:49 AM »

Seems now I started coding again and made a few threads. They decide to try and brute force attack my server.
Locked it all down now, very wierd, they were trying to access my Database server from ssh.
Lets see how it goes, as I have now block ssh from doing anything with DBserver and blocked IP attacking permanantly.

Anyway, heres a fresh updated log of sorts for PSPUAE.

New changes since 0.90B4
Added ME-based audio engine (me_audio.c / me_audio.h)
Added MP3 menu player system (menu_mp3.c / menu_mp3.h)
Added MP3 conversion script (convert_mp3.sh)

Removed
Removed psp_safe.c (legacy safety / wrapper layer)

Core changes that have happened
Audio System
Replaced entire PSP audio driver with ring buffer streaming system
Converted audio to ME-driven timing model
Added audio tick / timeline counter (global sync source)
Redirected UAE audio output into new mixer pipeline
Updated sound interface layer to match new backend
Fix audio reset issue, that caused the random lockup on reset and loading savestates

CPU / Timing
Added audio-driven CPU cycle budgeting - Spent some time fixing this, as I missed some ifdef code and put my code where it was never executed.
Introduced cycles-per-sample timing model
Synced CPU execution pacing to audio clock
CPU Accelerated, Acts like an Accelerator card. It auto adjusts to load and increases and decreases speed on fly.
Tweaked some more to make it run as 28 MHz. So it now steps between 7 -28 MHz depending on load.
Disabled for now
Re-add CPU Turbo and CPU/CHIPSET code. This seems to give us our biggest speed increase. So been working on it for last 4 days. Turbo now also dynamically tweaks timing across the chipset, to fix errors users were seeing i.e. slow blitting on some screens and stuck on title screen. I have half eliminated the slow down. If I can eliminate it completly, we will have a nice speed increase with same compatibility.
Added simple JIT backend and stubbed alot of code for now (Thats how I found timing code mistake). It compiles with JIT, just need to do the hard work now to get it working.

PSP Integration
Integrated ME audio system into main PSP loop (psp.c)
Added MP3 playback control hooks (pause/resume/init)
Linked menu system with MP3 playback

Build / Compile
Updated Makefile with new compile flags and modules
Included new audio + MP3 components in build
Included new compemu_mips + mips_stub - for future JIT work.

Graphics / Misc stuff
Cleaned and optimized gfxutil color handling (To fix AGA)
Minor fixes and corrections in custom.c (bitplane / fetch logic to fix AGA)
Improve Auto FrameSkip, add buffering. This makes everything silky smooth, even when running slow. Everything is still synced, no sound popping and clicking, just gfx slow.
Blitter now on ME, however its slow. I have manged to increase its speed, but nothing like UAE CPU running it. Currently I have Blit scheduler that decides which CPU to use. So its using both PSP CPU's to Blit. Main focus is on getting ME Blitting to full speed. Once thats done, I will replace Blit decide with "just use ME".
Fixed two 21 year old bugs. Random lockup when loading savestates and certain configs. We were missing audio reset during these runtime states.

Config Changes
Disabled cycle switch system via sysconfig (Not needed any more, will be replaced with software accelerator)
Adjusted interrupt/audio related config behavior


Changes summed up
Shift from CPU-driven timing → Audio-driven timing
Shift from blocking audio → asynchronous ring buffer audio
Shift from blocking Blitter → asynchronous Blitter on ME CPU - For now, will try it again

Introduction of Media Engine (ME) as core audio processor
Separation of:
Paula audio generation - This gives biggest speed increase, just having issues moving last remaining bits.
Output mixing / streaming
Addition of independent MP3 playback path for UI

Currently working on;
Blitter on ME is a dead end. - After discovering, my mistake with timing, this may be possible
Fine tuning, CYCLE_UNIT and Finegrain CHIPSET
« Last Edit: Today at 10:34:39 AM by FOL »
Logged
Quote
Resolute and Industrious
Grand ruler of the yellow people and the Ultimate Amiga Empire

FOL

  • PSPUAE Dev Team
  • Site Admin
  • A4000T
  • ******
  • Karma: 690
  • Offline Offline
  • Gender: Male
  • Posts: 3,606
  • Amigakit.com Technical
    • PSPUAE
Re: PSPUAE Dev Log of current changes from 0.90 Beta 4
« Reply #1 on: March 30, 2026, 09:21:03 AM »

Update;

Blitter on ME is deadend. Spent 2 days trying to get it to run faster, no joy.
So reverted it back to Main CPU.
So far everything I have tried, has not yielded much in speed increase.
Tried;
Memory fast paths for blitter,
re-writing blitter (that sucked, over 10 hours),
Lots of CPU optimisation, got some speed up, as CPU now never asks if events are done all the time.

Only thing that has given 3 to 6 FPS, is moving Paula to ME.
There is still some more Paula stuff I need to move. Tried yesterday, code is working, just no sound at moment.
Got another 2 to 3 FPS, so I know that route is a good one. Will stick at it.

Still have have JIT up my sleeve. Will get audio out of way first.
After that, I think I have explored every avenue to squeeze speed out of it.
I could maybe try making some stuff independant, so takes load off Main CPU.
Maybe Floppy, as floppy accesses kill cpu while in operation and CPU struggles to keep up.
« Last Edit: March 30, 2026, 11:26:58 AM by FOL »
Logged
Quote
Resolute and Industrious
Grand ruler of the yellow people and the Ultimate Amiga Empire

FOL

  • PSPUAE Dev Team
  • Site Admin
  • A4000T
  • ******
  • Karma: 690
  • Offline Offline
  • Gender: Male
  • Posts: 3,606
  • Amigakit.com Technical
    • PSPUAE
Re: PSPUAE Dev Log of current changes from 0.90 Beta 4
« Reply #2 on: March 31, 2026, 12:14:43 PM »

Another update.

Seems extra work on Paula on ME is a dead end. I can get it working, but never 100% correctly, no matter what I tried. Same with blitter.
So I have decided, I will do a release of work done so far.

In the meantime I will start work on mips JIT and will reuse some of the x86 JIT files. They have the translation logic, optimisation and macros. Saves lot of work.
Logged
Quote
Resolute and Industrious
Grand ruler of the yellow people and the Ultimate Amiga Empire

FOL

  • PSPUAE Dev Team
  • Site Admin
  • A4000T
  • ******
  • Karma: 690
  • Offline Offline
  • Gender: Male
  • Posts: 3,606
  • Amigakit.com Technical
    • PSPUAE
Re: PSPUAE Dev Log of current changes from 0.90 Beta 4
« Reply #3 on: April 07, 2026, 12:26:34 PM »

Been a few days.
Another update.

Started playing with JIT. Glad I did, turns out a lot of my improvements were not active.
Missed #ifdef, which cover alot of code. So I put my code in wrong place (code was not executing).
Spent time correcting that. Then re-added my CPU turbo and CPU to CHIPSET options.
I have been working on Blit slow down then Turbo active. Thing I missed, although I fixed sound while in turbo, I did not think about the actual chipset. Blitter, Copper, etc etc. Those were still running at old clock. Updating this code has improved slowdown. However, Im now wondering how far I can push virtual cpu cycle. As 256 gave us a big speed increase. Would 128, give us even more? Time to test,  ;).

While working on this, got me thinking about all the issues I had with blitter on ME not working. Considering the clock code was missing from CPU code. That may be why. Will try Blitter on ME again.
Logged
Quote
Resolute and Industrious
Grand ruler of the yellow people and the Ultimate Amiga Empire

FOL

  • PSPUAE Dev Team
  • Site Admin
  • A4000T
  • ******
  • Karma: 690
  • Offline Offline
  • Gender: Male
  • Posts: 3,606
  • Amigakit.com Technical
    • PSPUAE
Re: PSPUAE Dev Log of current changes from 0.90 Beta 4
« Reply #4 on: Today at 10:30:54 AM »

Log updated in first post.
Logged
Quote
Resolute and Industrious
Grand ruler of the yellow people and the Ultimate Amiga Empire
Pages: [1]   Go Up
 

TinyPortal 2.3.1 © 2005-2023