ZXNet эхоконференция «code.zx»


тема: ис-дос & память



от: Dmitry Sharikov
кому: All
дата: 24 Aug 1999
Привет многоуважаемый(ая), All ! Вот тут вопрос возник к людям, кот. писАли/пишут проги под ис-дос... хотелось бы поработать с верхней памятью, точнее чтобы прога, кот. еще не родилась (до конца), юзала эту память, но как убедиться, что не будет конфликта с рам-дисками всякими ? Речь идет про 128-ю память... Сами понимаете, 48-я пямять - это как-то неинтересно... ;) With best wishes, Dmitry. [ZX] [ЛЭТИ]

от: Dmitry Sharikov
кому: Oleg Grigoriev
дата: 26 Aug 1999
Приветик тебе, Oleg !!! Однажды в Среду 25 Августа 1999 в 00:44:40 Oleg Grigoriev написал(а) to Dmitry Sharikov на тему 'ис-дос & память': DS>> родилась (до конца), юзала эту память, но как убедиться, DS>> что не будет конфликта с рам-дисками всякими ? OG> Hикак. :) Используй 128-ю. И всё. Что, так просто, типа, если чел с рам-диском, то его проблемы ? блин, опять с 48й памятью ковыряться придется... ;) With best wishes, Dmitry. [ZX] [ЛЭТИ]

от: Felix Knajzev
кому: Dmitry Sharikov
дата: 27 Aug 1999
Приветствую тебя, о досточтимый(ая) Dmitry! [Четверг 26 Август 1999] в [03:59:40] Dmitry Sharikov начертал(а) письмецо к Felix Knajzev. Обсуждали они тему "ис-дос & память". Продолжим начатое... FK>> драйвер рам-диска с возможностью конфигурировать число FK>> использованных банок (или creat.com) и порядок их FK>> заполнения. Посленее наиболее важно. DS> У меня тоже, т.к. я рам-диск не юзаю... ;) А мне приходится: винта нет, а мозгов - 512К. DS> А ты как-то по-хитрому создавал рам-диск (конфигурировал) ? Если в драйвере рам-диска есть таблица заполнения банок, и страницы 128К-памяти находятся в самом конце списка (используются системой в последнюю очередь), то creat.com'ом просто делаешь размер рам-диска на 320 блоков (одна банка = 64 блока; память 128К = банки 1,3,4,6,7; 64*5=320) меньше, чем его максимальный объём. Естественно, владельцев 128К-машин ждёт облом. В смысле - на рам-диск они вообще обламываются. :) DS> И еще, а где можно задать порядок заполнения банок ? В теле самого драйвера. Тут пролетал как-то хороший драйверок, (кто автор - понятия не имею) имхо наиболее быстрый (2All: а ещё быстрее можно?) и с возможностью конфигурирования очерёдности заполнения банок. Вот он: ================= begin of file "ed_512+ .a" ================== ;Драйвер для 512К по стандарту Пентагона; #7ffd, 6&7 bits. ORG 50000 DEFW #0000 ;без инсталляции DEFW dread DEFW write DEFW binit ;для dread и write: ;hl - адрес в памяти ;de - номер нач. блока на диске ;b - кол-во блоков DEFB #E0,#04 DEFB #00,#00 DEFB #00,#00 DEFB #00,#00 ;таблица очередности заполнения страниц ptable DEFB #D0,#D1,#D2,#D3,#D4,#D5,#D6,#D7 DEFB #90,#91,#92,#93,#94,#95,#96,#97 DEFB #50,#51,#52,#53,#54,#55,#56,#57 DEFB #11,#13,#14,#16,#17 ; ^^^^^^^^^^^^^^^^^^^ ;А вот и наши странички 128К-памяти. ;Они будут использоваться в последнюю очередь. ;Их можно вообще исключить из списка, если creat.com'om ;будет создаваться рам-диск на 320 блоков меньше, чем ;его возможный (максимальный) объём. dread XOR A JR WORK__ write LD A,#EB WORK__ LD (EXCH_1),A LD (EXCH_2),A LD A,H ADD A,B JR C,ERR_07 ADD A,#40 JR NZ,ERR_07 DEC A ADD A,L ERR_07 LD A,#07 RET C JR NEXT__ LOOP__ LD A,E OR #C0 PUSH AF NEG LD C,B CP B JR NC,LLL1 LD C,A LLL1 LD A,B SUB C LD B,#00 EX DE,HL PUSH HL ADD HL,BC EX (SP),HL ADD HL,HL ADD HL,HL LD L,H LD H,B LD B,A PUSH BC LD BC,ptable ADD HL,BC POP BC LD A,(HL) POP HL EX (SP),HL PUSH BC LD B,C LD C,#00 LD L,C DI LD (STORE+1),BC LD BC,#7FFD OUT (C),A STORE LD BC,0 EXCH_1 EX DE,HL _LDI LDI LDI LDI LDI LDI LDI LDI LDI LDI LDI LDI LDI LDI LDI LDI LDI JP PE,_LDI EXCH_2 EX DE,HL LD A,#10 LD BC,#7FFD OUT (C),A EI EX DE,HL POP BC POP DE NEXT__ INC B DJNZ LOOP__ binit XOR A RET . ================== end of file "ed_512+ .a" ================== А вот тот же драйвер, но для 1М-Скорпа (#1ffd/bit_4, #7ffd/bit_6&7): ================== begin of file "ed_sc1mb.a" ================== ;Быстpый дpайвеp RAM-диска для Scorpion'а ;с 1Mb RAM (!); Bit_4 of #1FFD; Bits_6&7 of #7FFD. ;Использует только дополнительную веpхнюю ;память! Т.е. "банки" от #08 до #3F! ;Устpойство создавать на (3*8)+(4*8)=56*64=3584 блока! ;Специально для Vlad Zinuk. ORG 50000 DEFW #0000 ;без инсталляции DEFW dread DEFW write DEFW binit ;для dread и write: ;hl - адрес в памяти ;de - номер нач. блока на диске ;b - кол-во блоков DEFB #E0,#04 DEFB #00,#00 DEFB #00,#00 DEFB #00,#00 ;таблица очередности заполнения страниц ptable DEFB #F0,#F1,#F2,#F3,#F4,#F5,#F6,#F7; установлен в "1" bit_5 DEFB #B0,#B1,#B2,#B3,#B4,#B5,#B6,#B7; для записи в bit_4 of #1FFD! DEFB #70,#71,#72,#73,#74,#75,#76,#77 DEFB #30,#31,#32,#33,#34,#35,#36,#37 ; DEFB #D0,#D1,#D2,#D3,#D4,#D5,#D6,#D7; сбpошен в "0" bit_5 DEFB #90,#91,#92,#93,#94,#95,#96,#97; для записи в bit_4 of #1FFD! DEFB #50,#51,#52,#53,#54,#55,#56,#57 dread XOR A JR WORK__ write LD A,#EB WORK__ LD (EXCH_1),A LD (EXCH_2),A LD A,H ADD A,B JR C,ERR_07 ADD A,#40 JR NZ,ERR_07 DEC A ADD A,L ERR_07 LD A,#07 RET C JR NEXT__ LOOP__ LD A,E OR #C0 PUSH AF NEG LD C,B CP B JR NC,LLL1 LD C,A LLL1 LD A,B SUB C LD B,#00 EX DE,HL PUSH HL ADD HL,BC EX (SP),HL ADD HL,HL ADD HL,HL LD L,H LD H,B LD B,A PUSH BC LD BC,ptable ADD HL,BC POP BC LD A,(HL) POP HL EX (SP),HL PUSH BC LD B,C LD C,#00 LD L,C DI LD (STORE+1),BC LD BC,#7FFD LD (MEM1+1),A AND %11011111 OUT (C),A MEM1 LD A,0 LD B,#1F AND %00100000 SRL A OUT (C),A STORE LD BC,0 EXCH_1 EX DE,HL _LDI LDI LDI LDI LDI LDI LDI LDI LDI LDI LDI LDI LDI LDI LDI LDI LDI JP PE,_LDI EXCH_2 EX DE,HL XOR A LD BC,#1FFD OUT (C),A LD A,#10 LD B,#7F OUT (C),A EI EX DE,HL POP BC POP DE NEXT__ INC B DJNZ LOOP__ binit XOR A RET . ================== end of file "ed_sc1mb.a" ================== С уважением, Felix. [I.ZX]




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

Похожие статьи:
Новости со всего мира - полным ходом идет Дженерализация программ и компьютеров, GENERAL SOUND + ПО стоит 40$.
ASM vs SNS - ASM и SNS - две большие разницы.
BBS - список станций BBS ZXNet.
Мнение - кругом попса!!
Ментура - описание малоизвестной адвентюры "Ментура".

В этот день...   8 мая