Can all registered uses please login, even just for a few minutes..
It helps build a picture where our "good traffic" is coming from..
Thanks :)

New Atari program packer

Latest Atari related news.
User avatar
exxos
Site Admin
Site Admin
Posts: 28679
Joined: Wed Aug 16, 2017 11:19 pm
Location: UK
Contact:

New Atari program packer

Post by exxos »

11111.PNG
11111.PNG (75.76 KiB) Viewed 1003 times

nrvpack — Executable Compressor (Beta)

Background

nrvpack is an executable compressor designed for 68000 with 68030 compatibility — so it covers the full ST/STE/Mega/TT/Falcon range. The decompressor is small, position-independent, so a packed PRG runs anywhere a stock ST does.

Both the packer and the decompression stub were written from the ground up. No code was taken from UPX or any other existing packer. The format is inspired by the NRV family of algorithms (the same general lineage UPX draws from), but the parser, probe-set logic, arithmetic coder, and 68k decompression routine are all original work.

The goal was simple: squeeze the most out of typical 68k executables without paying a runtime decompression cost that would matter on stock hardware.

A great deal of testing has gone into this — several different compression algorithms have been benchmarked against real PRG files, with different coder configurations compared head-to-head and a long list of ideas tried and discarded along the way. The packer offers a choice of algorithms so the user can pick the trade-off that suits them: higher compression ratios come at the cost of slower decompression, while the lighter algorithms decode faster but pack less tightly. Which one to use is up to you — for a program that loads once and runs for hours, maximum compression makes sense; for something launched repeatedly, a faster-decoding format may feel better in use.

On typical executables the stronger formats land at roughly 2.75:1.

Availability

The packer is available to logged-in forum users only. You'll need to be signed in to use it.

Beta Status

This is a beta release and needs more thorough testing by the community before it can be considered stable. If you run packed PRGs and hit anything unexpected — crashes, corrupted output, programs that misbehave only when packed, weird interactions with TSRs or accelerators, anything at all — please post in this thread with as much detail as you can (file, machine config, TOS version, what happened). The more variety of hardware and software it gets exercised against, the sooner any remaining bugs can be flushed out.

Thanks in advance to anyone who takes the time to give it a run.

https://www.exxosforum.co.uk/nrvpack/


Edit / clarification:

To be clear about the workflow: AI wrote much of the code under my direction. I've mentioned this elsewhere on the forum and in the atariscne.org article (which has been updated to state it explicitly), but it's worth saying here too so the context isn't missed.

The design of the format, choice of algorithms, parser strategy, probe-set tuning, 68k decompression stub conventions, experimentation, debugging, and the web frontend were all my work. The conversation log alone runs to over 200 pages. AI handled a lot of the typing; the engineering and design decisions were mine.

Honestly, I didn't expect this to be much of an issue in 2026 — AI is part of how most developers work now, in one form or another.

But the pushback reminds me of the old arguments about games being "cheating" if they were written in BASIC instead of assembly, or rows over whether using prebuilt libraries counted as your own work. Same shape every time: a new tool turns up, a faction decides it's illegitimate, and a few years later it's just how things are done. I'd rather not see the scene fall into another round of that. Use the best tools available, be open about it, and judge the work on what it does.

I just wanted to put together something cool and different for the community, the way I've been doing for the past 30+ years.
czietz
Posts: 587
Joined: Sun Jan 14, 2018 1:02 pm

Re: New Atari program packer

Post by czietz »

Hm, I just tested with the attached program, which is padded with a lot of 0x00 bytes, so it should compress extremely well. However, the site, after crunching on the file for about 1.5 minutes told me:
This file could not be compressed further. It appears to be already packed (by nrvpack or another packer like UPX/Pack-Ice), contain already-compressed data (music, graphics, ZIP archives), or be too small/random to benefit from compression. Packing it would produce a larger file than the original.
Attachments
test_nrv.zip
(334 Bytes) Downloaded 12 times
User avatar
exxos
Site Admin
Site Admin
Posts: 28679
Joined: Wed Aug 16, 2017 11:19 pm
Location: UK
Contact:

Re: New Atari program packer

Post by exxos »

3.01 now uploaded - various bug fixes.
czietz
Posts: 587
Joined: Sun Jan 14, 2018 1:02 pm

Re: New Atari program packer

Post by czietz »

With the 3.01 update, my test program now can be compressed. But the compressed version does not run properly. The uncompressed version prints "Working perfectly", while the compressed version prints nothing. Both files are included in the attached .zip.
Attachments
test_nrv_again.zip
(908 Bytes) Downloaded 16 times
User avatar
exxos
Site Admin
Site Admin
Posts: 28679
Joined: Wed Aug 16, 2017 11:19 pm
Location: UK
Contact:

Re: New Atari program packer

Post by exxos »

When I ran your program it just quit back to desktop on steem so assumed that was normal.
czietz
Posts: 587
Joined: Sun Jan 14, 2018 1:02 pm

Re: New Atari program packer

Post by czietz »

exxos wrote: Sun Apr 26, 2026 9:35 pm When I ran your program it just quit back to desktop on steem so assumed that was normal.
Run it from a command-line interpreter. It doesn't wait for a keypress, so you'll miss the message otherwise.

grab0003.png
grab0003.png (12.05 KiB) Viewed 920 times
User avatar
exxos
Site Admin
Site Admin
Posts: 28679
Joined: Wed Aug 16, 2017 11:19 pm
Location: UK
Contact:

Re: New Atari program packer

Post by exxos »

@czietz can you post the assembly code of that program ?
czietz
Posts: 587
Joined: Sun Jan 14, 2018 1:02 pm

Re: New Atari program packer

Post by czietz »

exxos wrote: Sun Apr 26, 2026 9:55 pm @czietz can you post the assembly code of that program ?
Sure. GNU as syntax:

Code: Select all

.text
    move.l  4(sp),a0
    move.l  0x10(a0),-(sp)
    move.w  #9,-(sp)
    trap    #1
    addq.l  #6,sp
    
    move.w  #0,-(sp)
    trap    #1

.data
    .asciz "Working perfectly!\r\n"
    .rept 8192
    .dc.l 0
    .endr
User avatar
exxos
Site Admin
Site Admin
Posts: 28679
Joined: Wed Aug 16, 2017 11:19 pm
Location: UK
Contact:

Re: New Atari program packer

Post by exxos »

@czietz try this new beta page https://www.exxosforum.co.uk/nrvpack-beta/
czietz
Posts: 587
Joined: Sun Jan 14, 2018 1:02 pm

Re: New Atari program packer

Post by czietz »

exxos wrote: Sun Apr 26, 2026 11:05 pm @czietz try this new beta page https://www.exxosforum.co.uk/nrvpack-beta/
Thank you! It works now.

PS: And thanks, too, for the "no rasters" option that gets rid of that screen flickering and flashing.
Post Reply

Return to “NEWS & ANNOUNCEMENTS”