THIS SECTION PROVIDES CONSISTENCY INFORMATION ABOUT YOUR COMPUTER
WHAT IS NECESSARY FOR THIS TYPE OF WORK IS A MEMORY CARD,
METHOD OF WRITING INDIVIDUAL LINES INTO MEMORY IN basic, SEPARATE SYSTEMS
DARK VARIABLES ETC. WE'LL NEXT LOOK AT READING PROG
RAMM AND DATA BLOCKS IN A 'SAFE WAY', I.E. SO THAT THEY
DID NOT START AUTOMATICALLY AND IT WOULD BE POSSIBLE TO VIEW THEM WITH-
HELD;WE WILL GET DOWN TO DISARMING THE FUSES IN THE END,
WRITTEN IN THE INTERNAL LANGUAGE. WE WILL ALSO TRY TO ILLUSTRATE
I WILL EXPLORE ALL THIS WITH SPECIFIC EXAMPLES ON KNOWN PROGRAMS.
I HOPE YOUR EFFORT WILL NOT BE WASTE AND YOU WILL ALSO LEARN
ACCESS ANY PROGRAM WITHOUT OBSTACLES.
THE ROAD WILL BE MADE BY THE WALKING!!!
1.MEMORY ALLOCATION:
rom...................0
display file........16384
attr...................22528
PRINTER BUFFER......23296
SYSTEM VARIABLES..23552
MICRODRIVER CARD...23734INFORMATION ABOUT CHANNELS..chans (23631);(23734)
{80...................prog (23635);(23755)
AREA basic.........ramtop (23730);(65368)
{3E...................udg (23675);(63368)
USER DEFINED GRAPHICS..p-ramp (23732);(65535)
2. LOADING THE PROGRAM ON THE assembler.
THIS PROGRAM IS DESIGNED FOR THOSE WITH A speccy EXCEPT MAG-
NITOFON, ay-3-8910(12) AND 128k NOTHING CONNECTED. WHO HAS
THE DISK INTERFACE IS CONNECTED, THEY MAY NOT LOOK HERE. BUT
IF YOU LOOK IN, NOTHING WORSE WILL HAPPEN EXCEPT AS YOU
cpu z-80 WILL BURN YOU (JOKE!). ALTHOUGH IT IS ADVISABLE TO LOOK HERE
TO EVERYONE (LEARN MORE ABOUT speccy IT'S NEVER TOO LATE - IT'S THE SAME FOR
FOR YOUR GOOD, YOU WILL KNOW MORE). WE HAVE SOMETHING TO SPEAK, SO:
load/merge
org 60000
ld bc,34
rst 48push de
pop ix
ld (iy+58),1
ld(ix+1),255
call 1821
ld hl,(23618)
ld (23621),hl
rst 8
defb 255
THIS PROCEDURE ALLOWS YOU TO READ A BASIC PROGRAM WITH
HECEHUEM OF DATA IN DE AND IX IS FASTER!
BUT THIS PROGRAM ALLOWS YOU TO LOAD CODE BLOCKS USING
BY INVOLVING ADDITIONAL MEMORY. WHEN PERFORMED, IT WILL TRANSFER ITSELF
CARRIED FROM THE ADDRESS SPECIFIED IN org UNDER A SUITABLE ADDRESS; ACCESS-
THIS EFFECT IS HARNESSED THANKS TO THE PRESENCE OF JP 4633 AND THEN SHE RECORDED
RESETS THE BLOCK OF CODES WITHOUT LEAVING BASIC (IF basic GOT CORRUPTED DURING
USING SYSTEM VARIABLES).
org 65400
ld ix,0
ld de,dl
ld a,255
scf
inc d
ex af,af'
dec d
di
ld a,15
out ({fe),a
ld a,0
jr c,ok
ld a,7
ok out ({fe),a
error ld a,{bf
in a,({fe)
rra
jr c,error
ld ix,0
ld de,dl-16384
ld a,255
call 1218
ld hl,65399
jp 4633
THE PERFORMANCE OF THIS PROGRAM WAS TESTED BY PERSONAL EXPERIENCE.
YOU CAN CHECK FOR YOURSELF.
----------------------------------------------------------------
TO UNDERSTAND THE PROCESS OF CREATING A MAGIC FILE, YOU NEED TO KNOW
ASSEMBLY AND WORKING Z-80 WITH A STACK. LET'S SEE HOW tr-dos RESPONS
ON PRESSING magic. AT THAT MOMENT WHEN THE PROCESSOR TRY TO COUNT
THE NEXT COMMAND CODE IS FROM RAM, HARDWARE TURN ON IS HAPPENING
Dummy ROM tr-dos AND AT THE SAME TIME A HEMACKU- REQUEST ARISES
MANAGED INTERRUPTION nmi.WHEN SUCH A REQUEST, the z-80 WRITES FIRST
ON THE STACK THE CURRENT VALUE OF THE COMMAND COUNTER (POINTER TO COMMAND CODE)
YES, WHICH WOULD BE EXECUTED IN THE ABSENCE OF INTERRUPTIONS) AND TRANSITION-
LA TO EXECUTION OF THE NON-MASKABLE INTERRUPTION SERVICE PROCESS,
THE INITIAL PART OF WHICH HAS THE FOLLOWING VIEW:
{0066 jp {2a56
{2a56 push af
push bc
push depush ix
push iy
ex
push bc
push them
push hl
ex of, of'
push off
ld a, i
push off
ld a,r
push off
ld hl,0
add hl, sp
push hl
........
К ЕТОМУ МОМЕНТУ ЗНАЧЕНИЯ ВСЕХ РЕГИСТРОВ НА МОМЕНТУ ПРЕРЙВАНИЯ
СОХРАНЯЮТСЯ В STEKE, ЧТО ПОЗВОЛЯЕТ В ДАЛЬНЕЙШЕМ ОССТАНАВЛИВАТЬ
ИХ ДЛЯ ВОЗОБНОВЛЕНИЯ РАБОТЫ C МЕСТА ПРЕРЫВАНИЯ.ИНТЕРЕСТНО,ЧТО
ДАЖЕ ЗНАЧЕНИЕ УКАЗАТЕЛЯ СТЕКА ПОМЕЩАЕТСЯ В sp,НО САМОЕ ВАЖНОЕ-
ЧТО ЕТО ЖЕTHE NUMBER WILL BE RECORDED IN THE magic HEADING (IN THE FIELD 'ON-
INITIAL ADDRESS'). THIS INFORMATION IS SUFFICIENT TO DETERMINE THE SOC-
THE z-80 IS STANDING AT THE MOMENT OF PRESSING magic. IN THIS CASE, IT IS IMPOSSIBLE TO NOTE
THAT THE AREA 'OVERWEARED' BY THE STACK WHEN THE SYSTEM OPERATES IS QUITE GREAT
LIKA AND WITH A SMALL RESERVE ALLOCATED BY THE PROGRAM FOR THE STACK, THIS IS
LEADING TO THE IMPOSSIBILITY OF COPYING IT THIS WAY. ALSO
tr-dos WHEN CREATING magic, IT RUNS SEVERAL BYTES OF SYSTEM PE-
BELT basic'A. FEW PEOPLE KNOW WHAT IS DESCRIBED IN THE FIRM HANDS-
VODCTVAH METHOD OF CALLING tr-dos COMMANDS FROM THE PROGRAM IN CODES.NESS-
DESPITE ITS LIMITATIONS, IT IS WORTH CONSIDERING IT IN MORE DETAIL.
A TEXT STRING IS CREATED IN MEMORY, EQ. TO THE COMMAND tr-dos, FOR EXAMPLE
THIS:
string defb 234 ;rem
defb ':'
defb 248 ;save
defm '...' ;FILE NAME
defb 13 ;enter
TO MAKE tr-dos EXECUTE THIS COMMAND, YOU MUST
DIFIFY SYSTEM VARIABLE ch-add (2 BYTES, LOCATED-
AT 23645, CONTAINS ADDRESSTHE FOLLOWING INTERPRETATION
SYMBOL) CALL THE COMMAND PROCESSING PROCEDURE AND THEN
RESTORE ORIGINAL VALUE ch-add.ADDRESS PROCEDURE tr-dos WE
WE DEnote AS addrtrdos, SINCE ITS VALUE GIVEN IN
DESCRIPTIONS tr-dos NEEDS A SEPARATE COMMENT.
ld hl,(chadd)
ld(temp),hl
ld hl,string
ld (chadd),hl
call addtrdos
ld hl,(temp)
ld (chadd),hl
ret
temp defw 0
chadd equ 23645
addtrdos equ 15619
IF YOU GOT A TR-DOS BRANDED DESCRIPTION, YOU CAN FIND IT IN IT
OTHER VALUE addtrdos-15363 ({3c03), THAT IS ADDRESS, NOT ENTERING-
INTO THE AREA OF INCLUDING THE TR-DOS ROM !!! VISIBLY, IN FIR-
IN THE MULTI CONTROLLER, THE RECORDING AREA STARTS AT ADDRESS {3c00.
INALL COMMON VERSIONS of tr-dos SAME AREA
THE STOCK ROM LOOKS LIKE THE FOLLOWING:
{3c00 rst 56
jr{3c06
{3c03 rst 56
jr{3c09
{3c08 jp {3d00
{3c09 jp {3d03
THUS THE PROCEDURE AT ADDRESS 56 IS USED FIRST
{0038 ei
ret
IN EVERYONE, THERE ARE STANDARD ROM FIRMWARE tr-dos POSSIBLE
BUT FIND THE NEXT GROUP OF CODES.
{3d2e nop
{3d2f nop
{3d30 retIT ALLOWS YOU TO ENTER tr-dos AT ANY ADDRESS, BEFORE
VARIOUSLY PLACED IN sp. AS SEEN, THE ADDRESS OF THIS GROUP OF CODES
GUARANTEES THE INCLUSION OF THE DRAMA ROM. IN ADDITION, IT IS SIGNIFICANT
ONE ENTRY POINT IN tr-dos FOR CALLING A WIDE SET OF USERS
BODILY FUNCTIONS WHICH WILL BE DISCUSSED IN THE FOLLOWING ISSUE!
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
p.p.s VOROZHKIN ALEXANDER, BAZHENOV STAS
UserTales - Spectrum memory structure and Working with Magic files.
Share your thoughts about the article