Power #02
29 сентября 1996

Программирование - как можно адаптировать на диск программы с подгружаемыми уровнями.

<b>Программирование</b> - как можно адаптировать на диск программы с подгружаемыми уровнями.

╒══════════════════════════════════════════════════════════════╕
│                 СОВЕТЫ НАЧИНАЮЩЕМЫ ХАККЕРУ                   │
╘══════════════════════════════════════════════════════════════╛

(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 ждет ваших писем.


Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Новости - впечатления о провалившемся ENLIGHT'97.
От автора - Вот и четвертый номер газеты.
Предисловие - в г.Минске появилась модемная связь для ZX-SPECTRUM!
Вступление - От авторов.
Система - Обзор нового системных программ: ALASM v4.1, STORM v1.1 , BEST VIEW v2.2.

В этот день...   16 апреля