|
Power
#05
27 октября 1996 |
|
Программирование - как в игровых программах делать запись рекордов,статусов на диск.

╒══════════════════════════════════════════════════════════════╕
│ СОВЕТЫ НАЧИНАЮЩЕМУ ХАККЕРУ │
╘══════════════════════════════════════════════════════════════╛
(C) T.A.W./JUPITER 77
Привет юные хаккеры !!! Это снова я T.A.W. и на этот раз я
расскажу вам (на живом примере) как в игровых программах делать
запись рекордов,статусов (но только никогда не делайте таким об-
разом отгрузку состояния в играх жанра ADVENTURE) на диск.
В качестве примера возьмем игру ACE сделанную фирмой CASCADE
GAMES в 1986 году.
В ней процедура отгрузки рекордов находится с адресса 35501,
а загрузки с адреса 30963. Длина выгружаемого блока 160 байт.
Ну а теперь я привожу ассемблерный текст новых процедур save/
load работающих без системных переменных.
Под меткой DRIVER будет сам драйвер работы с диском который и
можно использовать для любых целей.
ORG 65319
LD HL,35000
LD B,1
CALL DRIVER
LD IX,23296
JP 30716
DRIVER DI
LD DE,0
LD IX,#2F65
CALL DOS
L_06 PUSH BC
LD C,D
SRL C
DRV LD A,0
JR NC,L_01
OR #2C
JR L_02
L_01 OR #3C
L_02 LD IX,#2F4D
CALL DOS
POP BC
L_05 PUSH DE
PUSH BC
LD IX,#2F1B
BIT O,C
JR NZ,L_03
LD IX,#2D73
L_03 CALL DOS
POP BC
POP DE
INC H
INC E
BIT 4,E
JR NZ,L_04
DJNZ L_05
JR EXIT
L_04 LD E,0
INC D
DJNZ L_06
EXIT EI
RET
DOS PUSH IX
JP #3D2F
DEFM "THIS DISK DRIVER WRITTEN BY CHAOS A.D."
В основном блоке игры с помощью STS поставьте по адресу SAVE
/35501/ :
LD C,6
JP 65319
а по адрессу LOAD /30963/ :
LD C,5
JP 65319
По адресу (DRIVER+2) занесите переменные из 23796/97 ,а по
адресу (DRV+1) занесите переменную из 23798. Но это делается
после загрузки всей программы, которая будет иметь вид
BASIC - ???
CODES1- acec1,23296,256
CODES2- acec2,25000,40535
CODES3- record,35000,256 /выпишите из игры в STS'е/
После загрузки CODES2 выполните вышенаписанную инструкцию.
Я надеюсь что теперь вы сами сможете свободно делать такие
вещи в программах.
В приложение будут включены :
1) Ассемблерный текст DRIVER для ассемблера ALASM.
2) Игра NIGEL MANSEL'S GRAND PRIX (сделаную с этим драйвером).
3) Кассетная версия игры ACE 1.
По всем вопросам обращаться в редакцию газеты POWER.
Другие статьи номера:
Вступление - Как и было обещано, сменилась оболочка, а значит и у газеты появилось свое лицо. |
Программирование - как в игровых программах делать запись рекордов,статусов на диск. |
Мысли по поводу - Программистская сказка от дяди Коли. |
Разыскивабтся - игры. |
Музыка - BEST POP MUSIC. |
Реклама - ИЩЕМ: дилеров, для распространения журнала ZX-PLATINUM. |
Похожие статьи:
В этот день... 7 ноября