Re: LZ: ZShell 4.5


[Prev][Next][Index][Thread]

Re: LZ: ZShell 4.5



I do.  Here:
------------
Add $1B to the ROM 9.0 ROM_CALL address to get the ROM 10.0 ROM_CALL 
address.
(nnnn)    denotes a memory address, nnnn, in page 0 of the ROM.
(xnnnn)   denotes a memory address, nnnn, in page x of the ROM.
->        denotes a pointer rather than a normal value.
set n,rr  in an input field, indicates that bit n of register (or 
memory
          location) rr is to be set before the call.
          in a result field, indicates that bit n of rr is set as a 
result
          of the call.
res n,rr  in an input field, indicates that bit n of register (or 
memory
          location) rr is to be clear before the call.
          in a result field, indicates that bit n of rr is clear as a 
result
          of the call.
All numbers are in hexadecimal except where noted with (d).


---- 3.0a: CALL 3BE6 (JP 1710F) ---- Save text mode parameters in 
secondary area --
---- 9.0:  CALL 3BAB ----
Input:  Nothing


Result: (8187) = (800C)         ; cursor row
        (8188) = (800D)         ; cursor column
        (8189) = (8B2F)     ; screen scroll start
        (818A) = (8358)
        (818B) = (834B) AND 10h


Note: This function has not been tested.


---- 3.0a: CALL 3BFE (171A1) ---- Move top right corner of LCD to 
bitmap at (8078)
---- 9.0:  CALL 3BC3 ----
Input:  set 1,(IY+12h): don't move bytes
        res 1,(IY+12h): move bytes


Result: 8 bytes are moved from the top right corner of the LCD to 
(8078).
        set 1,(IY+12h)


Note: This function has not been tested in ROM version 9 or 10.


---- 3.0a: CALL 3C04 (171C8) ---- Move bitmap at (8078) to top right 
corner of LCD
---- 9.0:  CALL 3BC8 ----
Input:  set 1,(IY+12h): move bytes
        res 1,(IY+12h): don't move bytes


Result: 8 bytes are moved from (8078) to the top right corner of the 
LCD.
        res 1,(IY+12h)


Note: This function has not been tested in ROM version 9 or 10.


---- 3.0a: CALL 3C88 (46825) ---- Copy graph memory (8641) to LCD 
memory (FC00) ---
---- 9.0:  CALL 3C5F ----
Input:  (8B30) = 7 : copy 7 lines
               > 7 : copy 8 lines
               < 7 : copy 6 lines


Result: A = (8B30)
        BC = 0
        HL and DE are modified
        set 2, (IY+2)


Note: This function has not been tested in ROM version 9 or 10.


---- 3.0a: CALL 3D8A (170FA) ---- Store text parameters and screen in 
buffer2 -----
---- 9.0:  CALL 3D61 ----
Input:  Nothing


Result: 168 bytes are moved from 80DF to 8A6B.  ; text buffer
        (8187) = (800C)         ; cursor row
        (8188) = (800D)         ; cursor column
        (8189) = (8B2F)     ; screen scroll start
        (818A) = (8358)
        (818B) = (834B) AND 16


Note: This function has not been tested.


---- 3.0a: CALL 3DA8 (65376) ---- Display heading --------------------
-------------
---- 9.0:  CALL 3D7F ----
Input:  HL -> ASCIIZ string


Result: String is printed at (0,0) (via 3E68) and the rest of the top 
row of
        the screen is cleared.
        DE = 0


Note: this function has not been tested.


---- 3.0a: CALL 3DAE (146B8) ---- Display menu indexed by A ----------
-------------
---- 9.0:  CALL 3D85 ----
Input:  A = menu to display


Result: The menu is printed on the bottom line of the screen.


Menu Numbers
------------
00 CHAR
01 CHAR MISC
02 CHAR GREEK
03 CHAR INTL
04 MATH
05 MATH NUM
06 MATH PROB
07 MATH ANGLE
08 MATH HYP
09 MATH MISC
0A PRGM EDIT MATH
0B CALC
0C BASE
0D BASE B-F
0E BASE TYPE
0F BASE CONV
10 BASE BOOL
11 BASE BIT
12 LIST
13 LIST OPS
14 PRGM EDIT LIST
15 TEST
16 CPLX
17 STRNG
18 CONS
19 CONS BLTIN
1A CONS USER
1B PRGM EDIT CONS
1C VECTR
1D VECTR NAMES
1E VECTR MATH
1F VECTR OPS
20 PRGM EDIT VECTR
21 MATRX
22 MATRX EDIT
23 MATRX NAMES
24 MATRX MATH
25 MATRX OPS
26 MATRX CPLX and VECTR CPLX
27 PRGM EDIT MATRX
28 PRGM
29 PRGM NAMES
2A PRGM EDIT (name selection)
2B PRGM EDIT (editor)
2C PRGM EDIT I/O
2D PRGM EDIT CTL
2E PRGM EDIT GRAPH
2F PRGM EDIT GRAPH VARS
30 PRGM EDIT GRAPH RANGE
31 PRGM EDIT GRAPH ZOOM
32 PRGM EDIT GRAPH MATH
33 PRGM EDIT GRAPH DRAW
34 STAT
35 STAT (without VARS)
36 LIST NAMES and STAT EDIT (name selection)
37 STAT CALC
38 STAT EDIT (editor)
39 STAT VARS
3A STAT DRAW
3B PRGM EDIT STAT
3C PRGM EDIT STAT CALC
3D PRGM EDIT STAT DRAW
3E VARS
3F PAGEUP/PAGEDN (found in many places)
40 MEM DELET
41 GRAPH (func)
42 GRAPH ZOOM (all modes)
43 GRAPH MATH (func)
44 GRAPH DRAW (func)
45 GRAPH (pol)
46 GRAPH MATH (pol)
47 GRAPH DRAW (pol)
48 GRAPH (param)
49 GRAPH MATH (param)
4A GRAPH (difeq)
4B GRAPH DRAW (param, difeq)
4C GRAPH AXES (difeq)
4D nothing
4E POLY
4F POLY SOLVE
50 GOTO/QUIT (error)
51 QUIT (error)
52 SIMULT
53 SIMULT SOLVE
54 y(x)=
55 r(é)=
56 E(t)=
57 Q'(t)=
58 VECTR EDIT and LIST EDIT
59 ? SOLVE
5A LIST NAMES
5B CONS EDIT
5C LINK
5D LINK SEND (choose type)
5E LINK SEND ... (choose items)
5F LINK SEND BACKUP
60 LINK RECV backup
61 LINK RECV duplicate
62 ? EXIT
63 ? SKIP/EXIT
64 SOLVER (equation names)
65 SOLVER
66 SOLVER GRAPH
67 SOLVER ZOOM
68 ? (grpah|edit|zoom|trace|    )
69 GRAPH STPIC or RCPIC (PIC names)
6A GRAPH STGDB or RCGDB (GDB names)
6B MEM
6C MEM RESET (choose type)
6D MEM RESET ... (yes|no)
6E CONV
6F CONV LNGTH
70 CONV AREA
71 CONV VOL
72 CONV TIME
73 CONV TEMP
74 CONV MASS
75 CONV FORCE
76 CONV PRESS
77 CONV ENRGY
78 CONV POWER
79 CONV SPEED
7A CATALOG
7B CUSTOM
7C TOLER


---- 3.0a: CALL 3DB4 (16F3D) ---- Clear screen window ----------------
-------------
---- 9.0:  CALL 3D8B ----
Input:  (8B2F) = top row of window
        (8B30) = bottom row of window
        set 1,(IY+0D): alter text memory
        res 1,(IY+0D): don't alter text memory


Result: The screen window is cleared, the cursor is set to the top 
left
        corner of the window, and the top 7 bits of (IY+12h) are 
cleared.


Note: this function has not been tested.


---- 3.0a: CALL 3DEA (16F8E) ---- Clear to end of line ---------------
-------------
---- 9.0:  CALL 3DC1 ----
Input: (800C), (800D) = cursor coordinates


Result: Spaces are printed from the cursor to the end of the line.
        The cursor position does not change.


Note: this function has not been tested.


---- 3.0a: CALL 3E0E (37D69) ---- *** FAIL ---------------------------
-------------
---- 9.0:  CALL 3DE5 ----
Input:  HL = string to print in front of "FAIL"


Result: The string at HL is printed on the screen followed by "FAIL"
        The memory is cleared and the defaults are set.


Note: This function has not been tested.


---- 3.0a: CALL 3E6E (16FD0) ---- Set cursor row to top of scrolling 
window -------
---- 9.0:  CALL 3E4B ----
Input:  Nothing


Result: (800C) = (8B2F)     ; screen scroll start
        (800D) = 00


Note: This function has not been tested.


---- 3.0a: CALL 3E86 (37B2A) ---- Set random number seed to factory 
default -------
---- 9.0:  CALL 3E63 ----
Input:  Nothing


Result: Same as storing 0 into the "rand" variable.
----
Good Luck!  ;)
BTW:  FIND_PIXEL is at $6C9A in ROM 3.0a and at $6B6D in ROM 9.0.
------
>Does anyone have a table of the addresses all the
>rom-calls used in zshell programs for  all the roms,
>but more importantly rom 10? Im thinking about
>taking a shot at writing a shell. (No recompilation of
>programs needed)


____
~Keith
FFNP69C@PRODIGY.COM


References: