9th sector 0th track.
ZXNet echo conference «code.zx»
From Alexandr Kolotuhin → To All 29 June 2000
ABOUT! Hello All!
To run is-dos from a screw on a scorpion
the bootloader is placed in the subject of the disk (tr-board),
which launches is-dos, please explain how this is done?
(See also BOOT2000)
Happy! All!
[KINO] [ZX] [Guitar] [ZENIT!!!]
From Mihail Zharov → To Alexandr Kolotuhin 6 July 2000
Greetings, Alexandr!
AK> To launch is-dos from a screw on a scorpion
AK> its boot loader is placed in the subject of the disk (tr-board),
AK> which launches is-dos, please explain how this is done?
AK> (See also BOOT2000)
More precisely, sector 15, track 0.
I don’t remember where I stole it from:
=== Begin file: zs/avto.asm ===
Description of self-starting TR-DOS disk
on SCORPION 256 (on other SPECCY models
it doesn’t go away, but it doesn’t interfere with work either)
On scorpions with professional ROM shadow with
established alternative mode
configuration (from disk) loads 15
sector, checks for the presence of an identifier
(#41 #4D at the beginning of the sector) and launches
the program recorded after it, which
configures shadow and other settings,
but no checks for correctness itself
the program is not produced, thus
you can write your own program that
will run after every reset
computer, it doesn’t matter, cold or warm
or software (ROM 0 JP 0).
Yes, I almost forgot - Scorpov’s pzu,
and not a professional, he also starts it for some reason
this program, why does it do this -
a mystery shrouded in darkness.
The most interesting, in my opinion,
use this opportunity to create
self-starting TR-DOS disks (real ones, but
not on the hard drive!*!), which will themselves
start after reset in TR-DOS mode
128.By the way, no one bothers you
use this feature of Scorpov's
pzukh for other purposes.
BASIC _HE_ is initialized at the moment
configuration, so it's best
go to TR-DOS ROM to address 0, this is
address that was used on the 48k computer
yuters with TR-DOS to reset, that is, here
BASIC and TR-DOS are installed, and then
The file boot.B is launched from disk A.
The address where the program is downloaded
configuration is not permanent, but
depends on the ROM version number, but always
register pair HL indicates start
programs.
Here is the disassembler with comments:
#8000 DI
;Just in case...
#8001 LD DE,#0F
;Offset of the main program relative to
;started.
#8004 ADD HL,DE
;Add offset to HL.
#8005 LD DE,#4000
;Transfer to #4000.
#8008 LD BC,#0013
;The length of the main program #13 bytes.
#800B PUSH DE
;Save DE on the stack, then according to this ad-
;let's move on, saving memory, this is
;slower than JP #4000 by 1 byte.
#800B LDIR
;We transfer the main program to #4000,
;it should not be above #C000, so
;how it switches memory banks.
#800E RET
;Jump through the contents of the top of the stack, into
;in this case at address #4000.
#800F LD BC,#1FFD
#8012 XOR A
#8013 OUT (C),A
#8015 LD B,#7F
#8017 LD A,#10
#8019 OUT (C),A
;Setting RAM 0,ROM 1,SCR 5.
;Port #7FFD is not blocked.
#801B LD HL,#0000
#801E PUSH HL
#801F JP #3D2F;Switching ROM to TR-DOS and going through
;address 0 (in TR-DOS ROM).
In my opinion, some users
it will be easiest to enter the following
Memory dump by disk doctor into sector 15.
You _cannot_ write to such a disk
computer configuration - autostart will be
overwritten by the config.
Here is a program dump, it is driven directly
to the beginning of sector 15, the remaining bytes are sec.
torus are unimportant.
41 4D F3 11 0F 00 19 11
00 40 01 13 00 D5 ED B0
C9 01 FD 1F AF ED 79 06
7F 3E 10 ED 79 21 00 00
E5 C3 2F 3D
=== End file: zs/avto.asm ===
In fact, rarity is everything - sometimes
only required if there is no smack, more precisely
nvram.
Happily. Michael.
From Aleksandr Majorov → To Mihail Zharov 8 July 2000
Hello Mikhail!
06 Jul 00 05:44, Mihail Zharov -> Alexandr Kolotukhin:
[skipped]
MZ> On scorps with prof-ROM shadowbox
MZ> installed alternative mode
MZ> configuration (from disk) loads 15
MZ> sector, checks for the presence of an identifier
MZ> (#41 #4D at the beginning of the sector) and starts
MZ> the program recorded after it, which
MZ> configures shadow and other settings
MZ> but no checks for correctness itself
MZ> programs are not produced, thus
[skipped]
It is more correct to write the identifier
as "AM" are the author's initials. :)
MZ> Yes, I almost forgot - Scorpov’s pzy,
MZ> and not a professional, it also starts for some reason
MZ> this program, why it does this -
MZ> a mystery shrouded in darkness.
This is where we’ll start kicking mercilessly :)
Just why leave this stuff in the vocational school is unclear!
Because in the professional department there is CMOS for storing setup data,
there are “service sectors” of the screw, etc.
But for an ordinary scorpion this is just the right feature!
MZ> The most interesting, in my opinion, MZ> use this opportunity to create
MZ> self-starting TR-DOS disks (real, a
MZ> not on the hard drive!*!), which will be there themselves
MZ> start after reset in TR-DOS mode
MZ> 128.
And who said that this cannot be done on a regular scorpion?????
The most living example is my network node on Scorpio ;)
To get it started, just turn it on
car. All! There is no need to press any buttons.
The "boot" program will load itself and that's it...
[skipped]
MZ> BASIC _HE_ is initialized at the moment
MZ> configuration, so it’s best
MZ> go to the TR-DOS memory at address 0, this
MZ> address that was used on the 48k computer
MZ> yuters with TR-DOS to reset, that is, here
MZ> BASIC and TR-DOS are installed, and then
MZ> the boot.B file will be launched from disk A.
[skipped]
MZ> Here is the disassembly with comments:
[skipped]
How busy everything is.....
Here is the same plug from FK0.
She is the one who works for me :)
╒════════ Start boot.txt ════════╕
DB "AM"
DS #10
D.I.
LD SP,#8000
LD BC,#7FFD
LD DE,#0010LD HL,#3D2F
PUSH HL
LD HL,#C351
PUSH HL
LD HL,#ED1F
PUSH HL
LD HL,#0659
PUSH HL
LD HL,#ED00
LD H,L
PUSH HL
INC HL
ADD HL,SP
JP(HL)
╘════════ End boot.txt ════════╛
[skipped]
MZ> In fact, popularity is everything - sometimes
MZ> is required only if there is no taste, more precisely
MZ> nvram.
This is required if there is nothing ;)
Alexand