Cybiko Wireless PDA / Game
With a small LCD screen,
keypad, and an RF link
to other units and the internet, Cybiko was a commercial
precurser^ of the One Laptop
Per Child project. Donald Wisniewski and David Yang created the Cybiko as
a portable computer for tweens (ages 10-12) and teens (ages 13-17). It was
designed to fill a niche left between the Palm Pilot and Nintendo Game boy.
It uses a Hitachi H8S
uC running a ByteCode interpreter in
a half meg each of RAM and
FLASH wtih an
Atmel AT90S2313 for io processing.
Why do we care? Because they are commonly available for pennies on the
dollar and very easy to program. For a few dollars (literally a few, as in
10ドル) and a download (or for a limited time, a CD included with each unit),
you can have a portable wireless logger / controller running your C, BASIC,
"ASM" or Logo code. User interface, file system, data link, API,
everything...
Schematics
Input/Output:
Development:
-
Cybiko SDK Pro Full on C/C++, ASM, Make,
Debug, etc...
-
Cybiko Console Terminal The backdoor to
the Cybiko
-
C2PC emulator Virtual Cybiko for your PC
-
API The Application
Program Interface is HUGE!
-
RF local area networking, remote process messaging, etc...
-
Processes, threads, syncronization,
-
3D Graphics, sprites, fonts,
-
File io, keyboard, serial port,
Languages:
-
B2C (A BASIC 2 C converter)
-
C
-
Assembler
-
CyLogo
-
CyBasic (A very limited interpreted BASIC)
-
CyBasicLite
-
Tokens
Computer magazines present information about computers in a predictable fashion.
Chances are, there is a table with processor, ROM, RAM, mass storage columns,
then some other columns, then, of course, price. Presented that way, Cybiko
computer's specifications will probably make you think were a throwback to
the old days of Personal Computers. Indeed, Cybiko computer has 512k of RAM,
512k of flash memory, a 11-MHz processor, and a 4-color LCD display with
160x100 pixel resolution. You have to understand that Cybiko computer is
not like other computers. Cybiko is a pocket-size, handheld, wireless computer.
Two-way wireless communication is built into the design. The aim of this
manual is to reveal the programming details to get you started writing
applications for Cybiko computer so you can harness its unique features.
This manual will explain what it takes to write your first "Hello, World!"
program, what it takes to get the most out of the 11-Mhz processor, and what
it takes to stuff your 1-megabyte masterpiece into our modest 512k. Hardware
specifications
Main Processor:
32 bit, 11 MHz Hitachi H8S/2246
Coprocessor:
Atmel AT90S2313, 4 MHz
RAM:
512 KB
Flash disk:
512 KB, extendible up to 1 MB
LCD display:
160x100 dots, 59x40 mm, 4 level grayscale
RF transceiver:
RF2915
Expansion cartridge slot:
68-pin
PC connection socket:
RS232 serial port
Size:
5.7" x 2.8" x 0.86"
Weight:
4.3 oz
Features and figures
If you've programmed a wide range of computers (that is, not just PCs) then
you probably can point out a counterpart of almost each and every feature
of CybikoTM computers (with the exception of the wireless connection and
the very way computers communicate). But Cybiko computer, and programming
for Cybiko computer, is unique.
Highlights include:
-
Simple and reliable wireless communication between computers. E.g., what
does it take to send a data buffer from within some application to an (probably
different) application on a different computer. It is as simple as calling
one API function. Usually, there is no need to "initialize" some API, or
to even "poll" or "enumerate" available computers; there is an easily and
instantly accessible application called Finder which monitors available Cybiko
computers in the vicinity, collects all necessary information (such as gender,
habits, etc.) about them, and even sorts them out in the order set by the
Cybiko computer owner. The reason behind this is simple: when a programmer
requests the ID of the first computer in the Finder's list, he/she gets the
ID of the computer most attractive to the owner of the local Cybiko computer!
When sending a message, you do not need to reserve a special field for the
sender ID, or invent your own way of guaranteed message delivery - all these
goodies are already there!
-
The Cybiko operating system, CyOS, uses preemptive multitasking. Applications
are, however, message-driven (much like in MS Windows), and CyOS keeps track
of the time an application spends processing each message, and may even kill
hung applications. It's important to keep in mind that there are other processes
running concurrently with yours, and they consume system resources too. CyOS
supports two types of modules: applications and dynamic libraries (compressed
archives containing these modules have .app and .dl extensions, respectively).
Both applications and dynamic libraries can export and import data and functions,
and support both early and late binding. Module resources are also accessible
to other modules via the part of the CyOS API that handles compressed archives.
-
Currently, Cybiko computer is built around the 11-MHz Hitachi H8S processor.
It's a 32-bit processor and is, in many respects, more like the Motorola
68k than the Intel 80386. Importantly, it works in BE (Big-Endian) byte order
mode and its register and instruction sets also bear some resemblance to
those of the 68k. Although addressing is essentially 32-bit, actual address
space is 24-bit, like in early 68k models. Since development is being done
on PCs (and this is where most data files are being prepared also), you do
have to take BE endianness into account. Moreover, this is not the only challenge
- the H8S is physically unable to address a word located at an odd address.
-
As for processor performance, I would say you have more power than a 11-MHz
80386. Perhaps much more power. The key is instruction timing. While tinkering
with an application, we were trying (really hard) to rework a little piece
of code that used division (the infamous CPU time consumer). We did not succeed
and, before giving up, looked at the H8S manual to see what would be the
price of our failure good heavens, only 12 cycles! We could not believe it
since that was the timing we were accustomed to with the 8-bit bus (more
on this a bit later). The Hitachi's instruction timing is excellent: almost
all arithmetic instructions take 1 cycle, multiplication 3 or 4, and division
12 or 20 cycles. Note that almost all instructions take 1 cycle longer if
operating upon signed operands. Accessing data stored in RAM implies an overhead
(more on this below).
-
On the other hand, there is no such thing as 32-bit multiplication or division;
the constraints are the same as with Intel 8086 and 80286 processors, i.e.
you can have a 32-bit product (but not multiplier), or use a 32-bit dividend
(but not divisor). Of course, in C/C++ code, you may do whatever you want,
but the compiler could then unroll some particularly optimistic operators
into sequences of 16-bit multiplications or divisions. The H8S has eight
32-bit General Registers, also accessible as either 16 16-bit, or 16 8-bit
registers. 32-bit registers can be used as either data or address registers.
Finally, the heart of the SDK is its C compiler, capable of producing very
tight, and quite effective, code. The unique feature of the underlying virtual
machine is its ability to operate upon registers (vs. "top of stack" for
virtually any other vm, including that of JavaTM); this adds significant
gain to overall performance. You may learn more about the Cybiko bytecode
interpreter, as well as about the C compiler (that produces respectable code),
in other sections of the manual.
Since cybiko changed mail servers, the Virtual cywig software hasnt been
working. trying to insert the new server address will bring no joy as it
is 1 letter too long for the box. There is a way to get round this. All you
need is the IP for the new cybikomail server (cybiko-web.cybikomail.com)
which has been 213.248.62.124
All you have to do with this is load cywig (xtreme or classic), once its
loaded right click the taskbar icon, and click connection settings. Delete
the mail1.cybiko.com text and replace it with the IP address of the new server.
Quit and reload virtual cywig, and it will be working fine!
To go into suspend mode in the old version cybikos, hold fn and the escape
key.
To mute your cybiko without going to the system options, hold fn and the
desktop button at the top.
fn and the application button at the top, turns on/off the alarm.
fn and the communication button at the top turn of/off the vibration.
pressing a on the desktop shows how much battery you have left
pressing h on the desktop, tells you the system information
To make sure people can view your profile, cypage, and business card; make
sure there is a eyeball in front of each section. To change it, keep moving
to the left. An X means it invisible.
To reload the firmware in the Cybiko and reset it to default, use
AutoUpdate.exe the last version
is 1.3.57 for USA.
See also:
file: /Techref/cybiko.htm,
12KB, , updated: 2008年6月24日 18:48, local time: 2025年9月7日 01:09,
©2025 These pages are served without commercial sponsorship. (No popup ads, etc...).Bandwidth abuse increases hosting cost forcing sponsorship or shutdown. This server aggressively defends against automated copying for any reason including offline viewing, duplication, etc... Please respect this requirement and DO NOT RIP THIS SITE.
Questions?<A HREF="http://massmind.org/techref/cybiko.htm"> Cybiko, Wireless PDA, Portable Game Console</A>
Did you find what you needed?
Welcome to massmind.org!
Welcome to massmind.org!
.