
RAM cards or is using two banks (0 and 1) because it is larger than this area. The area before 32768 belongs to the system. There is the display, the
ROM and some
ports.
mapped).
BASIC line begins at 32817, 41009, 49201 and 57393 (for 8kB card). You can edit this position and make room for data. The memory locations 65495 and 65496 contain this position: PEEK 65495+256* PEEK 65496 = start address. At this
address there must be a
byte with the value 255, then the first line follows.
pointer at 65497 and 65498 (you can read this value at: 10302,10303 and 10558,10559 and 32777,32778, too. These locations are protected by the system.)
3
bytes (x,y,z), data, return (Chr 13)
x,y: line number = x*256+y
z: length of data (return included)
End of program Chr (255)
The byte 254 in data of a line means a command which is defined by the following byte.
7 bytes (a,b,c,d,e,f,g), Data
In 65502*256+65501 the start address of the
variables is stored.
The last position where variables are stored: 63951
Variables are written from behind, this means that a new variable is written before the older variables. The start address points to the
header of the newest variable.
You can rename variables using POKE!
7 bytes lengthy
Example: Bytes are named a-g
G$(5,5)*3
a: 71 = G: variable name
b: 160 =
String
c: 0 = 1.Byte * 256
d: 111 = + 2.Byte = Overall length + 3 (because of following DIM values)
e: 5 = Dim 5
f: 5 = , 5
g: 3 = * 3
DATA:71= 1. character data
1-26 = String
array, 2 character name with second character = Chr (Byte+64)
193-218 = Number array, 2 character name with second char = Chr (Byte-128)
129-154 = String, 2 character name [Chr (Byte-64)] variable (like NE$="test") always 16 bytes lengthy
65-90 = Number, 2 character name [Chr (Byte)] (like AA=0) always 8 byte lengthy
128: One character name number array
160: One character name string array
Strings contain each character as a byte in
ASCII code, Chr(0) is the end of a string. The Chr(0) is not used when the text is as long as the variable is dimensioned.
Numbers are stored in the
BCD format. Each number needs 7 bytes.
In an
array the single variables are following without any divider character. The position of such a variable is calculated using the
header data.
In a twodimensional array the arrays are following in a similar way: DIM B$(1,2)*1: B$(0,0) B$(0,1) B$(0,2) B$(1,0) B$(1,1) B$(1,2).
There are 24 characters in two lines, each character has 5*7 pixel and needs 5 bytes. The first bit is the most upper pixel bit 6 the lowest.
![]() |
SHARP POCKET COMPUTER PC-1475
|
The symbols BATT, (), HYP, RSV, PRO, RUN and CAL are controlled in byte 10300 or 10556:
Bit | Symbol |
|---|---|
| 0 | BATT |
| 1 | () |
| 2 | HYP |
| 3 | RSV |
| 4 | PRO |
| 5 | RUN |
| 6 | CAL |
| 7 | - |
Bit | Symbol |
|---|---|
| 0 | BUSY |
| 1 | DEF |
| 2 | SHIFT |
| 3 | DBL |
| 4 | - |
| 5 | - |
| 6 | - |
| 7 | - |
Bit | Symbol |
|---|---|
| 0 | E |
| 1 | M |
| 2 | RAD |
| 3 | G |
| 4 | MATRIX |
| 5 | STAT |
| 6 | |
| 7 | - |
Bit | Symbol |
|---|---|
| 0 | µt (jap. symbols) |
| 1 | /|\ (jap. symbol) |
| 2 | SML |
| 3 | DE |
| 4 | - |
| 5 | - |
| 6 | - |
| 7 | - |

| - | System variables (each 8 bytes long):
variable is CHR 245 when containing a string or CHR 0 when containing a number. If the string is shorter than 7 characters, a Chr(0) is added at the end! | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| - | Reserve mode data: 65343:A:first reserve entry, Chr (alphabetical number) marks beginning (A=1,S=19,D=4,...,' '=27,'='=28), then data without any ending code. Example: [1,254,34],[19,...],...Order:ASDFGHJKL'='' 'MNBVCXZ, empty entries are not stored (not even the start code 1-28!) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| - | System addresses:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| - | The ROM:
The PC-1475 has a ROM, which contains the operating system.
The ROM of the CPU is at &0000 to &1FFF, the banks are at &4000 to &7FFF.
You can change the bank writing the according number (0..7) at the address &3400. If you know the system calls you can use functions of the system! |