Scorp and Kai
ZXNet echo conference «code.zx»
From 500:812/17.09 → To Dmitry Lomov 12 February 1998
Hello, Dmitry!
10-02-98 at 01:37 Dmitry Lomov wrote to Oleg Grigoriev on
theme "Scorp and Kai".
DL>>> suits STORM 1.2 (for small projects),
OG>> Please make a version with 64 characters. If necessary
DL> hehe. We believe that this is not necessary.
DL> If you want to object, explain why it is necessary - to CODE.
The amount of information present on the screen increases
no. _I find it more convenient when all comments are aligned one by one
column, and with 42 characters under the comment field. very little remains
places. Although I rarely write them. 64 character font is functional,
there is nothing superfluous, all letters (almost all;)) have a fixed
bathroom 3 pixels wide. well, etc.
OG>> And it wouldn’t hurt to build in support for the scorpion screw.
DL> Write a driver, we'll insert it. Although it works with disks
Input data for it? Moreover, when starting the program, you need to determine
share the presence of a screw. Those. not just the driver. Soap source?
or in CODE?
DL> as fast as with the Zonov screw...
I doubt it, reading from a screw via rst is almost 2 times faster
than turbo-loader, the recording is almost the same.
DL> ps. We decided to postpone STORM until better times.
DL> The system is more important.Well, so for his system... Then you will need a driver like
register the block.
With best wishes, Ruiner.
-+- Shoot-Edit v6.06
From 500:812/08.14 → To Oleg Grigoriev 13 February 1998
Hi, Oleg!
theme "Scorp and Kai".
OG>>> Please, make a version with 64 characters. If necessary
DL>> hehe. We believe that this is not necessary.
DL>> If you want to object, explain why it is necessary - to CODE.
OG> The amount of information present on the screen increases.
Due to a decrease in clarity. It is more important for us that
it was clearly visible. (by the way, I have a converted VTC-202,
DARK has a TV).
OG> _I_ find it more convenient when all comments are aligned one by one
OG> column, and with 42 characters under the comment field. very little remains
OG> places. Although I rarely write them.
I don't write comments at all. I'm writing annotations
before functionally completed procedures, and even then not always.
DARK does the same. All this looks like:
;************************************************
; SVFILE TYPE "C" TO DISK;
; CAT CACHE IN "CSPACE" OR (CSPACE)=#FF
; HL-BEG, DE-LEN, BC-NAME EXIT: NC-O.K.
; A(7) - 1-OFFDISK C A=0 DISK ERR.
; A(6) - 1-ASK OVERWR. C A=1 NO DISK
; A(5) - ... C A=3 ...
SVFILE...
and stuff like that...
OG> 64 character font is functional,
No, we can't see it well. Some symbols stick together.
you have to strain.
You just have to get used to 42, after that
I don’t want to look at 64 anymore.It would be possible to make two versions, but
the string storage format does not allow its length
more than 40. We need to redo the format...
OG>>> And it wouldn’t hurt to build in support for the scorpion screw.
DL>> Write a driver, we’ll insert it. Although it works with disks
OG> Input data for it? Moreover, when starting the program, you need to define
OG> divide the presence of a screw. Those. not just the driver. Source with soap?
OG> or in CODE?
We will determine availability. Tell me this -
about all sorts of #5B.. and other bass areas.
Everything is crashing down there. And what about errors?
In addition, for some reason, on the scorpion at the command
"exit to bass" the seventh screen is placed.
This means that “something is rotten in the Danish kingdom”;
The Scorpio system doesn’t like something.
And the source can be in CODE, it will be of interest to everyone.
DL>> ps. We decided to postpone STORM until better times.
DL>> The system is more important.
OG> Well, so for the system... Then you will need a driver as
OG> register block.
The first number on the list.
Best wishes.
Dmitry aka -=LD=- / X-TRADE GROUP.
-+- ZXASM 3.0
From 500:812/17.09 → To Dmitry Lomov 14 February 1998
Hello, Dmitry!
13-02-98 at 02:29 Dmitry Lomov wrote to Oleg Grigoriev on
theme "Scorp and Kai".
OG>> The amount of information present on the screen increases.
DL> Due to reduced clarity. It is more important for us to
DL> was clearly visible.
And I'm doing so well ;)
DL> (by the way, I have a converted WTC-202,
DL> DARK has a TV).
I found something to scare me... Before I bought the monitor, I worked at
Electronics. Mon. I bought it a year and a half ago, in the summer, in scorpion.
I have an I-don’t-remember-what-brand monitor with amazing quality and
awesome black color. VDC 52700 is written on the case, but
what is this?;) And he climbed inside. for a long time. If you're interested, don't hesitate
Zerova, he'll tell you. If he remembers ;)
DL> I don’t write comments at all. I'm writing annotations
In principle, me too, but sometimes I have to. For example, when I
I wrote my packer and had to comment on the packaging algorithm,
it’s just quite complicated and was written over several weeks,
you and the alterations. This is why I use comms, so that
the next day don’t suffer from thoughts like “Lord, well
Have I screwed up here!?...".
OG>> 64 character font is functional,
DL> No, it's hard to see. Some characters stick together. DL> you have to strain.
Which ones? Only "Yu".
DL> You just need to get used to 42, after that
DL> I don’t want to look at 64 anymore.
And vice versa ;)
DL> It would be possible to make two versions, but
DL> string storage format does not allow its length
DL> more than 40. We need to redo the format...
It doesn't burn. It is better to cure police tendencies. Corruption
among my floppies this is my problem!
OG>>>> And it wouldn’t hurt to build in support for the scorpion screw.
DL>>> Write a driver, we’ll insert it. Although it works with disks
OG>> Input for it? Moreover, when starting the program, you need to define
OG>> divide the presence of a screw. Those. not just the driver. Source with soap?
OG>> or in CODE?
DL> Availability will be determined.
You may decide, but since I’m writing for everyone....
DL> Say this -
DL> about all sorts of #5B.. and other bass areas.
The only critical address is #5b5c. According to the 3rd bit of shadow
Vic exposes the screen. In principle, in new boards there is
the ability to determine the current configuration, but the shadow of this
doesn't. "What would work on old boards as well." DL> Everything is crashing down there. And what to do with errors?
At least it's squishing. Possible errors are caught.
DL> In addition, for some reason, on the scorpion at the command
DL> "exit to bass" the seventh screen is placed.
You enter the shadow area, (#5b5c)=0 and ob. No screen anywhere
is placed.
DL> This means that “something is rotten in the Danish kingdom”;
DL> the scorpion system doesn't like something.
I don't know, I don't know...
DL> And the source can be in CODE, it will be of interest to everyone.
Well, let's go... Actually, this is not exactly a source code, more like
several dependent routines...
;------------------------------------------------------------;
1. First stage. Starting the program, setting variables, etc.
;------------------------------------------------------------;
D.I.
LD A,(#0008)
CP#C3
JR NZ,EXIT ;This is not a scorpion
LD BC,#1FFD
LD A,#02
OUT(C),A
LD A,(#00F1) ;Took the TM version number
LD E,A
XOR A
OUT(C),A
LD A,E
CP 96
JR C,EXIT ;But it’s old, there’s no screw there.
LD HL,DIS_BUF
LD C,#09
RST #08 ;Set working bufferDB #81 ;size 512 bytes
LD C,#22
RST #08
DB #81 ;Screw identification
JR C,EXIT ;They don't live here
LD HL,FLAG_B1
SET 3,(HL) ;Setting the screw presence flag
LD A,(23798)
CALL ST0_DRV
EXIT
;------------------------------------------------------------;
2. Selecting the "disk drive". Selects the appropriate section,
all further work will take place with him.
in: [A]- (0-3) drive number.
out: 'CY=1 means not a screw, [A] does not change.
;------------------------------------------------------------;
ST0_DRV LD (STT_FDD+#02),A ;useful
LD HL,FLAG_B1
BIT 3,(HL)
JR Z,STT_FDD ;well no, what can you do.
OR #80 ;this bit is responsible for
;"auto-connection i.e. connect
;what is given in the auto sector
;settings"
LD H,#00 ;MOA glitch, if HL<#C000 then
;SET 4,(HL) will occur. What if
;more then most likely too
;will occur in the 8th bank.
LD C,#23
RST #08
DB #81
JR C,STT_FDD ;The image is not connected. Work with;disk drive.
LD HL,DIS_BUF
LD DE,#0005 ;Equivalent to reading 8 and 9
LD BC,#0124 ;sectors of the 0th track.
RST #08
DB #81
LD A,(DIS_BUF+#00E7)
CP#10
JP NZ,ERROR ;The image is connected. But it's not
;trdos image. Recommended
;write some curse-
;lity and offer to choose
;another disk.
LD HL,FLAG_B1
SET 0,(HL) ;Set the flag "Current disk
;this is the section of the screw."
JR $+#03
;----------------------------;
STT_FDD SCF
LD A,#00
RET
With best wishes, Ruiner.
-+- Shoot-Edit v6.06
From 500:812/17.09 → To Dmitry Lomov 14 February 1998
Hello, Dmitry!
13-02-98 at 02:29 Dmitry Lomov wrote to Oleg Grigoriev on
theme "Scorp and Kai".
;------------------------------------------------------------;
3. The driver itself.
in: HL - Load address, or address of data being written.
D - Track.
E - Sector.
B - Number of sectors.
C - sign of loading (#00) or writing (#01).
out:
;------------------------------------------------------------;
LD A,(FLAG_B1)
RRA
JR NC,FDD;work with a turbo loader.
PUSH HL ;convert coordinates on disk
;to block number
LD A,E
LD L,D
LD H,#20 ;in L track number
SLA L
RL H
JR NC,$-#04
LD D,#00
SRL E
ADD HL,DE
INC HL ;Sectors on the screw are numbered starting from 1.
EX DE,HL ;DE - sector number
POP HL ;If CY=1 then it is necessary to count
RRA ;(write) to memory the second
;half of the sector.
;----------------------------;
LD A,#01 ;second half
CALL C,READ_1B
LD A,B
AND A
RET Z ;one sector?
DEC A
JR Z,READ_1B ;another one from the beginning of the sector.PUSH HL,DE,BC
SRL B
LD A,B
PUSH AF
SRL C
LD C,#24 ;read
JR NC,$+#04
LD C,#25 ;record
RST #08
DB #81
POP AF,BC,DE,HL
RET NC ;all sectors.
PUSH HL; another one from the beginning of the sector.
LD L,A
LD H,#00
ADD HL,DE
EX (SP),HL
SLA A
LD D,A
LD E,#00
ADD HL,DE ;address
POP DE ;block number
XOR A
;-----------------------------------;
;Read/write half of the sector.
;HL-address
;DE - block number
;C - read/write
;A =0 first 256, =1 second half.
;-----------------------------------;
READ_1B PUSH HL,DE,BC,DE,HL,BC,AF
LD HL,DIS_BUF
LD B,#01
LD C,#24 ;Reading a sector from a screw
RST #08
DB #81
POP AF
LD DE,DIS_BUF
ADD A,D
LD D,A
POP BC,HL
SRL C ;reading? recording?
JR C,$+#03
EX DE,HL ;reading.
LD BC,#0100
LDIR; transfer to sector from memory.
;or vice versa.
LD HL,DIS_BUF
POP DEJR NC,$+#07 ;was reading.
LD BC,#0125 ;Changed sector record.
RST #08
DB #81
POP BC,DE,HL
INC DE
DEC B
INC H
RET
;-----------------------------------------------------------;
DIS_BUF DS #0200
Questions?
With best wishes, Ruiner.
-+- Throw-Edit v6.06