Où sommes nous ?


Sharptool's user guide

Sharptool is basically a command line tool, so it has to be launched from a terminal. Unfortunately, for the moment this interface is a bit rude as there is not fancy things implemented a la gnu's ReadLine but command can be grouped in scripts.



Emulated machines

Starting script

At startup, sharptool tries to open a file named .sharptool in your home directory : the main usage is to define a startup environment.

As example, my own file contains only :

@ ~/scripts/PC-1350

which will configure the emulator to act as a ... PC-1350. Have a look in script sub directory : it contains some scripts for supported architectures.

Sharptool understands following commands :

Help commands

? or help

help displays the list of all known commands.

PC-1350> help
sharptool V0.2 Dec 6 2010 13:05:55 commands

-- help commands --
? help man

-- memory commands --
load loadB1 peek poke disassemble dump search

-- label commands --
deflab loadlab

-- emulation commands --
call boot powerup machine trace ignore

-- misc commands --
@ echo status verbose home prompt bye exit quit


man displays the online help of a command :

PC-1350> man man
man : Gets info about a command.
man <cmd>

Memory related commands


Loads a binary file in main memory. Optionally, base address can be specified.

loadB1 is doing the same bug loads files in bank1 memory (created for PC-2500 emulation).

peek & poke

Idem as BASIC counterpart. The only difference is with poke where values are space separated.

Notez-bien : those commands ignore memory kind or protection. In other words, poke can modify ROM and peek can read lower 8k. It's expected for debugging purpose.


Disassembles the memory :

&8000		LIJ &01
&8002 LIJ &01
&8004 LIJ &01
&8006 JP &861E
&8009 JP &873C
&800C JP &85CD
&800F JP &00D5
&8012 JP &8B3A
[Clear display + '>']
&8015 JP &E301
&8018 JP &8992
&801B JP &1CBE
[Display XYZreg]
&801E JP &D59F
[system keyboard dispatcher]
&8021 JP &AA39
&8024 JP &AC41
&8027 JP &15EC
&802A JP &8891
&802D JP &888D
&8030 JP &1B8C
&8033 JP &1B62
&8036 JP &BE52
continue ?(y/n)


Dumps the memory :

PC-1350> du &8000
8000 0101010101017986:05 ' y '
8008 1E79873C7985CD79:24 ' y <y y'
8010 00D5798B3A79E301:E9 ' y :y '
8018 798992791CBE79D5:36 'y y y '
8020 9F79AA3979AC4179:AF ' y 9y Ay'
8028 15EC79889179888D:9A ' y y '
8030 791B8C791B6279BE:DA 'y y by '
8038 527988A179FACB79:69 'Ry y y'
8040 A3CC79A3D079A3D4:C4 ' y y '
8048 79A3DD79A3E17991:D4 'y y y '
8050 497990A479A4C979:E6 'Iy y y'
8058 05C07905C2790622:1F ' y y "'
8060 79062479065A7906:1D 'y $y Zy '
8068 5C79EE9579EEDF79:1D 'y y y'
8070 EED6798E34798EBA:39 ' y 4y '
8078 798E6879DE9879D5:66 'y hy y '
8080 3479DC28798FD079:D7 '4y (y y'
8088 8EEF000000000000:F6 ' '
8090 005F000000030403:69 ' _ '
8098 00227F227F22122A:A3 ' " " " *'
80A0 7F2A246264081323:FB ' *$bd #'
80A8 5022554936000007:70 'P"UI6 '
80B0 0B000041221C0000:91 ' A" '


Search some data in memory :

search <address> data


Example :

PC-1350> sea &8000 "GOTO"
Found : &A721
PC-1350> du &A721
A721 474F544FC6C1C6E5:6B 'GOTO '

Labels related


defines a new label

deflab &6C30 FixedVar


loads a label definition file. Labels files are compatible with asm tool.

Emulation related


Runs a program at the given address. The emulation will stop as soon as the called program returns. The GUI is not started.


boot up the emulated machine with GUI enabled. A full reset is assumed.


boot up the emulated machine with GUI enabled as if the machine is power up.
Note : it's mostly useful when a full memory image is loaded or if the pocket has been previously started and powered off. Otherwise, sharp ROM usually does a full reset if system's memory is not initialized.


Defines the machine type.

Without argument, displays the list of known models :

PC-1350> machine
*I* Known machines :1350 1350K 2500 2500K


Traces instructions as they are executed.


Assumes the screen is always on.

On machines where LCD is always enabled as PC-1350 or 2500, it will speed up the emulation (on real hardware the screen blink when the machine is idle in order to save the battery).

miscellaneous commands


executes a script. All commands defined in this page can be used in a script.


outputs a message.


shows the status of the emulator.

PC-1350> status
*I* ----- Current configuration ------
*I* verbose is desactivated
*I* the checksum of binary file is verified
*I* 24 lines are displayed
*I* The LCD is always ON
*I* the machine type is 1350
*I* Current home directory : '/home/laurent/projets/sharp'


enables additionnal information to be displayed.


specifies the root directory where sharptool can find files. The initial value is the current directory.


Changes command line prompt.

bye, exit or quit

exits sharptool

Emulation Generalities

Key mapping

First of all, sharptool code is not very clever up to now in term of host keyboard handling. Especially, it focus mainly my own environment and expect a full 101 key QWERTY keyboard ...
As it's a bit boring for my AZERTY machines or for laptop without numeric keypad. I'm thinking to use implement a graphical keyboard ... in preparation of poket with large keyboard as PC-1401.

Sharp's pockets use keys that don't exist on a standard PC keyboard. To bypass this issue, the following key mapping is done :

In addition following keys rise some special feature :

PC-1350 emulation

PC-1350 special key mapping

PC-2500 emulation

PC-2500 special key mapping

Visitez :
La liste de nos voyages
Nos sorties Ski et rando
Copyright Laurent Faillie 2001-2020
N'oubliez pas d'entrer le mot de passe pour voir aussi les photos perso.
Contactez moi si vous souhaitez réutiliser ces photos et pour les obtenir avec une plus grande résolution.
Visites durant les 7 derniers jours Nombre de visites au total.

Vous pouvez laissez un commentaire sur cette page.