DOS Workspace
Dragon Memory Map
1024-1535 ($400-$5FF) Text screen memory
1536-3071 ($600-$BFF) Graphics Page 1
or
DragonDOS systems workspace:
this for DosPlus 4.9
Dec Hex Description
1536-1540 600-604 Temporary storage
1541 605 Count until motor off
(20ms IRQ)
1542 606 Side select/head load
timing delay
1543 607 Copy of drive select
latch
1544 608 Verify flag:
0=on
1545 609 Not used
1546 60A Default drive number
1547:1548 60B:60C Address of FWRITE
buffer
1549:1550 60D:60E Current line number
for AUTO
1551:1552 60F:610 Current increment
for AUTO
1553 611 RUN/LOAD flag
1554 612 FREAD/FLREAD flag
1555 613 AUTO flag
0=off,FF=on
1556 614 ERROR trap flag
0=off,FF=on
1557:1558 615:616 ERROR destination line
1559:1560 617:618 ERL value
1561 619 ERR value
1562:1563 61A:61B Address of statement
in error
1564-1569 61C-621 Drive 1 details:
1564:1565 61C:61D -absolute sector
containing first
directory sector on
current disk
1566 61E -number of sectors
allocated but not
used
1567:1568 61F:620 -first absolute
sector in free
block
1568 621 -number of files
open on drive 1
1570-1575 622-627 Drive 2 details
1576-1581 628-62D Drive 3 details
1582-1587 62E-633 Drive 4 details
1588-1594 634-63A Disc buffer 1 details
1588:1589 634:635 -absolute sector in
buffer
1590 636 -flag:
0=not in use
$19=locked
>$80=modified,write
before re-use
1591 637 -drive number
containing sector
1592 638 -buffer allocation
number:
1=first allocated
1593:1594 639:63A -buffer address
1595-1601 63B-641 Disc buffer 2 details
1602-1608 642-648 Disc buffer 3 details
1609-1615 649-64F Disc buffer 4 details
1616-1666 650-682 Current drive
information
1667-1686 683-696 USR vector table
(moved from $134 with
addition of disk stubs)
1687 697 Access flag,
0=disk not accessed
drive 1
1688 698 drive 2
1689 699 drive 3
1690 69A drive 4
1691 69B Head position(track
number)
drive 1
1692 69C drive 2
1693 69D drive 3
1694 69E drive 4
1695 69F Drive step rate:
0=6ms,1=12ms,2=20ms
3=30ms
default=20ms
drive 1
1696 6A0 drive 2
1697 6A1 drive 3
1698 6A2 drive 4
1699 6A3 Number of tracks on
drive 1 (from
directory)
1700 6A4 drive 2
1701 6A5 drive 3
1702 6A6 drive 4
1703 6A7 Number of sectors per
track(from directory)
drive 1
1704 6A8 drive 2
1705 6A9 drive 3
1706 6AA drive 4
1707 6AB Density select:
0=double density
8=single density
drive 1
1708 6AC drive 2
1709 6AD drive 3
1710 6AE drive 4
1711 6AF Number of sectors per
side per track
drive 1
1712 6B0 drive 2
1713 6B1 drive 3
1714 6B2 drive 4
1715-1724 6B3-6BD Workspace(16K only)
1725-2034 6BD-7F3 10 file control blocks
of 31 bytes:
structured as follows
0-7 0-7 -filename
byte 0=0 file
not in use
8-10 8-A -file extension
11 B -drive number
12-14 C-E -read pointer
15 F -file attributes
16-18 10-12 -write pointer
(last byte written)
19-23 13-17 -file block details
(1)
19:20 13:14 -number of sectors
in file before
block
21:22 15:16 -absolute sector
at start of block
23 17 -number of
consecutive
sectors in block
24-28 18-1C -file block details
(2)
24:25 18:19 -no. of sectors..
26:27 1A:1B -abs.sector....
28 1C -no.of cons sect.
29 1D -master directory
entry record no.
30 1E -current
continuation
directory entry
record number
2035 7F3 Cassette mode flag
(CMFLG) are EOF
chars to be sent
0=no,1-10=yes for
stream spec.,11=yes
for all (def.=0)
2036 7F4 Scroll speed control
(16K only)
2037 7F5 EOF return value:
0=return a -1
254=return a +1
(def.=0) DDOS 1.0
usses 254 mode
2038-2047 7F6-7FF Workspace(16K only)
2048-3071 800-BFF 4 disc buffers of
256 bytes each