asap-users Mailing List for ASAP - Another Slight Atari Player
Brought to you by:
pfusik
You can subscribe to this list here.
| 2006 |
Jan
(2) |
Feb
(5) |
Mar
|
Apr
(6) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2007 |
Jan
|
Feb
|
Mar
|
Apr
(4) |
May
(6) |
Jun
(2) |
Jul
(3) |
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
|
| 2008 |
Jan
|
Feb
(1) |
Mar
(1) |
Apr
(2) |
May
|
Jun
|
Jul
(4) |
Aug
(7) |
Sep
|
Oct
|
Nov
|
Dec
|
| 2009 |
Jan
(2) |
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
(1) |
Nov
|
Dec
(1) |
| 2010 |
Jan
|
Feb
(17) |
Mar
(2) |
Apr
|
May
(2) |
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
(5) |
Dec
|
| 2011 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(2) |
Jun
|
Jul
(1) |
Aug
|
Sep
(1) |
Oct
(1) |
Nov
(1) |
Dec
|
| 2012 |
Jan
|
Feb
|
Mar
(8) |
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(7) |
| 2013 |
Jan
(14) |
Feb
(5) |
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
| 2014 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2017 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(2) |
Oct
|
Nov
|
Dec
|
| 2019 |
Jan
(1) |
Feb
(5) |
Mar
(11) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
|
| 2020 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(4) |
| 2021 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
(1) |
| 2023 |
Jan
(5) |
Feb
(3) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
(1) |
Dec
|
| 2024 |
Jan
(1) |
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2025 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
| 2026 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: Piotr F. <pi...@fu...> - 2026-02-16 14:20:34
|
In today's release:
* Single win64.msi installer for 64-bit Windows
* Playback of D15/D8 samples (each sample is a "subsong")
* The installer puts the foobar2000 plugin in user's directory (same
as the fb2k-component package)
* The installer registers all the installed plugins for Windows "Open
with"
* Fixed the installer not associating SAP with foobar2000
* D15/D8 files with trailing garbage are accepted
* XMMS2 accepts the FC format
* WASAP handles media keys: stop, play, previous/next (just for subsongs)
* asapconv converts WAV to D15/D8 (see
https://asap.sourceforge.net/convert.html at the bottom)
* Fixed crash of the experimental Swift port
* The experimental OpenCL port now converts all files in parallel on a GPU
Requested by Peter Dell:
* Fixed SAP->RMT extraction not working
* Added a win64.zip package
* Windows Explorer properties now includes "SAP Date" instead of just
"Year"
* regsvr32 ASAPShellEx.dll handles all registry entries and the
propdesc file
Reported by Ciro Scognamiglio:
* Fixed POKEY channels unmuted on rewind (foobar2000 wasn't affected)
* Fixed all RMT instruments shown as number 000 in XMPlay
Reported by Drei Eck:
* Fixed "Failed to find plugin header" in XMMS2 0.9.x
Thanks Peter, Ciro & Drei!
Download from https://asap.sourceforge.net
--Piotr
|
|
From: Piotr F. <pi...@fu...> - 2025-12-20 13:34:39
|
Hi all,
Twenty years ago today, the initial commit was made in the ASAP's CVS
repository.
Today I released ASAP 7.0.0 with the following changes:
* New input formats: "Music ProTracker with samples" - stored in two
files: MD1+D15, MD1+D8, MD2+D8. You select the "main" file (MD1 or
MD2) and the player/converter loads the other file (D15 or D8) in
the same location, with a different filename extension. Exception:
for the web player you need to select both files. In addition to
playback, you can convert to SAP and XEX and from SAP.
* Improved STIMER emulation (for the "Unleashed" demo soundtrack)
* VLC now opens all formats when started from a vlc --demux=asap
INPUT_FILE command line
* XMMS2 plugin now compiles with XMMS2 0.9 (requested by Drei Eck)
* Fixed broken audio when unmuting POKEY channels during playback
(since 6.0.0, reported by Ciro Scognamiglio)
* Fixed stereo POKEY initialization in XEX conversions (by Peter Dell)
* Fixed metadata not shown in Windows Explorer details pane and
properties window
* Fixed TortoiseGit/TortoiseSVN plugins not working in recent releases
* Made the website mobile-friendly
For programmers interfacing with ASAP: to support the new formats, you
need to use the new functions ASAP_LoadFiles or ASAP_LoadWithExtraFiles.
The conversion API has undergone major changes to support multiple files
on input and output and you need to update your code.
Download from https://asap.sourceforge.net
Merry Christmas and Happy New Year!
--Piotr
|
|
From: Piotr F. <pi...@fu...> - 2024-03-09 11:08:04
|
ASAP 6.0.3 is a Windows bugfix release: * fixed the Windows installer * fixed XMPlay crash for multi-subsong files Download from https://asap.sourceforge.net --Piotr |
|
From: Piotr F. <pi...@fu...> - 2024-01-22 17:03:01
|
ASAP 6.0.2 is here. Update the Android app to:
* prevent crash on Android 14
* make next/previous follow the search results instead of the whole
archive
* play loops for files selected from the file picker
Download from https://asap.sourceforge.net
There's no need to update on other OSes.
--Piotr
|
|
From: Piotr F. <pi...@fu...> - 2023-11-17 08:37:08
|
I've just released ASAP 6.0.1. Changes: * Fixed major audio distortions in ASAP 6.0.0. * Sample rate configurable in foobar2000, Winamp and XMPlay. * foobar2000 dark mode. Download from https://asap.sourceforge.net and enjoy! --Piotr |
|
From: Piotr F. <pi...@fu...> - 2023-09-22 07:12:35
|
Yesterday I released ASAP 6.0.0.
Changes:
* POKEY emulation improvements by Adrian "Epi" Matoga: beats using
ultrasounds, audio nonlinearities, configurable sample rate. Thanks!
* Sharing songs in Android: links can be shared via other
applications, such as messages, chats and social media. They point
to https://asma.atari.org/asmadb/ and can be played in the browser,
or the Android app if installed.
* 64-bit BASS/AIMP plugin, 64-bit foobar2000 plugin included in the
MSI installer.
Download from https://asap.sourceforge.net and enjoy!
--Piotr
|
|
From: Piotr F. <pi...@fu...> - 2023-02-09 07:34:13
|
Hi all,
ASAP 5.3.0 is out!
Most of the changes are in the Android app which looks much better than
before:
* Replaced the playback screen with a bottom panel.
* POKEY chip photos in the background. Two POKEYs if playing in stereo!
* New layout for landscape orientation.
* Switched to system file picker. Supports local and cloud storage.
Removed ZIP, ATR and M3U support.
* Preliminary support for Android TV. Hardly usable because of no search.
* New icon.
Changes outside the Android app:
* Fixed SAP author nicknames not shown if their real name is unknown.
* NTSC/PAL toggle in the File Information window and asapconv.
* Support for 64-bit foobar2000 2.0. Currently in beta.
* Reworked the JavaScript player. Added a seek bar.
Download from https://asap.sourceforge.net/
--Piotr
|
|
From: Piotr F. <pi...@fu...> - 2023-02-04 10:06:50
|
Excluding the IRQ vector at $FFFE, this is 98 files. TYPE B: 45 TYPE C: 10 TYPE D: 43 asma/Composers/Banaszkiewicz_Michal/Hugo_2.sap asma/Composers/Bendyk_Piotr/Prozac_Dream_second_part.sap asma/Composers/Bendyk_Piotr/Silly_Venture_2k18_Invitat.sap asma/Composers/Bernasek_Jiri/Multi_Dash.sap asma/Composers/Ce_Pumpkin/Life_to_Back.sap asma/Composers/Ce_Pumpkin/Too_Hard_4_1.sap asma/Composers/Cierkonski_Michal/Coitus_Interruptus.sap asma/Composers/Cierkonski_Michal/The_Car_SA.sap asma/Composers/Cierkonski_Michal/Yo.sap asma/Composers/Czartynski_Marcin/Asskicker_Main_Part.sap asma/Composers/Czartynski_Marcin/Exodus.sap asma/Composers/Czartynski_Marcin/Paczka_Tynku_2.sap asma/Composers/Ezcan_Kemal/Fred_vom_Jupiter.sap asma/Composers/Farkas_Felker/Joyride_Landscape.sap asma/Composers/Farkas_Felker/Joyride_Scrolls.sap asma/Composers/Golewski_Filip/Sweet.sap asma/Composers/Grad_Jacek/Dwie_Wieze.sap asma/Composers/Hryn_Piotr/Music_Compo_93.sap asma/Composers/Husak_Jakub/Garfield_Part_2.sap asma/Composers/Kalinowski_Bartosz/Robin_Wojownik_Czasu_Ingam.sap asma/Composers/Karwoth_Torsten/Megablast.sap asma/Composers/Kucisz_Tomasz/Second_Life_Syndrome.sap asma/Composers/Kwiatek_Grzegorz/Sadness.sap asma/Composers/Liebich_Tomasz/Fluid_Kha_Title.sap asma/Composers/Lis_Marcin/Perly_Orckyego.sap asma/Composers/Loos_Uwe/Studio_Dream.sap asma/Composers/Majchrzak_Marcin/D_City.sap asma/Composers/Martin_Aleksander/Troubles.sap asma/Composers/Matoga_Adrian/Sleep.sap asma/Composers/Mikolajczak_Pawel/Magia.sap asma/Composers/Mister_Beep/Unbearable_Bee.sap asma/Composers/Numan_Daniel/Pentagram_3_Music_3.sap asma/Composers/Oscadal_Filip/Brutal_Recall_Demo_Bonus.sap asma/Composers/Oscadal_Filip/Digi_Synth.sap asma/Composers/Oscadal_Filip/Rabbacan_The_Finale.sap asma/Composers/Oscadal_Filip/Rabbacan_Waterlands.sap asma/Composers/Oscadal_Filip/Rabbacan_Woodystone.sap asma/Composers/Oscadal_Filip/Vaxeen_Cygnus_Lyrae.sap asma/Composers/Oscadal_Filip/Vaxeen_Vaxeen_4U.sap asma/Composers/Padula_Jaroslaw/Fuckcore.sap asma/Composers/Padula_Jaroslaw/Hardcore.sap asma/Composers/Padula_Jaroslaw/Keczapek.sap asma/Composers/Padula_Jaroslaw/Kwas.sap asma/Composers/Padula_Jaroslaw/Martwa_Cisha.sap asma/Composers/Padula_Jaroslaw/No.sap asma/Composers/Padula_Jaroslaw/PSH4_2.sap asma/Composers/Padula_Jaroslaw/Prodigy.sap asma/Composers/Padula_Jaroslaw/Pszykowitz.sap asma/Composers/Padula_Jaroslaw/Strefa_Smierci.sap asma/Composers/Padula_Jaroslaw/Techno_Collection_3.sap asma/Composers/Padula_Jaroslaw/Wave_X.sap asma/Composers/Pesout_Marek/Trident.sap asma/Composers/Radzikowski_Ireneusz/Cyper_Space.sap asma/Composers/Radzikowski_Ireneusz/Savage.sap asma/Composers/Roemer_Markus/Biene_Maja.sap asma/Composers/Roemer_Markus/Das_Grauen.sap asma/Composers/Roemer_Markus/Way_You_Are.sap asma/Composers/Skrzypek_Tomasz/Spirit_Vision_1.sap asma/Composers/Skwiot_Stanislaw/Big_in_Japan.sap asma/Composers/Skwiot_Stanislaw/Music_from_Poland_II_p_3_4.sap asma/Composers/Skwiot_Stanislaw/Stanley_2.sap asma/Composers/Sniegon_Daniel/Zumbaja_Game_Over.sap asma/Composers/Spilka_David/SCMC_Demo.sap asma/Composers/Sterba_Radek/Sniper.sap asma/Composers/Strzelec_Pawel/Miny.sap asma/Composers/Stuermer_Armin/Herbert.sap asma/Composers/Swierszcz_Piotr/Resal.sap asma/Composers/Sychowicz_Lukasz/Wariacje_na_drutach.sap asma/Composers/Szpilowski_Michal/Das_Boot_X.sap asma/Composers/Szpilowski_Michal/Miker_4.sap asma/Composers/Szpilowski_Michal/Overmind_2.sap asma/Composers/Trokowicz_Bartlomiej/Miecze_Valdgira_II.sap asma/Composers/Voss_Roland/Ride_the_Fractals.sap asma/Composers/Vybostok_Marian/Allstars.sap asma/Composers/Wasiel_Bartek/Triple_Threat.sap asma/Composers/Wasilewski_Dariusz/Buu_Sampled.sap asma/Composers/Wasilewski_Dariusz/Guitar_Solo.sap asma/Composers/Wasilewski_Dariusz/Technoid.sap asma/Games/Adebar.sap asma/Games/Deflektor.sap asma/Games/Ghostbusters.sap asma/Games/Mad_Stone.sap asma/Games/Pooyan.sap asma/Games/Starbowl_Football.sap asma/Games/Taxicab_Hill.sap asma/Games/Technoid.sap asma/Games/X_8.sap asma/Misc/Do_You_See_the_Light.sap asma/Misc/Luzik.sap asma/Misc/Reharden.sap asma/Unknown/Bach.sap asma/Unknown/Bonanza_Digi.sap asma/Unknown/Cielito.sap asma/Unknown/Funicula.sap asma/Unknown/Galliard.sap asma/Unknown/Range.sap asma/Unknown/Sorella.sap asma/Unknown/Telemann.sap |
|
From: Piotr F. <pi...@fu...> - 2023-02-04 09:47:35
|
Thanks! 104 of these were playing blank patterns at address $FFxx. Fixed by setting these addresses to $FFFF which is what the player routine checks for: http://asma.scene.pl/changeset/1745 http://asma.scene.pl/changeset/1746 http://asma.scene.pl/changeset/1747 126 had a buggy CMC player with the pattern range check of CMP #$40 instead of CPY #$40. Fixed by patching this instruction: http://asma.scene.pl/changeset/1750 That leaves us with 151 tunes: asma/Composers/Banaszkiewicz_Michal/Hugo_2.sap asma/Composers/Bendyk_Piotr/Prozac_Dream_second_part.sap asma/Composers/Bendyk_Piotr/Silly_Venture_2k18_Invitat.sap asma/Composers/Bernasek_Jiri/Multi_Dash.sap asma/Composers/Bienias_Adam/Digital_Trash.sap asma/Composers/Bryla_Krzysztof/Demo_Music_2.sap asma/Composers/Bryla_Krzysztof/Odyseja.sap asma/Composers/Ce_Pumpkin/Life_to_Back.sap asma/Composers/Ce_Pumpkin/Too_Hard_4_1.sap asma/Composers/Cierkonski_Michal/Atari_Makes_Me_Sick_1.sap asma/Composers/Cierkonski_Michal/Coitus_Interruptus.sap asma/Composers/Cierkonski_Michal/The_Car_SA.sap asma/Composers/Cierkonski_Michal/Yo.sap asma/Composers/Cybruch_Ryszard/Endless_Dream_4.sap asma/Composers/Czartynski_Marcin/Asskicker_Main_Part.sap asma/Composers/Czartynski_Marcin/Cedyn1.sap asma/Composers/Czartynski_Marcin/Exodus.sap asma/Composers/Czartynski_Marcin/Paczka_Tynku_2.sap asma/Composers/Eisenhammer_Zdenek/Deus_Ex_Machina.sap asma/Composers/Ezcan_Kemal/Chromatics.sap asma/Composers/Ezcan_Kemal/Fred_vom_Jupiter.sap asma/Composers/Ezcan_Kemal/Tinory_Quest_Invention_13.sap asma/Composers/Ezcan_Kemal/Tinory_Quest_Morning.sap asma/Composers/Ezcan_Kemal/Tinory_Quest_Praeludium_15.sap asma/Composers/Ezcan_Kemal/Tinory_Quest_Praeludium_5.sap asma/Composers/Ezcan_Kemal/Tinory_Quest_Praeludium_6.sap asma/Composers/Farkas_Felker/Cool_Emotion_Intro.sap asma/Composers/Farkas_Felker/Joyride_Intro.sap asma/Composers/Farkas_Felker/Joyride_Landscape.sap asma/Composers/Farkas_Felker/Joyride_Scrolls.sap asma/Composers/Galinski_Adrian/Rockman.sap asma/Composers/Gilbertson_Gary/Face_of_the_Galaxy.sap asma/Composers/Golewski_Filip/Big_Zine_1_Greetings.sap asma/Composers/Golewski_Filip/Sweet.sap asma/Composers/Gorecki_Marek/Microdemo_5.sap asma/Composers/Gorecki_Marek/Nexuss.sap asma/Composers/Grad_Jacek/Dwie_Wieze.sap asma/Composers/Hryn_Piotr/Endless_Dream_1.sap asma/Composers/Hryn_Piotr/Music_Compo_93.sap asma/Composers/Hughes_Trevin/1bit_Body_Puncher.sap asma/Composers/Hughes_Trevin/1bit_Boss.sap asma/Composers/Hughes_Trevin/1bit_Phazer_Phunk.sap asma/Composers/Hughes_Trevin/1bit_Pirate.sap asma/Composers/Hughes_Trevin/1bit_Rock.sap asma/Composers/Hughes_Trevin/1bit_Smile.sap asma/Composers/Hughes_Trevin/1bit_of_Advice.sap asma/Composers/Hughes_Trevin/1bit_of_Training_Before_Yo.sap asma/Composers/Husak_Jakub/Flying_Microbits.sap asma/Composers/Husak_Jakub/Garfield_Part_2.sap asma/Composers/Kalinowski_Bartosz/Fanatic.sap asma/Composers/Kalinowski_Bartosz/Kapitan_Planeta.sap asma/Composers/Kalinowski_Bartosz/Robin_Wojownik_Czasu_Ingam.sap asma/Composers/Kalinowski_Bartosz/Sweet_Illusions_Infos.sap asma/Composers/Karwoth_Torsten/Megablast.sap asma/Composers/Kucisz_Tomasz/Disk_Copy.sap asma/Composers/Kucisz_Tomasz/Second_Life_Syndrome.sap asma/Composers/Kwiatek_Grzegorz/Energy_1_Loader.sap asma/Composers/Kwiatek_Grzegorz/Sadness.sap asma/Composers/Liebich_Tomasz/Bilinski.sap asma/Composers/Liebich_Tomasz/Fluid_Kha_Title.sap asma/Composers/Lis_Marcin/Perly_Orckyego.sap asma/Composers/Loos_Uwe/ABBUC_28.sap asma/Composers/Loos_Uwe/Das_Omen.sap asma/Composers/Loos_Uwe/Das_Omen_Intro.sap asma/Composers/Loos_Uwe/Studio_Dream.sap asma/Composers/Machnio_Jakub/No_Sacrifices_No_Heroics.sap asma/Composers/Majchrzak_Marcin/D_City.sap asma/Composers/Makary_Brauner/Podkarpacka_Nuta.sap asma/Composers/Makowski_Robert/Alfaboot_1.sap asma/Composers/Makowski_Robert/Techno.sap asma/Composers/Martin_Aleksander/Troubles.sap asma/Composers/Matoga_Adrian/Sleep.sap asma/Composers/Mauchly_Bill/Aerobics_1_2.sap asma/Composers/Mikolajczak_Pawel/Magia.sap asma/Composers/Mister_Beep/Unbearable_Bee.sap asma/Composers/Numan_Daniel/Pentagram_3_Music_3.sap asma/Composers/Oehler_Claas/Speed_Matter.sap asma/Composers/Oscadal_Filip/Brutal_Recall_Demo_Bonus.sap asma/Composers/Oscadal_Filip/Digi_Synth.sap asma/Composers/Oscadal_Filip/Rabbacan_The_Finale.sap asma/Composers/Oscadal_Filip/Rabbacan_Waterlands.sap asma/Composers/Oscadal_Filip/Rabbacan_Woodystone.sap asma/Composers/Oscadal_Filip/Vaxeen_Cygnus_Lyrae.sap asma/Composers/Oscadal_Filip/Vaxeen_Vaxeen_4U.sap asma/Composers/Padula_Jaroslaw/Fuckcore.sap asma/Composers/Padula_Jaroslaw/Hardcore.sap asma/Composers/Padula_Jaroslaw/Keczapek.sap asma/Composers/Padula_Jaroslaw/Kwas.sap asma/Composers/Padula_Jaroslaw/Martwa_Cisha.sap asma/Composers/Padula_Jaroslaw/No.sap asma/Composers/Padula_Jaroslaw/PSH4_2.sap asma/Composers/Padula_Jaroslaw/Prodigy.sap asma/Composers/Padula_Jaroslaw/Pszykowitz.sap asma/Composers/Padula_Jaroslaw/Strefa_Smierci.sap asma/Composers/Padula_Jaroslaw/Techno_Collection_3.sap asma/Composers/Padula_Jaroslaw/Wave_X.sap asma/Composers/Pesout_Marek/Trident.sap asma/Composers/Radecki_Michal/High_Voltage_Intro.sap asma/Composers/Radzikowski_Ireneusz/Cyper_Space.sap asma/Composers/Radzikowski_Ireneusz/Savage.sap asma/Composers/Roemer_Markus/Biene_Maja.sap asma/Composers/Roemer_Markus/Das_Grauen.sap asma/Composers/Roemer_Markus/Way_You_Are.sap asma/Composers/Sabath_Peter/Graphic_Demo_8.sap asma/Composers/Skrzypek_Tomasz/Spirit_Vision_1.sap asma/Composers/Skwiot_Stanislaw/Big_in_Japan.sap asma/Composers/Skwiot_Stanislaw/Music_from_Poland_II_p_3_4.sap asma/Composers/Skwiot_Stanislaw/Stanley_2.sap asma/Composers/Sniegon_Daniel/Zumbaja_Game_Over.sap asma/Composers/Spilka_David/SCMC_Demo.sap asma/Composers/Sterba_Radek/Sniper.sap asma/Composers/Strzelec_Pawel/Miny.sap asma/Composers/Stuermer_Armin/Herbert.sap asma/Composers/Swierszcz_Piotr/Resal.sap asma/Composers/Sychowicz_Lukasz/Wariacje_na_drutach.sap asma/Composers/Szpilowski_Michal/Das_Boot_X.sap asma/Composers/Szpilowski_Michal/Miker_4.sap asma/Composers/Szpilowski_Michal/Overmind_2.sap asma/Composers/Trokowicz_Bartlomiej/Miecze_Valdgira_II.sap asma/Composers/Voss_Roland/Ride_the_Fractals.sap asma/Composers/Vybostok_Marian/Allstars.sap asma/Composers/Wasiel_Bartek/Triple_Threat.sap asma/Composers/Wasilewski_Dariusz/Buu_Sampled.sap asma/Composers/Wasilewski_Dariusz/Guitar_Solo.sap asma/Composers/Wasilewski_Dariusz/Technoid.sap asma/Composers/Zuegner_Alfred/For_Emily_Whenever_I_May_F.sap asma/Games/Adebar.sap asma/Games/Deflektor.sap asma/Games/Ghostbusters.sap asma/Games/Mad_Stone.sap asma/Games/Mental_Age_Demo.sap asma/Games/Pooyan.sap asma/Games/Spy_Games_Ingame.sap asma/Games/Starbowl_Football.sap asma/Games/Taxicab_Hill.sap asma/Games/Technoid.sap asma/Games/X_8.sap asma/Misc/Do_You_See_the_Light.sap asma/Misc/Halle_Project_XCIV_Top_Mag.sap asma/Misc/Impossible_But_Real_End.sap asma/Misc/Luzik.sap asma/Misc/Reharden.sap asma/Misc/Sound_in_Stereo.sap asma/Unknown/Bach.sap asma/Unknown/Bonanza_Digi.sap asma/Unknown/Cielito.sap asma/Unknown/Funicula.sap asma/Unknown/Galliard.sap asma/Unknown/Range.sap asma/Unknown/Sorella.sap asma/Unknown/Telemann.sap |
|
From: Adrian M. <ad...@ma...> - 2023-01-29 16:55:48
|
On 28.01.2023 07:59, Piotr Fusik wrote: > Please send a list of these files (any load/write/read of $fc00-$fffd) > and I'll take a look. You can use https://github.com/epi/asap/tree/mem_trace to replicate the following results or play with other queries. The list is based on version 2022-10-09. ./asmascan.d -l -i 0xfc00-0xffff asma asma/Composers/Badkowski_Marek/Nemesis.sap asma/Composers/Badkowski_Marek/Vacares.sap asma/Composers/Banas_Pawel/Allesgut.sap asma/Composers/Banaszkiewicz_Marcin/Jean_Michel_Jarre.sap asma/Composers/Banaszkiewicz_Marcin/Terror2000_Odlot.sap asma/Composers/Banaszkiewicz_Michal/Hugo_2.sap asma/Composers/Bendyk_Piotr/Prozac_Dream_second_part.sap asma/Composers/Bendyk_Piotr/Silly_Venture_2k18_Invitat.sap asma/Composers/Bernasek_Jiri/Multi_Dash.sap asma/Composers/Bernasek_Jiri/Strange_Mountains_II.sap asma/Composers/Bienias_Adam/Digital_Trash.sap asma/Composers/Bienias_Adam/Rzog_Joins_XE_Team_1.sap asma/Composers/Bienias_Adam/Rzog_Joins_XE_Team_2.sap asma/Composers/Bryla_Krzysztof/Demo_Music_2.sap asma/Composers/Bryla_Krzysztof/Endless_Dream_2.sap asma/Composers/Bryla_Krzysztof/Odyseja.sap asma/Composers/Bryla_Krzysztof/Persil.sap asma/Composers/Bryla_Krzysztof/Ray_of_Hope_End.sap asma/Composers/Bryla_Krzysztof/Techno_Test.sap asma/Composers/Bryla_Krzysztof/Techwop.sap asma/Composers/Bryla_Krzysztof/Woppie_V2.sap asma/Composers/Ce_Pumpkin/Life_to_Back.sap asma/Composers/Ce_Pumpkin/Too_Hard_4_1.sap asma/Composers/Cierkonski_Michal/Atari_Makes_Me_Sick_1.sap asma/Composers/Cierkonski_Michal/Coitus_Interruptus.sap asma/Composers/Cierkonski_Michal/The_Car_SA.sap asma/Composers/Cierkonski_Michal/Yo.sap asma/Composers/Claas_Clever/Speed_Matter.sap asma/Composers/Cybruch_Ryszard/Endless_Dream_4.sap asma/Composers/Czartynski_Marcin/Asskicker_Main_Part.sap asma/Composers/Czartynski_Marcin/Cedyn1.sap asma/Composers/Czartynski_Marcin/Exodus.sap asma/Composers/Czartynski_Marcin/Paczka_Tynku_2.sap asma/Composers/Czartynski_Marcin/Top_Secret.sap asma/Composers/Derkach_Andrey/Zybex.sap asma/Composers/Drozdowski_Marek/Dual_Yellow_Energy.sap asma/Composers/Drozdowski_Marek/Land.sap asma/Composers/Drozdowski_Marek/Lemmings_Prevision_Intro.sap asma/Composers/Drozdowski_Marek/Shake.sap asma/Composers/Drozdowski_Marek/Shakemix.sap asma/Composers/Drozdowski_Marek/Sweet_Illusions_APC_Part.sap asma/Composers/Eisenhammer_Zdenek/Deus_Ex_Machina.sap asma/Composers/Ezcan_Kemal/Chromatics.sap asma/Composers/Ezcan_Kemal/Fred_vom_Jupiter.sap asma/Composers/Ezcan_Kemal/Tinory_Quest_Invention_13.sap asma/Composers/Ezcan_Kemal/Tinory_Quest_Morning.sap asma/Composers/Ezcan_Kemal/Tinory_Quest_Praeludium_15.sap asma/Composers/Ezcan_Kemal/Tinory_Quest_Praeludium_5.sap asma/Composers/Ezcan_Kemal/Tinory_Quest_Praeludium_6.sap asma/Composers/Farkas_Felker/Cool_Emotion_Intro.sap asma/Composers/Farkas_Felker/Joyride_Intro.sap asma/Composers/Farkas_Felker/Joyride_Landscape.sap asma/Composers/Farkas_Felker/Joyride_Scrolls.sap asma/Composers/Feske_Nils/Short.sap asma/Composers/Galinski_Adrian/Demologicus_1.sap asma/Composers/Galinski_Adrian/Demologicus_6.sap asma/Composers/Galinski_Adrian/Intel_Outside_Fractal_Part.sap asma/Composers/Galinski_Adrian/Intel_Outside_Intro.sap asma/Composers/Galinski_Adrian/Rockman.sap asma/Composers/Gilbertson_Gary/Face_of_the_Galaxy.sap asma/Composers/Gmurek_Konrad/Test_Drive.sap asma/Composers/Godlewski_Artur/Space.sap asma/Composers/Golewski_Filip/Big_Zine_1_Greetings.sap asma/Composers/Golewski_Filip/Sweet.sap asma/Composers/Golewski_Filip/Tekkno.sap asma/Composers/Golewski_Filip/Unknown_1.sap asma/Composers/Golewski_Filip/Unknown_2.sap asma/Composers/Gorecki_Marek/Microdemo_5.sap asma/Composers/Gorecki_Marek/Nexuss.sap asma/Composers/Grad_Jacek/Dwie_Wieze.sap asma/Composers/Grad_Jacek/Extra.sap asma/Composers/Grad_Jacek/Fatum_Intro.sap asma/Composers/Grayscale/Kwiatek_Grzegorz/Energy_1_Loader.sap asma/Composers/Grayscale/Kwiatek_Grzegorz/Sadness.sap asma/Composers/Grayscale/Sychowicz_Lukasz/Wariacje_na_drutach.sap asma/Composers/Grayscale/Sychowicz_Lukasz/X_Ray_2.sap asma/Composers/Grayscale/Wasiel_Bartek/Triple_Threat.sap asma/Composers/Holda_Leszek/Klatwa.sap asma/Composers/Hryn_Piotr/Demos_End.sap asma/Composers/Hryn_Piotr/Demos_End_II.sap asma/Composers/Hryn_Piotr/Endless_Dream_1.sap asma/Composers/Hryn_Piotr/Endless_Dream_3.sap asma/Composers/Hryn_Piotr/Endless_Dream_5.sap asma/Composers/Hryn_Piotr/Music_Compo_93.sap asma/Composers/Hryn_Piotr/Party_5.sap asma/Composers/Hughes_Trevin/1bit_Body_Puncher.sap asma/Composers/Hughes_Trevin/1bit_Boss.sap asma/Composers/Hughes_Trevin/1bit_Phazer_Phunk.sap asma/Composers/Hughes_Trevin/1bit_Pirate.sap asma/Composers/Hughes_Trevin/1bit_Rock.sap asma/Composers/Hughes_Trevin/1bit_Smile.sap asma/Composers/Hughes_Trevin/1bit_of_Advice.sap asma/Composers/Hughes_Trevin/1bit_of_Training_Before_Yo.sap asma/Composers/Husak_Jakub/Bank_Bang.sap asma/Composers/Husak_Jakub/Bank_Bang_Ingame.sap asma/Composers/Husak_Jakub/Flying_Microbits.sap asma/Composers/Husak_Jakub/Garfield_Part_2.sap asma/Composers/Kalinowski_Bartosz/Fanatic.sap asma/Composers/Kalinowski_Bartosz/Infinity.sap asma/Composers/Kalinowski_Bartosz/Kapitan_Planeta.sap asma/Composers/Kalinowski_Bartosz/Robin_Wojownik_Czasu_Ingam.sap asma/Composers/Kalinowski_Bartosz/Self_Test_2.sap asma/Composers/Kalinowski_Bartosz/Spectrum.sap asma/Composers/Kalinowski_Bartosz/Sweet_Illusions_Credits.sap asma/Composers/Kalinowski_Bartosz/Sweet_Illusions_Infos.sap asma/Composers/Kalinowski_Bartosz/Sweet_Illusions_Techno.sap asma/Composers/Karwoth_Torsten/Megablast.sap asma/Composers/Krawczyk_Adam/Magic_Dimension_2.sap asma/Composers/Kucisz_Tomasz/Disk_Copy.sap asma/Composers/Kucisz_Tomasz/Graphics_Projector.sap asma/Composers/Kucisz_Tomasz/Second_Life_Syndrome.sap asma/Composers/Libic_Ladislav/Lac_Intro_II_part_4.sap asma/Composers/Liebich_Tomasz/Bilinski.sap asma/Composers/Liebich_Tomasz/Dark_Abyss.sap asma/Composers/Liebich_Tomasz/Fluid_Kha_Title.sap asma/Composers/Liebich_Tomasz/Ship.sap asma/Composers/Liebich_Tomasz/Technus_Intro.sap asma/Composers/Lis_Marcin/Perly_Orckyego.sap asma/Composers/Loos_Uwe/ABBUC_28.sap asma/Composers/Loos_Uwe/Das_Omen.sap asma/Composers/Loos_Uwe/Das_Omen_Intro.sap asma/Composers/Loos_Uwe/Studio_Dream.sap asma/Composers/Luszcz_Tomasz/Wladca.sap asma/Composers/Machnio_Jakub/No_Sacrifices_No_Heroics.sap asma/Composers/Maderanek_Peter/Avex_1.sap asma/Composers/Majchrzak_Marcin/D_City.sap asma/Composers/Majewski_Tomasz/Stellar_Ingame.sap asma/Composers/Makary_Brauner/Podkarpacka_Nuta.sap asma/Composers/Makowski_Robert/Alfaboot_1.sap asma/Composers/Makowski_Robert/Alfaboot_2.sap asma/Composers/Makowski_Robert/Ilussion.sap asma/Composers/Makowski_Robert/Lady_Pank.sap asma/Composers/Makowski_Robert/Phone.sap asma/Composers/Makowski_Robert/Techno.sap asma/Composers/Martin_Aleksander/Troubles.sap asma/Composers/Matoga_Adrian/Sleep.sap asma/Composers/Mauchly_Bill/Aerobics_1_2.sap asma/Composers/Mikolajczak_Pawel/Jaffar.sap asma/Composers/Mikolajczak_Pawel/Magia.sap asma/Composers/Mister_Beep/Unbearable_Bee.sap asma/Composers/Nabialek_Dawid/Benny_Hill_Show_Theme.sap asma/Composers/Numan_Daniel/Pentagram_3_Music_3.sap asma/Composers/Oscadal_Filip/Brutal_Recall_Demo_Bonus.sap asma/Composers/Oscadal_Filip/Digi_Synth.sap asma/Composers/Oscadal_Filip/Rabbacan_The_Finale.sap asma/Composers/Oscadal_Filip/Rabbacan_Waterlands.sap asma/Composers/Oscadal_Filip/Rabbacan_Woodystone.sap asma/Composers/Oscadal_Filip/Vaxeen_Cygnus_Lyrae.sap asma/Composers/Oscadal_Filip/Vaxeen_Vaxeen_4U.sap asma/Composers/Padula_Jaroslaw/Fuckcore.sap asma/Composers/Padula_Jaroslaw/Hardcore.sap asma/Composers/Padula_Jaroslaw/Keczapek.sap asma/Composers/Padula_Jaroslaw/Kwas.sap asma/Composers/Padula_Jaroslaw/Martwa_Cisha.sap asma/Composers/Padula_Jaroslaw/No.sap asma/Composers/Padula_Jaroslaw/PSH4_2.sap asma/Composers/Padula_Jaroslaw/Prodigy.sap asma/Composers/Padula_Jaroslaw/Pszykowitz.sap asma/Composers/Padula_Jaroslaw/Strefa_Smierci.sap asma/Composers/Padula_Jaroslaw/Techno_Collection_3.sap asma/Composers/Padula_Jaroslaw/Wave_X.sap asma/Composers/Pasek_Marek/90_60_90.sap asma/Composers/Pelc_Janusz/Captain_Gather.sap asma/Composers/Pelc_Janusz/Captain_Gather_Ingame.sap asma/Composers/Pelc_Janusz/Fred.sap asma/Composers/Pelc_Janusz/Lasermania.sap asma/Composers/Pelc_Janusz/Misja.sap asma/Composers/Pelc_Janusz/Trix.sap asma/Composers/Pelc_Janusz/Try.sap asma/Composers/Pesout_Marek/Bad_Drome.sap asma/Composers/Pesout_Marek/Cannon.sap asma/Composers/Pesout_Marek/Minos.sap asma/Composers/Pesout_Marek/SOS_Solaris.sap asma/Composers/Pesout_Marek/Trident.sap asma/Composers/Podedworny_Wojtek/Psycho.sap asma/Composers/Podedworny_Wojtek/Tech.sap asma/Composers/Podedworny_Wojtek/Tech_Ingame.sap asma/Composers/Pucinski_Rafal/Big_Zine_1_Invitro.sap asma/Composers/Radecki_Michal/High_Voltage_Intro.sap asma/Composers/Radecki_Michal/Neuroid.sap asma/Composers/Radzikowski_Ireneusz/Cyper_Space.sap asma/Composers/Radzikowski_Ireneusz/Puzintro_Part_2.sap asma/Composers/Radzikowski_Ireneusz/Savage.sap asma/Composers/Roemer_Markus/Biene_Maja.sap asma/Composers/Roemer_Markus/Das_Grauen.sap asma/Composers/Roemer_Markus/Way_You_Are.sap asma/Composers/Rosolek_Maciej/Magia_Fortuny_Intro.sap asma/Composers/Sabath_Peter/Graphic_Demo_8.sap asma/Composers/Sikorski_Pawel/Warkot.sap asma/Composers/Skrzypek_Tomasz/Spirit_Vision_1.sap asma/Composers/Skwiot_Stanislaw/Big_in_Japan.sap asma/Composers/Skwiot_Stanislaw/Music_from_Poland_II_p_3_4.sap asma/Composers/Skwiot_Stanislaw/Roxette.sap asma/Composers/Skwiot_Stanislaw/Stanley_2.sap asma/Composers/Sniegon_Daniel/Zumbaja_Game_Over.sap asma/Composers/Spilka_David/SCMC_Demo.sap asma/Composers/Sterba_Radek/Sniper.sap asma/Composers/Strzelec_Pawel/Miny.sap asma/Composers/Strzelec_Pawel/Osadnicy.sap asma/Composers/Stuermer_Armin/Herbert.sap asma/Composers/Swierszcz_Piotr/Rebellion_Rise.sap asma/Composers/Swierszcz_Piotr/Resal.sap asma/Composers/Szczesniak_Konrad/Electra.sap asma/Composers/Szczesniak_Konrad/Electra_Ingame.sap asma/Composers/Szerniewicz_Robert/Bijatyka_na_Straganie.sap asma/Composers/Szerniewicz_Robert/Siekiery.sap asma/Composers/Szmatola_Krzysztof/Change_2.sap asma/Composers/Szmatola_Krzysztof/Change_3.sap asma/Composers/Szpilowski_Michal/Das_Boot_X.sap asma/Composers/Szpilowski_Michal/Miker_4.sap asma/Composers/Szpilowski_Michal/Overmind_2.sap asma/Composers/Takacs_Gabriel/Survive.sap asma/Composers/Trokowicz_Bartlomiej/Miecze_Valdgira_II.sap asma/Composers/Vogt_Dariusz/Music_1.sap asma/Composers/Vogt_Dariusz/Music_2.sap asma/Composers/Voss_Roland/Ride_the_Fractals.sap asma/Composers/Vybostok_Marian/Allstars.sap asma/Composers/Wasilewski_Dariusz/Buu_Sampled.sap asma/Composers/Wasilewski_Dariusz/Daras_2.sap asma/Composers/Wasilewski_Dariusz/Guitar_Solo.sap asma/Composers/Wasilewski_Dariusz/Koto.sap asma/Composers/Wasilewski_Dariusz/Laguna.sap asma/Composers/Wasilewski_Dariusz/Morph.sap asma/Composers/Wasilewski_Dariusz/No_Limits.sap asma/Composers/Wasilewski_Dariusz/Technoid.sap asma/Composers/Witkiewicz_Dariusz/Annael.sap asma/Composers/Wyszynski_Jaroslaw/Bonanza.sap asma/Composers/Zaborowski_Robert/Bombay.sap asma/Composers/Zuegner_Alfred/For_Emily_Whenever_I_May_F.sap asma/Games/Adebar.sap asma/Games/Axilox.sap asma/Games/Biathlon.sap asma/Games/Deflektor.sap asma/Games/Deneb.sap asma/Games/Ghostbusters.sap asma/Games/Jet_Action.sap asma/Games/King_of_Killers.sap asma/Games/Mad_Stone.sap asma/Games/Mental_Age_Demo.sap asma/Games/Muminki.sap asma/Games/Pooyan.sap asma/Games/Saper.sap asma/Games/Simple_Minds.sap asma/Games/Spy_Games_Ingame.sap asma/Games/Starbowl_Football.sap asma/Games/Taxicab_Hill.sap asma/Games/Technoid.sap asma/Games/Wyspa.sap asma/Games/X_8.sap asma/Misc/Arena_Bzdur_Orneta95.sap asma/Misc/Banklan_1.sap asma/Misc/Banklan_2.sap asma/Misc/Delicate.sap asma/Misc/Do_You_See_the_Light.sap asma/Misc/Electronic.sap asma/Misc/Gazetka_1.sap asma/Misc/Guns_n_Roses.sap asma/Misc/Gunship.sap asma/Misc/Halle_Project_XCIV_Top_Mag.sap asma/Misc/Impossible_But_Real_End.sap asma/Misc/KevSoft.sap asma/Misc/Luzik.sap asma/Misc/Miksik.sap asma/Misc/Reharden.sap asma/Misc/Sound_in_Stereo.sap asma/Misc/Too_Hard_2_3.sap asma/Unknown/Autum.sap asma/Unknown/Bach.sap asma/Unknown/Bonanza_Digi.sap asma/Unknown/Cielito.sap asma/Unknown/Condor.sap asma/Unknown/Cool.sap asma/Unknown/Demo1.sap asma/Unknown/Demo2.sap asma/Unknown/Dream.sap asma/Unknown/For_Lobo_2.sap asma/Unknown/Funicula.sap asma/Unknown/Galliard.sap asma/Unknown/Music1.sap asma/Unknown/Music2.sap asma/Unknown/Range.sap asma/Unknown/Ranger1.sap asma/Unknown/Ranger2.sap asma/Unknown/Ranger3.sap asma/Unknown/Ranger4.sap asma/Unknown/Ranger5.sap asma/Unknown/Ranger6.sap asma/Unknown/Ranger7.sap asma/Unknown/Ranger8.sap asma/Unknown/Ranger9.sap asma/Unknown/Sorella.sap asma/Unknown/Telemann.sap asma/Unknown/Think.sap -epij |
|
From: Piotr F. <pi...@fu...> - 2023-01-28 07:00:16
|
> There are 15 SAPs that use entire page 1 with push or pull > instructions (probably bugs). 3 other use >=30 bytes. All remaining > ones are good with less than that. 150 modules use page 1 with > non-push/pull instructions. Please provide lists of these. > >> How much memory do you need for the sapemu stub? > > It's currently 864 bytes at $D800 but I want to rewrite it shorter. > >> I think a simpler solution would be to reserve some fixed memory >> location for it, state that in the SAP spec >> (https://asap.sourceforge.net/sap-format.html) and make sure no SAP >> file in ASMA touches it. We can fix a few SAP files manually to >> conform this. My first guess is that this should be page $FF (except >> for the IRQ interrupt vector) or $02. > > Page $02 is used by 1433 SAPs. Page $FF (without interrupt vectors) is > used by 229 SAPs. The least busy pages are: $CF (51 modules), $FE > (52), $FD (54), $CE (55), $CD (58). I suggest reserving $fc00-$fffd. I guess (most of) files using pages $fd and $fe are a subset of those using $ff. 229 SAPs sound like a lot, but there must be patterns such as a buggy CMC player reading from page $FF which we would like to fix anyway. If any SAP writes to the NMI vector, it should be fixed. Please send a list of these files (any load/write/read of $fc00-$fffd) and I'll take a look. > >> Pros: >> - No extra info per SAP file. >> - Less code in sapemu and ASAP "to XEX" conversion. The latter >> already assumes the stack and the upper kilobyte if there's info to >> show, see 6502/xex*.asx. > > These are strong, but there are cons too: > - Manually fixing at least 51 SAPs. > - More work for anyone ripping new SAPs touching the forbidden area. > The former is a one-time investment. As for the latter, I'd rather spend extra time on this 1% of new rips than use metadata generation on 100% files. |
|
From: Adrian M. <ad...@ma...> - 2023-01-26 22:10:51
|
On 23.01.2023 13:41, Piotr Fusik wrote: > > - 3080 read memory they didn't write to and weren't loaded to, likely > expecting zeroes as initialized by the player, > > It would be best to fix these. I guess there are two cases: > a. Memory read, but never written. Just add zeros in the SAP file. > b. Memory read, written later. Likely an incomplete INIT routine, which > makes it impossible to correctly restart playback without re-loading the > file. Fix the INIT routine. :) Not a bad idea and can be done automatically too. > Can you provide stats on how many a's vs b's we have? I had a bug in data collection and the correct stats would be: 6219 modules 1100 modules read uninitialized data without overwriting it (a) 47 modules read uninitialized data and overwrite all of it (b) 17 modules read uninitialized data and overwrite some of it 6157 write outside blocks read from file > > MEMORY 00fc-00ff,0500-0cdc,1000-161e,ff15-ffd3 > > CLEAR 00fc-00ff,ff15-ffd3 > > RESERVE 00fc-00ff,0500-0cdc,1000-161e > > What about the stack? Is it implicitly MEMORY/RESERVE? If so, why not > page zero? Copy-paste from trace output. I traced stack push/pull separately, as almost all traces appear to push and pull at least two bytes, so that wouldn't be super useful for statistics. But of course they should be included in RESERVE too. BTW Stack ops are almost always limited to a few bytes at the end of page 1. There are 15 SAPs that use entire page 1 with push or pull instructions (probably bugs). 3 other use >=30 bytes. All remaining ones are good with less than that. 150 modules use page 1 with non-push/pull instructions. > How much memory do you need for the sapemu stub? It's currently 864 bytes at $D800 but I want to rewrite it shorter. > I think a simpler solution would be to reserve some fixed memory > location for it, state that in the SAP spec > (https://asap.sourceforge.net/sap-format.html) and make sure no SAP file > in ASMA touches it. We can fix a few SAP files manually to conform this. > My first guess is that this should be page $FF (except for the IRQ > interrupt vector) or $02. Page $02 is used by 1433 SAPs. Page $FF (without interrupt vectors) is used by 229 SAPs. The least busy pages are: $CF (51 modules), $FE (52), $FD (54), $CE (55), $CD (58). > Pros: > - No extra info per SAP file. > - Less code in sapemu and ASAP "to XEX" conversion. The latter already > assumes the stack and the upper kilobyte if there's info to show, see > 6502/xex*.asx. These are strong, but there are cons too: - Manually fixing at least 51 SAPs. - More work for anyone ripping new SAPs touching the forbidden area. epij |
|
From: Piotr F. <pi...@fu...> - 2023-01-23 13:08:18
|
Hi, > - 3080 read memory they didn't write to and weren't loaded to, likely expecting zeroes as initialized by the player, It would be best to fix these. I guess there are two cases: a. Memory read, but never written. Just add zeros in the SAP file. b. Memory read, written later. Likely an incomplete INIT routine, which makes it impossible to correctly restart playback without re-loading the file. Fix the INIT routine. :) Can you provide stats on how many a's vs b's we have? > MEMORY 00fc-00ff,0500-0cdc,1000-161e,ff15-ffd3 > CLEAR 00fc-00ff,ff15-ffd3 > RESERVE 00fc-00ff,0500-0cdc,1000-161e What about the stack? Is it implicitly MEMORY/RESERVE? If so, why not page zero? How much memory do you need for the sapemu stub? I think a simpler solution would be to reserve some fixed memory location for it, state that in the SAP spec (https://asap.sourceforge.net/sap-format.html) and make sure no SAP file in ASMA touches it. We can fix a few SAP files manually to conform this. My first guess is that this should be page $FF (except for the IRQ interrupt vector) or $02. Pros: - No extra info per SAP file. - Less code in sapemu and ASAP "to XEX" conversion. The latter already assumes the stack and the upper kilobyte if there's info to show, see 6502/xex*.asx. --Piotr |
|
From: Adrian M. <ad...@ma...> - 2023-01-22 22:32:17
|
Hi I want to make sapemu resistant to SAP modules trying to hurt it, and my conclusion is that the best way to achieve it is to change the modules. :) I've scanned ASMA with https://github.com/epi/asap/tree/mem_trace and I've found 6219 modules, among which: - 3080 read memory they didn't write to and weren't loaded to, likely expecting zeroes as initialized by the player, - 5869 write to memory outside the binary blocks loaded from file (unsurprisingly). The first is often a cause of incorrect playing, such as weird noises or messed up speed, patterns etc. The second is a risk of overwriting the sapemu player stub, resulting in a need for cold boot. The only way (*) to avoid such problems is to place the player in a location that doesn't collide not only with the data loaded from file, but also with any of the memory accesses mentioned above. Currently it would require re-implementing asapscan on Atari, which would be a fun project, but it has obvious usability drawbacks. Thus, I'd like to introduce new tag or tags to SAP format, which would inform the player about all memory regions used by the module. Option 1: Single tag to describe memory regions used by the module, for example: MEMORY 00fc-00ff,0500-0cdc,1000-161e,ff15-ffd3 Pros: only one tag Option 2: Separate tags for writes and 0-initialized reads, for example: CLEAR 00fc-00ff,ff15-ffd3 RESERVE 00fc-00ff,0500-0cdc,1000-161e Pros: reduces the time needed by sapemu to zero out RAM before playing the module. Tags are optional and do not affect emulation-based players. Entire ASMA can be easily tagged automatically. Scanning and tagging can also be implemented in asapconv with little effort. Destroy! Regards, epij (*) You could also try relocating the modules that actually cause conflicts. But you don't have time for that, do you? |
|
From: Piotr F. <pi...@fu...> - 2021-12-08 20:55:18
|
Hi, In today’s release: • Fixed sporadic clicks. • New XMMS2 plugin. • Experimental OpenCL port running on a GPU. • Limited memory allocations on loading SAP files. • foobar2000: Minor stability fix for parallel conversions. Android: • Control playback from the notification and the lock screen. • Voice assistant commands (such as "pause playback", "next song", "seek to one minute"). No voice search yet. • Display metadata and control playback via Bluetooth. • Pause playback on Bluetooth disconnected. • Requires Android 5.0+. Download from http://asap.sourceforge.net --Piotr |
|
From: Parranoh <par...@gm...> - 2021-10-11 00:36:24
|
Hello all, I've been using the mpv media player (https://mpv.io/) for some time now, and I've been enjoying it a lot. Today I came across the archive at asma.atari.org and the ASAP emulator and already found great joy in it. I have written a plugin for mpv that allows it to play .SAP files. You can find it at https://github.com/Parranoh/mpv-sap. I hope it will be useful to someone. Best, Parranoh |
|
From: Piotr F. <pi...@fu...> - 2021-07-14 16:14:28
|
Hi, Last Friday I released ASAP 5.1.0. Changes: • The Android app now includes the current state of the ASMA repo. This means 917 more SAP files since the last ASMA release in 2015. • Fixed memory leaks in the BASS/AIMP plugin. • Support for Unicode filenames in Windows Explorer. • Fixed the "-ft" option in chksap. • SAP filenames shown in TortoiseMerge. • Windows and macOS binaries are now digitally signed. • Pure Python and Swift ASAP2WAVs. This is just a technical demo of how the Ć code is portable. • JavaScript ASAP2WAV supports Node.js, drops support for DMDScript and JScript. Download from http://asap.sourceforge.net --Piotr |
|
From: Piotr F. <pi...@fu...> - 2020-12-22 14:40:45
|
Thanks MiKRO for quick help! 8 years... time flies fast! Adding a configurable playback rate is not a trivial task. There are things that are manually tuned for 44100 Hz, for instance the lo-pass filter. ASAP recompiled with the sample rate between 40 and 50 kHz shouldn't sound too different, but going outside this range could be dangerous to your ears. ;) --Piotr From: Daniel Collin Sent: Sunday, December 20, 2020 12:42 PM To: asa...@li... Subject: Re: [ASAP] Expose way to set frequency/play-rate On 20 Dec 2020, at 11:40, Miro Kropáček <mir...@gm...> wrote: On Sun, 20 Dec 2020 at 09:08, Daniel Collin <da...@co...> wrote: It would be great if there was an API to set the replay rate/frequency. My player uses 48000 as default and ASAP is 44100. Looking at the code I see the value 441 in two places in the code (also inside the GetWavHeader but 44100 in that case) int ASAP_GetPosition(…) and static int ASAP_MillisecondsToBlocks(..) Also inside the header there is a ASAP_SAMPLE_RATE 44100 The confusing part is that if one changes that value the player won’t actually use it. So I wonder if there would be a way to have an API to set the frequency of the playback? I made the same request almost exactly 8 years ago :-) https://sourceforge.net/p/asap/mailman/message/30292814/ As you can see, it's changeable but only at compile time. Ah, I see. Thanks! |
|
From: Daniel C. <da...@co...> - 2020-12-20 11:42:32
|
> On 20 Dec 2020, at 11:40, Miro Kropáček <mir...@gm...> wrote: > > On Sun, 20 Dec 2020 at 09:08, Daniel Collin <da...@co... <mailto:da...@co...>> wrote: > It would be great if there was an API to set the replay rate/frequency. My player uses 48000 as default and ASAP is 44100. Looking at the code I see the value 441 in two places in the code (also inside the GetWavHeader but 44100 in that case) > > int ASAP_GetPosition(…) and > static int ASAP_MillisecondsToBlocks(..) > > Also inside the header there is a ASAP_SAMPLE_RATE 44100 > > The confusing part is that if one changes that value the player won’t actually use it. So I wonder if there would be a way to have an API to set the frequency of the playback? > I made the same request almost exactly 8 years ago :-) https://sourceforge.net/p/asap/mailman/message/30292814/ <https://sourceforge.net/p/asap/mailman/message/30292814/> > > As you can see, it's changeable but only at compile time. > Ah, I see. Thanks! |
|
From: Miro K. <mir...@gm...> - 2020-12-20 10:40:04
|
On Sun, 20 Dec 2020 at 09:08, Daniel Collin <da...@co...> wrote: > It would be great if there was an API to set the replay rate/frequency. My > player uses 48000 as default and ASAP is 44100. Looking at the code I see > the value 441 in two places in the code (also inside the GetWavHeader but > 44100 in that case) > > int ASAP_GetPosition(…) and > static int ASAP_MillisecondsToBlocks(..) > > Also inside the header there is a ASAP_SAMPLE_RATE 44100 > > The confusing part is that if one changes that value the player won’t > actually use it. So I wonder if there would be a way to have an API to set > the frequency of the playback? I made the same request almost exactly 8 years ago :-) https://sourceforge.net/p/asap/mailman/message/30292814/ As you can see, it's changeable but only at compile time. -- http://mikro.atari.org |
|
From: Daniel C. <da...@co...> - 2020-12-20 08:08:25
|
Hi, It would be great if there was an API to set the replay rate/frequency. My player uses 48000 as default and ASAP is 44100. Looking at the code I see the value 441 in two places in the code (also inside the GetWavHeader but 44100 in that case) int ASAP_GetPosition(…) and static int ASAP_MillisecondsToBlocks(..) Also inside the header there is a ASAP_SAMPLE_RATE 44100 The confusing part is that if one changes that value the player won’t actually use it. So I wonder if there would be a way to have an API to set the frequency of the playback? Cheers! Daniel |
|
From: Piotr F. <pi...@fu...> - 2020-01-19 20:32:01
|
Hi, Today’s minor release has two changes: 1. The Android app now searches by author. 2. Some Windows plugins of ASAP 5.0.0 required libgcc_s_dw2-1.dll – fixed now. Download from http://asap.sourceforge.net/ --Piotr |
|
From: Piotr F. <pi...@fu...> - 2019-11-21 12:00:05
|
Hi, Today's release of ASAP mostly brings internal changes - the code got modernized: • Ć code updated to the current version of cito (https://github.com/pfusik/cito). • C code updated to C99. There are also several improvements in the Android app: • Fixed a crash after playback of a few dozen tunes. • Pausing playback when another app plays. • Improved permissions: no need for phone state permission (was used to pause on incoming calls, now handled more generally), file permission only requested when browsing files. • Volume can be adjusted before starting playback. The Android app still needs a lot of work on the user interface. Keep your fingers crossed! Download from http://asap.sourceforge.net/ --Piotr |
|
From: Piotr F. <pi...@fu...> - 2019-03-24 19:52:08
|
A missing run address is non-standard. Generally only good for 256-byte intros. Some DOSes default to the first block, but the other won’t run the program at all. From: Mr Robot Sent: Sunday, March 24, 2019 8:46 PM To: asa...@li... Subject: Re: [ASAP] Playing XEX files I got as far as on my own and was looking at the sap type, init and run fields and realising I needed to know what they were. I was confused by the lack of run address (in Altirra it runs at $2000) and realise I need to know more about the Atari software side (all stuff I didn’t do as a kid LOL, that’ll teach me!) I think I’ll avoid emailing Poison until he’s had time to calm down after Forever! Thanks all of you for the help, I think I might not be doomed to failure after all! On Mar 24, 2019, at 13:50, Piotr Fusik <pi...@fu...> wrote: ASAP includes an experimental feature of playing XEX files -- it's basically an Atari emulator with sound output only. However, it's very limited and disabled at compile time. But in practice all the music released last years as XEX comes from RMT. I can add XEX->RMT conversion (add maybe direct XEX playback too) when I have more time. Since it's just cutting a part of the file, there are several ways you can do it manually. E.g. using https://github.com/epi/xebin 1. List the blocks: xebin l z3m.xex 0. 3182-3A64 (08E3) 1. 3E00-3ED5 (00D6) 2. 3F00-3FC9 (00CA) 3. 4000-4DE6 (0DE7) 4. Run 3E00 The last block (= 6 last bytes of the file) is the run address. The block before (block #3) is the RMT data. 2. Extract as follows: xebin e -n 3 -o z.rmt z3m.xex It's shorter than the author-provided RMT file, because it lacks the instrument names and probably the unused patterns and instruments. But that's what the XEX file contains. Poison's Prodigy covers seem to lack the RMT header ("RMT" in ASCII). I have no idea why. Why don't you email him? --Piotr From: Mr Robot Sent: Sunday, March 24, 2019 4:30 PM To: asa...@li... Subject: Re: [ASAP] Playing XEX files After a little reading it seemed that just adding a sap header to the xex file would make it a SAP file and indeed this worked for some of the xex music files from forever, they would then play ok in VLC or Audio Overload. It didn’t work on any of the Prodigy covers though so it’s not as universally simple as that! On Mar 24, 2019, at 09:17, Mr Robot <mr_...@at...> wrote: Thanks! The SAP file seems to be the key, I was assuming the player routine was using the RMT file not converting it to SAP and bundling that. It’s not as trivial as it seems though, the SAP header is removed from the top of the data, <Screenshot 2019-03-24 at 08.29.07.jpeg> Then about 40% of the way through there is a bit that is different, looks like that is where the player routine lives <Screenshot 2019-03-24 at 08.32.40.jpeg> And then again at the end there is an extra 6 bytes in the xex <Screenshot 2019-03-24 at 08.39.30.jpeg> I’m going to need to know a lot more about the contents of a SAP file if I’m going to be able to chop up the xex files and build SAP files from them though once I understand it well enough I can do the processing in python easily enough I tried (with 10 LiSU/z3m.rmt) to convert an RMT to SAP with asapconv and then compare it to z3m.xex but it was completely different. Converting Andrea.rmt to SAP using asapconv also produced a wildly different file to the included SAP (it looks like a couple of sections were actually swapped around) so it seems I need to know a lot more about SAP files than I currently do. "asapconv —output=file.sap file.xex" would be soo convenient :) On Mar 23, 2019, at 11:06, Miro Kropáček <mir...@gm...> wrote: On Sat, 23 Mar 2019 at 15:47, Mr Robot <mr_...@at...> wrote: I could load each one into Altirra, let it decrunch the music and start playing, then hit the monitor to find the RMT file in memory and save it off to disk, but again, I would be long dead before I completed the task so I need to automate it somehow. ASAP is a 6502+Pokey emulator designed specifically for playing music files and my target platform for the playback of these files so it seems ideally placed to be the tool for achieving this task. I am just not programmer enough to know how to change it, so I’m reaching out here. I have long forgotten anything about 8-bit programming but from a purely technical point of view: it's really not that hard. For example, take this year's Forever releases: http://atari.sk/wp-content/uploads/2019/03/Forever2019_Atari_Releases.zip ... if you open first MSX folder, there is a RMT, SAP and XEX file, clearly indicating what was the source (RMT). Now open andrea.xex and andrea.sap in any hex editor and compare the outputs. You can see SAP's header, the code for showing the texts (hold shift ...) and to the last byte equal player code and song notes. It should be pretty trivial to cut & paste it, even better, automate it based on a common pattern. Of course, the ideal solution would be ASAP doing this for you (as it's really trivial to parse) but I'm not sure how much time Fox has for this kind of tasks. :) -- http://mikro.atari.org _______________________________________________ asap-users mailing list asa...@li... https://lists.sourceforge.net/lists/listinfo/asap-users _______________________________________________ asap-users mailing list asa...@li... https://lists.sourceforge.net/lists/listinfo/asap-users |
|
From: Mr R. <mr_...@at...> - 2019-03-24 19:30:47
|
I got as far as on my own and was looking at the sap type, init and run fields and realising I needed to know what they were. I was confused by the lack of run address (in Altirra it runs at $2000) and realise I need to know more about the Atari software side (all stuff I didn’t do as a kid LOL, that’ll teach me!) I think I’ll avoid emailing Poison until he’s had time to calm down after Forever! Thanks all of you for the help, I think I might not be doomed to failure after all! > On Mar 24, 2019, at 13:50, Piotr Fusik <pi...@fu...> wrote: > > ASAP includes an experimental feature of playing XEX files -- it's basically an Atari emulator with sound output only. However, it's very limited and disabled at compile time. > > But in practice all the music released last years as XEX comes from RMT. I can add XEX->RMT conversion (add maybe direct XEX playback too) when I have more time. > Since it's just cutting a part of the file, there are several ways you can do it manually. E.g. using https://github.com/epi/xebin <https://github.com/epi/xebin> > > 1. List the blocks: > > xebin l z3m.xex > 0. 3182-3A64 (08E3) > 1. 3E00-3ED5 (00D6) > 2. 3F00-3FC9 (00CA) > 3. 4000-4DE6 (0DE7) > 4. Run 3E00 > > The last block (= 6 last bytes of the file) is the run address. > The block before (block #3) is the RMT data. > > 2. Extract as follows: > > xebin e -n 3 -o z.rmt z3m.xex > > It's shorter than the author-provided RMT file, because it lacks the instrument names and probably the unused patterns and instruments. But that's what the XEX file contains. > > Poison's Prodigy covers seem to lack the RMT header ("RMT" in ASCII). I have no idea why. Why don't you email him? > > --Piotr > > From: Mr Robot <mailto:mr_...@at...> > Sent: Sunday, March 24, 2019 4:30 PM > To: asa...@li... <mailto:asa...@li...> > Subject: Re: [ASAP] Playing XEX files > > After a little reading it seemed that just adding a sap header to the xex file would make it a SAP file and indeed this worked for some of the xex music files from forever, they would then play ok in VLC or Audio Overload. It didn’t work on any of the Prodigy covers though so it’s not as universally simple as that! > > > > On Mar 24, 2019, at 09:17, Mr Robot <mr_...@at... <mailto:mr_...@at...>> wrote: > > Thanks! The SAP file seems to be the key, I was assuming the player routine was using the RMT file not converting it to SAP and bundling that. It’s not as trivial as it seems though, the SAP header is removed from the top of the data, > > <Screenshot 2019-03-24 at 08.29.07.jpeg> > > Then about 40% of the way through there is a bit that is different, looks like that is where the player routine lives > > <Screenshot 2019-03-24 at 08.32.40.jpeg> > > And then again at the end there is an extra 6 bytes in the xex > > <Screenshot 2019-03-24 at 08.39.30.jpeg> > > I’m going to need to know a lot more about the contents of a SAP file if I’m going to be able to chop up the xex files and build SAP files from them though once I understand it well enough I can do the processing in python easily enough > > I tried (with 10 LiSU/z3m.rmt) to convert an RMT to SAP with asapconv and then compare it to z3m.xex but it was completely different. Converting Andrea.rmt to SAP using asapconv also produced a wildly different file to the included SAP (it looks like a couple of sections were actually swapped around) so it seems I need to know a lot more about SAP files than I currently do. > > "asapconv —output=file.sap file.xex" would be soo convenient :) > > > > > > On Mar 23, 2019, at 11:06, Miro Kropáček <mir...@gm... <mailto:mir...@gm...>> wrote: > > On Sat, 23 Mar 2019 at 15:47, Mr Robot <mr_...@at... <mailto:mr_...@at...>> wrote: > I could load each one into Altirra, let it decrunch the music and start playing, then hit the monitor to find the RMT file in memory and save it off to disk, but again, I would be long dead before I completed the task so I need to automate it somehow. > > ASAP is a 6502+Pokey emulator designed specifically for playing music files and my target platform for the playback of these files so it seems ideally placed to be the tool for achieving this task. I am just not programmer enough to know how to change it, so I’m reaching out here. > I have long forgotten anything about 8-bit programming but from a purely technical point of view: it's really not that hard. For example, take this year's Forever releases: http://atari.sk/wp-content/uploads/2019/03/Forever2019_Atari_Releases.zip <http://atari.sk/wp-content/uploads/2019/03/Forever2019_Atari_Releases.zip> ... if you open first MSX folder, there is a RMT, SAP and XEX file, clearly indicating what was the source (RMT). Now open andrea.xex and andrea.sap in any hex editor and compare the outputs. You can see SAP's header, the code for showing the texts (hold shift ...) and to the last byte equal player code and song notes. It should be pretty trivial to cut & paste it, even better, automate it based on a common pattern. > > Of course, the ideal solution would be ASAP doing this for you (as it's really trivial to parse) but I'm not sure how much time Fox has for this kind of tasks. :) > > > -- > http://mikro.atari.org <http://mikro.atari.org/> > _______________________________________________ > asap-users mailing list > asa...@li... <mailto:asa...@li...> > https://lists.sourceforge.net/lists/listinfo/asap-users <https://lists.sourceforge.net/lists/listinfo/asap-users> > > > > _______________________________________________ > asap-users mailing list > asa...@li... <mailto:asa...@li...> > https://lists.sourceforge.net/lists/listinfo/asap-users <https://lists.sourceforge.net/lists/listinfo/asap-users> |