OS4 DepotLogo by DaveyD 
(anonymous IP:,2119) 

   Bug tracker
   Locale browser


   o Audio (342)
   o Datatype (51)
   o Demo (203)
   o Development (593)
   o Document (22)
   o Driver (99)
   o Emulation (146)
   o Game (992)
   o Graphics (494)
   o Library (113)
   o Network (228)
   o Office (65)
   o Utility (912)
   o Video (69)

Total files: 4329

Full index file
Recent index file



Support the site

 Readme for:  Audio » Misc » nallepuh.lha


Description: NallePUH (Paula emulation) for OS4 / AmigaOne
Download: nallepuh.lha       (TIPS: Use the right click menu if your browser takes you back here all the time)
Size: 69kb
Version: 0.5
Date: 21 Nov 2022
Author: Martin Blom (port by Stephan Rupprecht)
Submitter: Kjetil Hvalstrand
Homepage: https://github.com/khval/NallePuh
Category: audio/misc
Replaces: audio/misc/nallepuh.lha
License: GPL
Distribute: yes
Min OS Version: 4.1
FileID: 12318
Comments: 1
Snapshots: 0
Videos: 0
Downloads: 84  (Current version)
776  (Accumulated)
Votes: 2 (0/0)  (30 days/7 days)

Show comments Show snapshots Show videos Show content Show crashlogs Replace file 
About AmigaOS4.1 version

	Originally created by Martin Blom
	First ported by Stephan Rupprecht
	Stephan Rupprecht has not been active since 2009 on OS4Depot.net.
	it has gone 13 years without any updates, it’s now time to dust it off, and
get it working again.
	We (Damien Stewart and Kjetil Hvalstrand) believe something changed in the
Petunia JIT compiler, 
	and possibly some of the OS4.1 internal emulation of the custom chips where
	This left NallePuh in a horrible state.

What works with NallePuh on AmigaOS4.1

	Dpaint4 (starts, you can do simple drawings, most of the tools are broken)

	if you find anything working, please report, 
	lets make this list longer.

What does not work

	(there is native version of Digibooster for AmigaOS4.1, so no need)
	Octamed Soundstudio 1.03c does not work, need CIAA/B timers.
	THX Sound System 2.3d, crashes badly, no idea why.
	Delitracker 2.32 and Eagle Player do not work, freeze the system.
Not tested please report back.

	Musicline Editor 1.5

Changes in Nov. 2022

	* Added two missing PowerPC oppcodes to the exception handler.
	* VPOS/VPOSR support
	* ADKCON/ADKCONR is now handled correct.
	* libblitter.library is used.
	* Deprecated functions replaced.
	* Code cleanup, std style format.
	* Improved debugging (task name, etc).
	* Fixed/added a new GUI
	* Fixed/added iconify support
	* WB startup support
	* Load/save config file
	* Install script

	NallePuh for AmigaOS4.1 is not an Amiga hardware replacement project in
	it can never do what hardware does, because it depends on multitasking for time
	if multitasking is disabled, it will try its best to get out of nano/micro
waits in forbid states,
	but can’t do any real time keeping if that happens.

	NallePuh for AmigaOS4.1 is an exception handle, it does not hack function
	it does not depend on external MMU libs, I wont call it a hack exactly.

	NallePuh does not fix broken software, if the mc680x0 game/application/demo,
	has bugs, there is nothing NallePuh can do to solve this issues.

	If you run several mc680x0 programs at the same time, that all depends on
	Then this can result in unpredictable results. I know nothing that can be done
about it.


	AmigaOS4.1 SDK can be downloaded from Hyperion Entertainment
	Flexcat - needed for building language catalogs.

Orginal ReadME 

Short:    Redirects any (hw-banging) sound program to AHI
Uploader: Martin Blom <martin()blom.org>
Author:   Martin Blom <martin()blom.org>
Type:     mus/misc
Requires: An MMU, 68020+, AHI v4, OS 3.5 for GUI mode
Version:  0.3

Q: What is "Nalle Puh"?
A: It's the Swedish name for Winnie the Pooh.

Q: Really?
A: Yup.

Q: But... Ehm. What does this program, "Nalle PUH", do?
A: It's a hack that intercepts some custom chip register accesses and
   turns them into AHI function calls.

Q: How?
A: By using the MMU to mark the page at $dff000 as invalid.

Q: Invalid? Doesn't that mean you will get an exception each time the OS
   or an application touches the registers?
A: Exactly.

Q: Isn't that kind of... slow?
A: You bet.

Q: How slow?
A: Unbearable.

Q: So the program is useless, then?
A: Not quite. It can be instructed to patch the OS and all applications that
   read or write to the custom chip registers, so that next time the 
   instruction is executed, no exception will be generated.

Q: How?
A: A new chip register area is created at $80dff000.  For the kickstart ROM,
   all modules except audio.device will be patched to access this address
   instead of $dff000. For applications, I simply guess when it's ok to
   patch the instructions.

Q: Is that fool-proof?
A: Of course not. It's a hack. A proof of concept. Nothing more.

Q: Alright then. So what programs can be redirected?
A: I've tried the following programs, and they seem to work:

   * audio.device
   * Digibooster 1.7
   * Musicline Editor 1.5
   * Octamed Soundstudio 1.03c
   * Protracker (version 2.3 and 4.0)
   * THX Sound System 2.3d.

   I've also tried the following, and they don't:
   * Delitracker 2.32
   * Newtracker
   * PlaySID

   (Note that Protracker disables multitasking and cannot be used with AHI
   drivers that are not interrupt based.)

   Previously, I wrote that Sid4Amiga also could be redirected, which is just
   plain stupid, since Sid4Amiga already uses AHI. Duh! Sorry, Paul.

Q: Will you extend Nalle PUH so the all of those program work?
A: Unlikely.

Q: Pretty, pretty please!
A: No. The source code is available. Why don't you give it a shot yourself?

Q: Because <insert lame excuse here>.
A: Too bad.

Q: Suppose I do fix the program, is there anything else I should do?
A: You could certanly improve the instruction patching method. And it could
   also be wise to set up a cachable Chip-RAM mirror so AHI won't have to
   mix the samples from a non-cachable memory area. 

Q: Hey! I found a memory leak: You don't close mmu.library! And you don't
   clean up the MMU tables fully either.
A: I know.  The custom chip register mirror must stay if applications were
   patched. mmu.library must not be flushed from memory, or we loose the

Version history:

0.1, 2001-04-23:	* Initial release.
0.2, 2001-04-28:	* Redirected logging to the listview in GUI mode.
			* Minor GUI updates.
0.3, 2001-05-04		* Clears insr. caches when patching applications.
			* Added a few more instr. patches (base relative).
			This means that I had to move the register mirror
			to $e00000. At least that area is unused on my A4000.
			* The GUI does not touch the Paula registers on exit, 
			unless the user has pressed "Test" at least once.
			* Final update! I've returned the sound card I
                        borrowed to write this hack. Thus, no more updates.

Copyright © 2004-2023 by Björn Hagström All Rights Reserved