|
Power
#02
29 сентября 1996 |
|
Программирование - как можно адаптировать на диск программы с подгружаемыми уровнями.

╒══════════════════════════════════════════════════════════════╕
│ СОВЕТЫ НАЧИНАЮЩЕМЫ ХАККЕРУ │
╘══════════════════════════════════════════════════════════════╛
(C) T.A.W.
Привет юные хаккеры !!! Сегодня я расскажу вам,как можно ада-
птировать на диск программы с подгружаемыми уровнями.
Допустим у вас есть кассетная версия игры с двумя подгружае-
мыми уровнями.
Строение игры:
pic 16384,6912 -рисунок игрушки
cod 23296,40000 -основной блок игрушки
level 1 00001,25024
level 2 00002,25024
Если вы заметили что у уровней странные адреса , то это об'ясня-
ется тем, что в них конролируется номер уровня , то есть в заг-
рузчике уровней с ленты стоит :
LD IX,39488 (адресс загрузки блока)
LD DE,25024 (длина загружаемого уровня)
LD A,1 или 2 (заносится из программы)
SCF
CALL 1366 (этот адрес не обязателен , т.к. может быть своя
процедура)
RET
Я думаю что вы без всяких проблем найдете при помощи отладчика
загрузчик уровнеи.( Допустим он начинается с адреса 64512.)
Теперь мы напишем процедуру посекторной загрузки с диска
без использования системных переменных:
ORG 64512
LD A,1 (Заносится из программы как и кассетный заг-
рузчик.)
CP 1
JR NZ,LOAD Если уровень не 1-й то просто грузим,
LD HL,(LEVEL1) а если 1-й то вносим его TRSEC
LD (TRSEC),HL
LOAD LD HL,39488
LD B,98
CALL LOADER
RET
LOADER DI
LD C,5
LD DE,(TRSEC)
M0 PUSH BC
PUSH DE
LD C,D
SRL C
DRV LD A,0 (ДИСКОВОД А,B,C,D)
JR NC,LO1
OR #2C
JR M1
LO1 OR #3C
M1 LD IX,8179
CALL DOS
LD A,C
LD C,127
LD IX,10835
CALL DOS
LD A,24
LD IX,12227
CALL DOS
POP DE
POP BC
M3 PUSH BC
PUSH DE
LD IX,12059
CALL DOS
POP DE
INC H
INC E
BIT 4,E
JR Z,M2
LD E,0
INC D
POP BC
DJNZ M0
JR EXIT
M2 POP BC
DJNZ M3
EXIT LD (TRSEC),DE
EI
RET
DOS PUSH IX
JP 15663
LEVEL1 DEFB #00,#00
TRSEC DEFB #00,#00
DEFM "THIS TURBOLOADER WRITTEN BY T.A.W. 4 U !!!"
Ну вот , а теперь записываем на диск фаилы по порядку , но
перед запуском основного блока не забудьте занести в переменную
LEVEL1 значения из 23796, а в пеменную DRV+1 значения из 23798.
Это соответственно TRSEC первого уровня и номер рабочего диско-
вода (A,B,C,D).
При использовании этого драйвера форматируйте FAST диски в
ADS 2.0i.
Ну вот и все , пора прощаться.По всем вопросам обращаться в ре-
дакцию газеты *POWER* с пометкой FOR T.A.W. !!!
27.09.96 pm:12:45:39
Другие статьи номера:
Мысли по поводу - демостроение способствует повышению технологии программирования на ZX. |
Программирование - как можно адаптировать на диск программы с подгружаемыми уровнями. |
Новости - Spectrum World города Томска кажется впал в спячку. |
Внимание! - призыв о помощи ко всем, кто читает эти строки. |
Презентация - игра "THE ROCKY HORROR SHOW". |
Реклама - Редакция газеты POWER ждет ваших писем. |
Похожие статьи:
В этот день... 15 ноября