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


тема: запуск ис-дос-хдд-смак



от: Mihail Zharov
кому: All
дата: 24 Feb 2000

Приветствую тебя, All!


Хочется вставить сабж в свою софтину.
Следующий код вроде верен, и даже запускает, но сам "ис"
начинает глючить.

=== Cut ===

org 24576

ld hl,BUFF1024 ;таб.разделов
ld c,#26 ;читать таблицу
push hl
rst 8 : db #81
pop hl
ret c ;ошибка - выход
ld b,e ;b = к-во разделов

FIND ld a,(hl)
cp 3 ;is-dos раздел?
jr nz,SKIP

push bc : push hl
ld e,10 ;смещение
add hl,de ;нашли имя раздела
ex de,hl
ld c,#23 ;подкл. раздела
ld a,15 ;%1111 - name,?!,D
rst 8 : db #81
jr c,INIT ;была ошибка?

ld hl,BUFF512
ld de,1 ;с первого сектора
ld b,1 ;один сектор
ld c,#24 ;прямое читение
rst 8 : db #81

INIT pop hl : pop bc
ret c ;ошибка - возврат
ld a,(BUFF512)
cp 24 ;запускаемый?-"jr$"
jr z,RUN

SKIP ld de,16 ;смещение
add hl,de ;нашли след. раздел
djnz FIND
ret ;нэту.

RUN ld hl,BUFF512

BUFF512
ds 512
; JR...

BUFF1024
ds 1024

=== Cut ===

Что же еще требуется для безглючного сабжа?


Счастливо. Михаил.

от: Oleg Grigoriev
кому: Mihail Zharov
дата: 26 Feb 2000

Пусть враги твои, Mihail, умрут без сыновей!

Thu 24 Feb 2000 at 20:10, Mihail Zharov ═> All:

MZ> Хочется вставить сабж в свою софтину.
MZ> Следующий код вроде верен, и даже запускает, но сам "ис"
MZ> начинает глючить.

[censored]

MZ> Что же еще требуется для безглючного сабжа?

где-то в конце нижеприведённой хрени есть загрузчик. весьма успешно грузит.

── { Begin } ─────────────────────────────────────────── { Rhddscon.a } ──
ORG #5E00
L2 EQU #2
L8 EQU #8
L12 EQU #12
L20 EQU #20
LFE EQU #FE
L100 EQU #100
L10D EQU #10D
L10E EQU #10E
L144 EQU #144
L1FFD EQU #1FFD
L5C00 EQU #5C00
L5C3A EQU #5C3A

LD C,#43
L5E01 EQU $-#1
RST #10
RET C
RET NZ
EXX
LD DE,L6003
PUSH DE
LD BC,L8
L5E0D LD A,(HL)
CP #20
JR Z,L5E1B
CP #D
JR Z,L5E1B
LDI
JP PE,L5E0D
L5E1B BIT 2,C
JR Z,L5E26
L5E1F LD HL,L5F04
LD C,#4
LDIR
L5E26 POP HL
XOR A
LD C,#50
RST #10
JR C,L5E61
L5E2D LD C,#34
RST #10
L5E30 JR C,L5E61
L5E32 PUSH HL
EXX
POP DE
LD BC,L20
L5E37 EQU $-#1
LDIR
LD A,(L600E)
BIT 6,A
LD HL,L5F1A
JR Z,L5E65
LD DE,L2
LD IX,L5F04
XOR A
LD L,A
LD H,A
LD C,#29
RST #10
LD HL,L5F2D
INC (IX+#0)
JR NZ,L5E65
DEC (IX+#1)
JR NZ,L5E65
CALL L5E90
L5E61 LD C,#41
RST #10
RET

L5E65 PUSH HL
LD HL,L6003
LD DE,L5F0D
L5E6A EQU $-#2
LD C,#4F
RST #10
; EX DE,HL
LD HL,L100
LD C,#C
RST #10
; EX DE,HL
LD HL,L5F08 ;!
LD C,#6C
RST #10
POP HL
RST #10
LD C,#8
RST #10
DEC C
RST #10
OR #FF
JR L5E61

L5E85 LD A,#D
LD (L5F08),A
POP HL
LD HL,L5F3B
JR L5E65

L5E90 LD C,#10
RST #10
EXX
LD DE,LFFF8
ADD HL,DE
LD E,(HL)
INC HL
LD D,(HL)
LD (L5EDE),DE
LD C,#13
RST #10
INC C
RST #10
RET C
EXX
LD BC,#0010
ADD HL,BC
LD A,#AD
CPI
JR NZ,L5E85
LD A,#DE
CP (HL)
JR NZ,L5E85
LD DE,0
LD HL,L6023
LD BC,L10D
RST #10
RET C
LD HL,L6003
LD DE,L6043
XOR A
LD BC,L20
L5ECA XOR (HL)
LDI
JP PE,L5ECA
LD (L603E),A
LD HL,L5F63
LD DE,L6073
LD C,L6003-L5F63
LDIR
LD HL,0
L5EDE EQU $-#2
LD (L603F),HL
LD C,#45
RST #10
EXX
DEC HL
DEC HL
LD B,(HL)
DEC HL
LD C,(HL)
LD (L6041),BC
LD HL,L6024
LD (HL),#4E
DEC HL
LD (HL),#18
LD DE,0
LD BC,L10E
RST #10
RET C
LD C,#1
RST #10
RET

L5F04 DEFM "_dos"
L5F08 DEFM "File "
L5F0D DEFM " "
; DEFB #20
DEFB #0D ;!
L5F1A DEFM " isn't contiguous!"
DEFB #0D
L5F2D DEFM " isn't valid!"
DEFB #0D
L5F3B DEFM "Did't you knew what is HARD DISK DRIVE?"
DEFB #0D

L5F63 LD DE,#5E01
LD B,E
LDIR
JP #5E5A
LD BC,L1FFD
XOR A
OUT (C),A
LD B,#7F
LD A,#10
OUT (C),A
LD A,(L5E37)
LD I,A
LD HL,(L5E2D)
LD DE,(L5E32)
LD A,(L5E30)
SRL D
RR E
INC DE
JR NC,L5F90
DEC H
INC A
L5F90 SRL A
ADC A,#0
LD B,A
LD C,#24
RST #8
ADD A,C
DI
JR NC,L5FA1
L5F9C OUT (LFE),A
DEC A
JR L5F9C
L5FA1 LD HL,(L5E2D)
LD A,(HL)
INC A
JR NZ,L5F9C
INC HL
LD A,#1
SUB (HL)
JR NZ,L5F9C
INC HL
LD IY,L5C3A
LD DE,L5C00
LD BC,L144
LDIR
IM 2
EI

LD C,#73
RST #10

LD C,#10
RST #10
EXX
DEC HL
LD B,(HL)
DEC HL
DEC HL
DEC HL
DEC HL
DEC HL
LD A,(HL)
LD C,#0
RST #10
LD C,#1C
RST #10
JR C,L6000
LD C,#0F
RST #10
JR C,L6000

LD C,#20
RST #10
LD C,#93
JR NC,L6002
L6000 LD C,#84
L6002 RST #10

L6003 DEFM " swp"

L600E EQU $
L6023 EQU L6003+#20
L6024 EQU L6003+#21
L603E EQU L6003+#3B
L603F EQU L6003+#3C
L6041 EQU L6003+#3E
L6043 EQU L6003+#40
L6073 EQU L6003+#70
LFFF8 EQU #FFF8
── { End } ───────────────────────────────────────────── { Rhddscon.a } ──

[ WBR, Oleg. ]
[ 13:53 26 February XXXV A.S. ]

от: Vladimir Larkov
кому: Sergey Zotov
дата: 23 Mar 2000

Hello, Sergey!

Mon 06-Mar-2000 16:30, ты (500:8462/1) написал(а) письмо мне:

SZ>>> Я пробовал пользоваться ZHDD + Run_Me! Hо после каждой
SZ>>> загрузки с винта IsDOS через некоторое время работы запарывался.

VL>> Каким именно обpазом?
SZ> Выдает сообщение об ошибке 87,9,7,86 и т.п. Т.е. что раздел iS-DOS на
SZ> винте похерился. А как? Я ничего особенного не делал - читал help'ы
SZ> копировал файлы с винта на RAM и т.д.
_____^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^___ вот оно. Hакойхеp(с)?

А pамдиск у тебя, конечно, скоpповский, на всю память (832 блока), да?
Копиpуешь кучу файлов в pам, затиpаешь восьмую банку, винч умиpает.

Попpобуй еще pаз, но без pамдиска, или создавай pамдиск поменьше, на 320 блоков
для начала (пока мы не выяснили каким дpайвеpом pама ты пользуешься и какого
pазмеpа создаешь pамдиск).

VL>> и каким обpазом (а главное - зачем?) можно настpаивать в
VL>> zhdd? Один pаз его загpузил, после чего один pаз pазвесил
SZ> Линковать раздел на винте к какому-нибыдь драйву. zhddserv.com

Hу, один pаз.

VL>> сеpвисом паpтиции по буквам, после чего сохpанил систему и
VL>> подключил ее, это не пpоще?
SZ> Проще. Hо подключение разделов на сохранится. :(

Куда оно, нафиг, денется. Загpузил дpайвеp, pазвесил на него буквы, на буквы
pазвесил паpтиции, сохpанил систему, подключил систему. Усе. Гpузишься как
белый человек с винча, не успеваешь сказать "pаз" как все уже на месте.

Да, не мочишь восьмую банку - не гpохается винч. Все пpосто.


With best wishes, Vladimir.




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

Похожие статьи:
Программистам - Современные программы.
Юмор - юмор из Фидо.
История КПСС - Подражание Даниилу Хармсу...
Вступление - стихи и содержание номера.
Новость - Хиросима45, Чернобыль86, Windows95, Enlight97.

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