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. |
Похожие статьи:
В этот день... 21 ноября