Feb 12, 2025 at 1:09 PM Post #8,958 of 9,222
A humble request - can the digital out on the A30 W1 enabled? Currently the A50 W1 has the digital out via the WM port, the A30 W1 has analogue out. Or is this hw related?
Code:
# amixer cset name='output device' 1
numid=25,iface=MIXER,name='output device'
  ; type=ENUMERATED,access=rw------,values=1,items=5
  ; Item #0 'off'
  ; Item #1 'headphone'
  ; Item #2 'line'
  ; Item #3 'speaker'
  ; Item #4 'fixedline'
  : values=1

There is this, which looks like it, but I have no idea how to check if it actually works. I'm sure there is more to that. Is there at least a video somewhere which shows desired behaviour?
 
Feb 12, 2025 at 1:12 PM Post #8,959 of 9,222
nice, does llusbdac work? FM tab (unlikely, but what if)?
LLUSBDAC works (as it's intended for ZX300A).
NZImj0EFcU.jpg

FM, nope, got the unsupported label.
Scrobbler works, too.
(sadly I don't have any song that doesn't need the album art fix so I can't test that).

Two things, through:
1/
It seems there's a bug happened (not sure if it is related to ZX300 stock firmware or with new wampy build), but at random moments when I unplug/plugged the USB cable, wampy keeps flickering (or trying to fight with hagoromo)

Video for what it looks like - can't produce log, as this was happened on the first boot.


2/
and as I'm typing this, I switched to walkman one again and .... oh god why does wampy crashed but badboot = 0
Here's the log: https://files.catbox.moe/75fxt2.zip
(something about winamp skin probably using too much memory? switching to cassette works again).
Winamp skin used: Fade To Gray (Tango) by Raoul.wsz
--

I probably will stick to previous version of wampy, between the uncertainty from the bug captured above, and FM button doesn't work with me, and it also taking a lot of space when I use my custom font (attached on bottom of post) to the point of fighting space with my clock (again).
krTHx5-AwD.png
 

Attachments

Last edited:
Feb 12, 2025 at 1:17 PM Post #8,960 of 9,222
Regarding the Wampy's freeze after I pressed the Plus v2 checkbox on the WM1A - on the A40 with W1, pressed the "Plus mode by default" option, and the same freeze happened.

What I also noticed on the A40 W1, is that tapping Disable/Enable on any effect does nothing - the status doesn't change, and there is no audio ducking indicating that there is any change happening in the background.

I didn't yet had a chance to test this last thing on the WM1A as well.

I can provide logs if required.

There is this, which looks like it, but I have no idea how to check if it actually works. I'm sure there is more to that. Is there at least a video somewhere which shows desired behaviour?

The thing with this is:
- A30/A40/A50 have an analog line out function, that should work with the stock firmware - there should literally be a WM-Port pin outputting an analog line out signal. They also have a line in option, with a menu that shows up when the player is on the J region, allowing you to record the incoming audio as MP3 if I remember it well - at least the A50 has it. I forgot the name of that adapter, but a funny thing is that because this option is only available on the J region, there are strings available for it only in Japanese, so if you are on J region but with English language, there would be no strings visible.
- All players also have a digital out mode available, where you can connect a DAC to WM1A/Z/A30/A40/A50/ZX300 using a Sony adapter, WMC-NWH10

1739384727728.png


Analog line out for ZX300 and WM1A/Z is supposedly disabled as the analog signal path for the line out pin could be a source of noise pick-up from your surroundings or something (stated by at least one person who worked on these players).

For the small players with W1, I guess that by using the WM1A/Z libraries/services/etc. (and the ZX300 kernel on the A30 W1), which was not coded by Sony with analog line out support, it makes sense that it could not work.

For the digital out function, I guess that even though the players have a lot in common, there are some specific things that do not pair well with a kernel that is not specifically compiled for that device (for example, again, A30 W1 with ZX300 kernel).
 
Last edited:
Feb 12, 2025 at 2:14 PM Post #8,961 of 9,222
- All players also have a digital out mode available, where you can connect a DAC to WM1A/Z/A30/A40/A50/ZX300 using a Sony adapter, WMC-NWH10



Analog line out for ZX300 and WM1A/Z is supposedly disabled as the analog signal path for the line out pin could be a source of noise pick-up from your surroundings or something (stated by at least one person who worked on these players).

For the small players with W1, I guess that by using the WM1A/Z libraries/services/etc. (and the ZX300 kernel on the A30 W1), which was not coded by Sony with analog line out support, it makes sense that it could not work.

For the digital out function, I guess that even though the players have a lot in common, there are some specific things that do not pair well with a kernel that is not specifically compiled for that device (for example, again, A30 W1 with ZX300 kernel).

Fiio have cool, but sometimes hard to find WM-to-USB cables, much better than Sony's own, especially the L27 variants (with either micro-USB or USB-C termination)

It's good to read that it's a software issue, meaning that it MIGHT be hacked (or might not be)
 
Feb 12, 2025 at 3:11 PM Post #8,962 of 9,222
when I unplug/plugged the USB cable, wampy keeps flickering (or trying to fight with hagoromo)
That's because device hagoromo is not hidden, both wampy and hago draw themselves. On usb insert device starts charging, hago refreshes the screen, but wampy is drawing itself too. Happens sometimes, hard to catch; hold switch should fix that.

>wampy crash
It crashed during (or after) tape/reel refresh. Do you have custom tapes/reels? Were you in usb mass storage mode?
Unfortunately crash dump gave me nothing, because I lost debug symbols for that build. Now debug symbols are provided along with release, but this crash is still a mystery to me.
I've caught another crash when you add empty custom reel directory and use it, but that's not it.

>stick to previous version of wampy
No you won't, now there is a checkbox to hide fm tab in misc. I could hide that tab alltogether for everyone without radio, but not today.

Upgrade to v1.8.0.1 and try to reproduce that crash, ty.


I also noticed on the A40 W1, is that tapping Disable/Enable on any effect does nothing
Need logs on that. EDIT: music was already playing, right? Filters are switching states only while music is playing.

>Plus mode freeze
It was a freeze on just tapping the checkbox, right? Need logs on that too, also need your Walkman One config - most likely there is some unexpected option.

About that line in/out - can't do much without hardware.
 
Last edited:
Feb 12, 2025 at 4:22 PM Post #8,963 of 9,222
also need your Walkman One config - most likely there is some unexpected option

This might be where it freezes:
1739394050865.png


My settings file has some extra lines, would that be an issue?

Code:
##################################################################
#                                                                #
#                         [Walkman One]                          #
#                        www.mrwalkman.ml                        #
#                                                                #
#                          Mod Settings                          #
#                                                                #
##################################################################
 
##################################################################
#                                                                #
#                   SOME INFO - READ ME PLEASE!                  #
#                                                                #
##################################################################
#
# This file is automatically generated if it doesn't already exist.
#
# You can find more info about each setting below.
#
# I recommend editing this file with a basic text editor, like
# Notepad or Notepad++ (Wordpad should be avoided).
#
# There should be no spaces after the value of a setting.
# For example, the region should be [REG=U], and not [REG=U ].
#
# If a setting cannot be found, the default value for
# that setting will be used (check the default values below).
#
# You can check the [boot_log.txt] file in the CFW folder in the
# internal storage to make sure that everything you set here is
# being read and set accordingly.
#
# Turn off the Mass Storage settings after modifying and saving
# this settings file.
#
# Reboot the device after changing any settings in this file.
#
##################################################################
 
# CREG=0x00000300
 
##################################################################
#
#  [SOUND SIGNATURE]
#
# Choose between 4 sound signatures.
#
# After changing the sound signature here you need to reboot the
# player first, and then to apply the corresponding external tuning.
#
# Available options are:
# 0 for Neutral - between Warm (Midnight) and Bright (Dawn)
# 1 for Warm - Midnight v2
# 2 for Bright - Dawn v2.1
# 3 for WM1Z - the WM1Z stock sound signature
#
# For example: SIG=1
# Default is [3].
 
SIG=3
 
 
##################################################################
#
#  [REGION]
#
# Available regions from the destination tool:
# J, U, U2, U3, CA, CEV, CE7, CEW, CEW2, CN, KR, E,
# MX, E2, MX3, TW
#
# Any of the regions above will bring a change to the
# sound signature.
#
# Type the chosen destination after the equal sign (no spaces after).
# For example: REG=E
# Default is [MX3].
 
REG=J
 
 
##################################################################
#
#  [REMOTE OPTION WITH ANY REGION]
#
# Show the bluetooth remote (RMT-NWS20) option in the UI, with any
# region. The region you set still has its same effect on the sound.
#
# Type 0 for Off, or 1 for On.
# For example: REM=1
# Default is [0].
 
REM=0
 
 
##################################################################
#
#  [PLUS MODE VERSION]
#
# Choose between the v1 Plus mode and the v2 Plus mode.
#
# While using the Plus v2 mode and playing audio via BT Receiver
# while the screen is off, the audio may glitch. Force restart the
# player by holding the power button for 7 seconds if this happens.
#
# Type 1 for the v1 Plus mode, or 2 for the v2 Plus mode.
# For example: PMV=1
# Default is [2].
 
PMV=2
 
 
##################################################################
#
#  [PLUS MODE BY DEFAULT]
#
# Choose to boot by default into the chosen Plus mode or not.
#
# While this option is On, the Hold Button UP position must be used
# if you want to boot into the Normal mode.
#
# While this option is Off, the Hold Button UP position must be
# used if you want to boot into the chosen Plus mode.
#
# Type 0 for Off, or 1 for On.
# For example: PMD=0
# Default is [0].
 
PMD=0
 
 
##################################################################
#
#  [GAIN MODE]
#
# Choose to have the gain in its stock state, or to
# have a lower gain.
#
# Type 0 for Normal, or 1 for Lower gain.
# For example: GMD=1
# Default is [0].
 
GMD=0
 
 
##################################################################
#
#  [DAC INITIALIZATION MODE]
#
# Choose to initialize the DAC differently, which alters the
# sound signature.
#
# Type 0 for normal initialization, or 1 for the different one.
# For example: DIM=1
# Default is [0].
 
DIM=0
 
 
##################################################################
#
#  [HOME SCREEN ICONS COLOR]
#
# Make the icons on the Home screen have different colors.
#
# Available options:
# 0 for DEFAULT (#DDDDDD)
# 1 for PEACH (#FFD2B0)
# 2 for RED (#FF6757)
# 3 for BLUE (#B1CFE5)
# 4 for GREEN (#AED1B3)
#
# Type the chosen color after the equal sign.
# For example: COL=2
# Default is [0].
 
COL=2
 
 
##################################################################
#                                                                #
#                        ENJOY THE MUSIC!                        #
#                                                                #
##################################################################

One more thing is that if I go for ex. to Vinilyzer, I try to go from Surface Noise to Arm Resonance, I tap it, it gets highlighted, the dropdown closes, but it still shows Surface Noise. Same for the other dropdowns, like from DC Phase Linearizer. It seems to work fine for other dropdowns from other main menus (like the ones in the W1 menu).

At the end I tapped on the WM1Z signature in the W1 menu, and Wampy froze again. If I turn off the screen, and then I connect the USB cable, the screen turns on with Hagoromo on top. Toggling the hold button doesn't bring Wampy back unless I restart the player.

Logs: https://drive.google.com/file/d/1_NmCG3KsRs5xIDKmMMBFjtUtAa8gG-B8/view?usp=sharing

Video (excuse the weird breathing):
 
Last edited:
Feb 12, 2025 at 4:53 PM Post #8,964 of 9,222
I tap it, it gets highlighted, the dropdown closes, but it still shows Surface Noise.
Effect is enqueued, but not applied, because music is not playing. Need a visual indication, I'll add that.

About that hang - you need to upgrade to v1.8.0.1 and do it again because of missing debug symbols for that build. Sorry for that, my bad. Also attach settings as a file, there might be windows-style newlines or something else. Works for me when I copy it.

Did you check FM radio on A40? Is it working?
 
Feb 12, 2025 at 5:04 PM Post #8,965 of 9,222
Did you check FM radio on A40? Is it working?

Yes, it does!

Here are logs from the 1.8.0.1 version, as well as the W1 settings file. Wampy froze when I tried changing the icons color from Red to Blue.

After about 1 minute I turned off the screen, plugged the USB cable, and entered Mass Storage mode.

I also have this empty temporary settings file.

1739398877558.png
 

Attachments

Last edited:
Feb 12, 2025 at 5:20 PM Post #8,966 of 9,222
>wampy crash
It crashed during (or after) tape/reel refresh. Do you have custom tapes/reels? Were you in usb mass storage mode?
This happened during winamp skin and custom font linked above, not tape mode.

So far with stock zx300, everything can safely say works (except the hagoromo flickering with wampy - the trigger seems to be involved with unplug/plug with resuming after screen off, still no consistent method to reproduce. llusbdac is more persistent to render and it doesn't flicker, despite the hacky-ness of it, even when sometimes wampy doesn't resume after screen off)

With walkman one, first two boots still froze and crash (one completely frozen, need hold power 8 second, second time custom font doesn't load but it still works), third time both works.

Logs attached. (looks like less files in the folder than it should be)

p/s: on a funny note, the fm toggle button is in the same position as the eject button in winamp skin, and i accidentally doubletapped that and uhhh yeah.

Edit: Found one of the trigger, might be related: If the device is booted while plugged into a PC with storage automount, sometimes custom fonts won't get loaded, sometimes winamp skin doesn't respond to eject button.



(You can hear the sound of mounting at 0:35)
Edit 3: Yeah, one of those boot just completely resetted wampy settings - default winamp skin, no custom font, misc option all off.
Probably there should be a function to backup/restore config in case of those boot.

Until then I suggested to turn automount off.

Edit 2: UI fonts are rendered differently depending on the skin applied.
1739402481894.png
 

Attachments

Last edited:
Feb 12, 2025 at 5:24 PM Post #8,967 of 9,222
llusbdac is more persistent to render and it doesn't flicker

I think llusbdac is basically writing over certain pixels on top of the Hagoromo/player screen, while Wampy hides the player. If I remember correctly, the creator of the llusbdac module mentioned somewhere on Github how only one app can show up at the same time on these devices.

Regarding Wampy - I notice that holding VOL+ doesn't adjust the volume continuously, I need to tap-tap-tap for each volume step. It's not a big deal, but it's a difference from the behavior of the Walkman OS.

Edit: one nice thing to have (in my opinion) would be the possibility to hide any of the tabs, and not just the FM one
 
Last edited:
Feb 13, 2025 at 10:30 AM Post #8,968 of 9,222
Wampy froze when I tried changing the icons color from Red to Blue.
Fixed, your settings file had empty line which was not accounted for.

Added "change enqueued" text on filter change if there is no music played.

, the creator of the llusbdac module mentioned somewhere on Github how only one app can show up at the same time on these devices.
There is no window manager, there are no windows, there is just one framebuffer and application that writes into it. Wampy tells standard application to minimize and starts drawing itself instead. Wampy uses glfw which works as a window manager, so you can draw different applications on these devices; it's just hagoromo that works in a straightest way possible - directly to the framebuffer. Llusbdac draws in the kernel over framebuffer - https://github.com/zhangboyang/llus...bc773906798445bdf03626722/llusbdac/gui.c#L154. I've considered using that approach before, but you cannot interact with content in some meaningful way (like screenshot); there is also no GPU acceleration, GUI libraries...

holding VOL+ doesn't adjust the volume continuously
Works as intended (for now, maybe I'll fix that later). Also mentioned in documentation https://github.com/unknown321/wampy/blob/master/USAGE.md#usage.
Holding buttons is complicated, audio control must go through hagoromo application. If you change volume directly in ALSA (like amixer cset name='master volume' 50), that change will be accepted, but when you switch to hagoromo and change volume there, hagoromo will set volume to whatever it thinks should be. Sending single volume change events to hagoromo is easy, but continiously changing volume is hard. First, you need to detect if button is repeating itself, then you must send that to hagoromo and call "button is held" function. That will increase the volume, but what if we fail to send "button is no longer held" event? Volume will increase up to 120, this is not desired. One day I'll try to implement that, but for now let's stay safe and increase volume in +1 intervals while using physical buttons.

With walkman one, first two boots still froze and crash
I've experienced crash on boot only on dev-modified fw with development tools and increased loading times. It happens in main application from time to time; no idea what exactly causes it. I'll take a closer look later when I catch it again.

If the device is booted while plugged into a PC with storage automount, sometimes custom fonts won't get loaded, sometimes winamp skin doesn't respond to eject button.
Automount happened before wampy started, config file and font file are accessible only from pc. I've made wampy start a little earlier, but that won't fix the issue. On my machine automount is permanently off to avoid these cases.

About that crash you experienced - it happened because your winamp skin list suddenly grew short. You went into mass storage mode, went into winamp settings, skin list refreshed, custom skins were gone (available only from pc), your active skin was custom one, skin select dropdown tried to find and display it in already empty list -> crash. I've disabled most of user interactions while mass storage mode is on, but I think that it will still crash if you remove a lot of skins and your skin was somewhere at the end of skin list.

>UI fonts are rendered differently depending on the skin applied.

That's intended. Settings share font with currently active skin; font size is set only once and cannot be changed later unless you load it again. Cassette uses bigger font size than winamp, hence the difference.

About flickering - nothing I can do. Use hold switch until it goes away.


==============


Wampy v1.8.0.2
  • fix walkman one config parsing
  • prevent user from modifying application state while usb mounted
  • add hide button to fm tab if fm is not available
  • added text indication that filter will change later if music is not playing
  • filter out empty reel/tape directories created after application start
https://github.com/unknown321/wampy/releases
 
Feb 13, 2025 at 10:47 AM Post #8,969 of 9,222
If you change volume directly in ALSA (like amixer cset name='master volume' 50), that change will be accepted, but when you switch to hagoromo and change volume there, hagoromo will set volume to whatever it thinks should be. Sending single volume change events to hagoromo is easy, but continiously changing volume is hard.

Makes perfect sense!

Fixed, your settings file had empty line which was not accounted for.

Would there be a way to read these settings no matter on what line they are in the file? If it's not easy/it would take too much time to do, it's understandable, no problem.

One more time consuming thing would be to have the possibility to export/import table data from a CSV, for example. It would be much easier to modify the volume tables in Excel directly, for example. It's at least an idea, I understand if it's not worth spending time on, I don't think many people would use this.

Maybe another thing (maybe easier?) could be to have the graph UI with the import/export functions, but in an external form, like a Windows executable. You would do any changes on your computer, export the table, then move it yourself in the internal storage in the Wampy folder.
 
Feb 13, 2025 at 11:13 AM Post #8,970 of 9,222
Would there be a way to read these settings no matter on what line they are in the file? If it's not easy/it would take too much time to do, it's understandable, no problem.

One more time consuming thing would be to have the possibility to export/import table data from a CSV, for example. It would be much easier to modify the volume tables in Excel directly, for example. It's at least an idea, I understand if it's not worth spending time on, I don't think many people would use this.

Maybe another thing (maybe easier?) could be to have the graph UI with the import/export functions, but in an external form, like a Windows executable. You would do any changes on your computer, export the table, then move it yourself in the internal storage in the Wampy folder.


Settings are read regardless of their position in the file; it was save that broke. https://github.com/unknown321/wampy/blob/b8dee302cc8b30540578b689b5b20cf0c0accf9f/src/w1/w1.cpp#L145. Save reads original file, writes line back unchanged if it is a comment (starts with #) or writes modified line if it starts with option name. Forgot to add empty line check, so first character in empty line was checked against "#" symbol; there were no symbols in line -> crash.

About volume tables - I was considering making a browser application to edit volume tables on any platform. It can be done using javascript or just a straight port from C to WASM. I don't want to use javascript, it sucks. Straight port from C won't be as straight as I want it to - gui must be changed, elements must be replaced with proper-working variants. Compiling to WASM should be fun, but that's a tiny part of it. Personally, I use wampy on desktop to edit volume tables, but I never felt a need to change tables after I made the editor.

No matter the approach it would take me about a week of working every day just to make a gui for rarely used feature and I have other priorities.

You can do it yourself, there is an old file I used to dump table values. It uses hardcoded path and prints only master volume, but I'm sure that brave person (like you) can change it or even add some argument parser to change table types, load csvs..

https://github.com/unknown321/wampy/blob/master/src/dac/main.cpp

compile it with
Code:
g++ cxd3778gf_table.cpp dac.cpp main.cpp -o main

No need for full wampy build setup, just install g++ and compile.

Or you can grab structure definition from cxd3778gf_table.cpp and implement it yourself in your favorite language.
 
Last edited:

Users who are viewing this thread

Back
Top