Значок ресурса

Screen Compressor

Нет прав на скачивание
Автор: Angelo Colucci
Год: 1995
Издатели: Outlet
Языки: 🇬🇧 Английский
Формат: 📼 TAP лента
Требования: 🖥️ ZX Spectrum 48K

Ссылки:
Страница на ZXArt
Страница на World Of Spectrum
Страница на Spectrum Computing

Скриншоты:
ScreenCompressor_2.gif


Описание:
Screen Compressor— это утилита, разработанная Анджело Колуччи в 1995 году для ZX Spectrum 48K. Эта бесплатная программа предназначена для эффективного сжатия экранных данных с целью экономии памяти и места на дисках или кассетах.

Процедура сжатия занимает всего 134 байта и полностью перемещаема, что обеспечивает гибкость в использовании. Она работает, сканируя экран на наличие неиспользуемых байтов, резервируя один в качестве флага и сжимая последовательности повторяющихся байтов в компактный формат. Этот метод значительно уменьшает общий размер экранных данных.

Для использования компрессора пользователи должны загрузить данные экрана в память, выполнить определенную команду для сжатия и затем сохранить сжатые данные для последующего использования. Программа также включает демонстрацию, демонстрирующую ее возможности, сжимая 60 различных экранов в краткую анимацию.

Таким образом, Screen Compressor предоставляет практическое решение для пользователей, стремящихся эффективно управлять экранными данными на ZX Spectrum, что делает его ценным инструментом для программистов и энтузиастов, работающих с этим классическим оборудованием.

OUTLET'S EXTRA

INSTRUCTIONS



SCREEN COMPRESSOR

FREEWARE by Angelo Colucci

--------------------------



The following program is a very

efficient utility which can make

considerable savings of memory

and storage space on disc or

tape.



The routine is just 134 bytes

Long, and is fully re-Locatable.

There are instructions in the

progam about how to extract and

save the code.



HOW IT WORKS: -

The routine first scans through

the screen to find a byte which

is not used. This valve is then

reserved as a flag. tWe have not

yet been able to ascertain what

it does if it cannot find one!

Please write to OUTLETTERS if

you do come across such a rare

occurrence).



Next, the screen bytes are again

scanned for four or more of any

byte in sequence.The repetitions

are then compressed in sequences

of three bytes: -



Byte 1 = flag signalling the

start of a sequence.

Byte 2 = number of repeats.

Byte 3 = value of byte repeated



HOW TO USE THE COMPRESSOR: -



Extract and install the routine,

Following the instructions in

the program. Note the start

address that you Loaded the code

to (This will replace ST Later) .



To COMPRESS a screen and then

store it at address NNNN : -



1.Load the picture to the screen

2.Enter the command: -



RANDOMIZE NNNN : LET Z=USR ST



(ST is the start address of the

compression routine, and after

execution of this command,

wiLL hold the Length of the

compressed screen code.)



To SAVE a compressed screen: -



After the compression stage I

described on the previous page,

the compacted code will now be

stored in memory at address NNNN

with a Length of 'Z' bytes. 50,

enter : -



SAVE D* "NAME" CODE NNNN,Z



[omit the D* for +3]



You could combine the Loading,

Compression and Saving commands

above in a few Basic Lines, and

this would mean that you don't

Lose the bottom two Lines of

your screenCif entered as direct

commands rather than in program

Lines].



TO DISPLAY a compressed screen: -

Make sure that the compression

routine code is in memory, then

Load in the compacted screen

code to address NNNN.



Then enter : -



RANDOMIZE NNNN: LET Z=USR ST+100



Note that 'ST' is the start

address of the compression

routine and that Z now contains

the next free byte in memory

(This is very useful for multi-

screen animation sequences) .



Experienced programmers will

have noticed the decompression

routine starts at one hundred

bytes above the beginning of the

compressor, so will be able to

save even more bytes by Loading

only the final 34 bytes of the

routine for the display purp-

oses. Most effectively, this

could be tagged onto the start

or end of the the compacted

code-



TO COMPRESS ONLY PART SCREENS: -



Not only is the compression

routine totally relocatable, but

also it is very flexible so that

parts of screens can be compact-

ed and re-expanded.



As saved on this OUTLET disc,

the routine is set to save the

total display file inclusive of

the attributes. Provided you

know HOW the Spectrum screen is

Laid out (No need to know WHY!)

it is fairly easy to POKE a few

bytes in the routine to make the

necessary adjustments. Viz: -



To alter the starting point on

the screen to be compressed and

to expand it back to the same

Location, just 3 double bytes

need POKEing tor, if you are

using neat thirds of screen only

3 single bytes will need it up-

'em Mr. Mainwaring!). Let's name

the start address of the

Compression routine "C_START"

then the addresses to be POKEd

with the required screen-start

address will be: -



C_START + 5/6

C_START + 24/25

C_START + 106/107



The only other parameter is to

know when to stop, and the rout-

ine does this by using the

slightly restrictive technique

of Looking at the high byte

(single byte comparison) of the

address following the end of the

required display bytes. ie. "If

you've reached here, you've gone

too far, so please do something

else.



There are 4 such checks and so

four addresses to POKE with the

delimiting byte. These are : -



C_START + 35

C_START + 72

C_START + 95

C_START + 117



+++++++++++++



EXAMPLE: -

Start Stopper

----- -------

WHOLE SCREEN: 16384 91

#4000 #5B



MIDDLE THIRD: 18432 80

#4800 #50





The preceding are examples of

the double bytes which need to

be poked to the three starting

points and the four single byte

delimiters Each are shown first

in decimal with the Hex. equiy-

alent below.



DEMO:



We have explained how it works

and hopefully how to use the

screen compressor, so to

compLetely spoil you, we have

folLowed up with a Little dem-

onstration which stretches the

routine and the Spectrum's

memory Limits to almost the

Limit! Guess how many compacted

screens make up the animation?





Did I hear 6? Did I hear 16??

No sir - there are actually 60

(Yes sixty) separate compacted

screens which make up this nice

"though brief demo. (Alright,

I'LL admit that the screens are

only the middle thirds, but I'm

still ever so impressed!).



Angelo Colucci
Автор
Verter_bot
Загрузки
0
Просмотры
8
Расширение
tap
Размер
1.5 КБ
Хэш
7e385cbcf02c5ef233245b0563203ba6
Первый выпуск
Последнее обновление

Оценки

0.00 звезд(ы) 0 оценок
Назад
Вверх