How to use the Game Pokekon demo

General:

When the demo starts up, the little Pokekon system below will warp on-screen and a wiggly scrolltext will scroll by. Press any action button to skip ahead to the main menu. From here, you can select any of the 7 little programs (or return to the intro) by pressing up or down on the control pad, and hitting Start / another action button. Generally, the Start button in any program executes a function, while Select exits. Meanwhile, buttons 1/2/3/4 increase or decrease values. Play around with these controls in the next part and you'll see.

Function 1: A Memory Editor

This program lets you view memory inside the Pokekon 24 bytes at a time. You can even edit the values of RAM from $C000-$C7FF and $FF80-$FFFF. But watch out about editing memory in this latter memory range; a lot of these are important locations for the BIOS and altering some of them can cause a crash.

You can move the cursor around the memory contents and through the address range on the left side. Pressing 1/3 decreases or increases the high digit of the number under the cursor, and 2/4 does the same for the low digit. Finally, pressing Start will dump the contents beginning at the top displayed address to the screen. This is one way that you can watch RAM contents changing in real-time, or look at graphics/fonts stored in the ROMs.

Function 2: A Program Editor (Machine Code Monitor)

This program (and the music editor) shares the same basic controls as the memory editor, except it displays the u78c06 CPU opcode (mnemonic) for whatever instruction the cursor is on. To use this function properly, it's best to read up on the Pokekon's tech specs and 78c06 machine language, then enter in your own programs. I've set aside some RAM from $C500 in which to place program code, or edit what is already there.

For example, at $C500, I've put in the following short program:

C500:       LXI H,C50C             ;POINT TO "HELLO WORLD"
C503:       CALT B_PtText          ;PRINT TEXT
C504:       DB 03,01CH,09CH        ;TEXT POSITIONING DATA
C507:       CALT B_ScInvert        ;CHANGE WHITE<->BLACK
C508:       NOP
C509:       NOP
C50A:       NOP
C50B:       RET

C50C:       DB 'H'-20H,'E'-20H,'L'-20H,'L'-20H,'O'-20H,','-20H
            DB 'W'-20H,'O'-20H,'R'-20H,'L'-20H,'D'-20H,'!'-20H

Which displays a text string on-screen, as seen above, when the Start button is pressed. Be careful when executing code, since this function can easily crash the machine if the cursor is pointed at invalid code. Code that you enter should terminate with a RET ($08) instruction, lest the program run on forever and crash into random data. When the program exits properly, the contents of the CPU registers on exit will be displayed on-screen. This is one way of getting familiar with the slightly weird u78 instructions and the effect they have on registers.

Function 3: A Music Editor

This program will play musical sequences defined by pairs of bytes that you can edit from $C600 in RAM. Each pair defines the pitch of the note (first byte) and its duration (second byte.) Valid pitches range from 00 (silence) to 25 hex. The note's volume will always be the same, so there is no complex envelope or polyphony that you can do here. This is just a beeper, after all. Music sequences must be terminated by $FF.

Function 4: A Slideshow

This program just automatically cycles between four different greyscale pictures. It flicks between two black & white images at a high speed, giving the impression of an extra shade of grey on the Pokekon's LCD screen.

Function 5: A Game

It's a game! Well, that's not 100% true, but it gives an introductory simulation of a game-like engine, with a title screen, scrolling, and a little running character. Press Start at the title screen to get in-game, and Select at any point to quit.

Function 6: A Mini-Grapher

This program will evaluate the mathematical expression shown at the bottom of the screen and graph it. It runs fast enough, but don't expect it to be extremely accurate or flexible. It's just for looking at some pretty curves.

You can change the values in the formula according to the following keypresses:

1
3
Left
2
4
Right
Start
Up / Down
Y=
+/-/.
0-9
X
^1-4
+/-/.
0-9
X
^1-4
+/-
99
Sign and decimal point
1st Factor
Exponent
Sign and decimal point
2nd Factor
Exponent
Sign
Constant

The factor scales the Y-value of the result linearly, obviously, but when the factor has a decimal point before it, it isn't exactly linear. It's more of a logarithmic scale. I did it this way so that exponential functions could be better scaled down to show up on the screen. Play with it to figure it all out..

Function 7: A Notepad and Scroller

This is the last of the major programs in my demo. It does what it says: it gives you a single-screen notepad to enter text on, and with a press of the Start button, it will scroll the text you entered onscreen with a big, blocky scroller. In the notepad, as with the memory editor, the 2/4 buttons change the character under the cursor by 1, and the 1/3 buttons change the character by 16. Pressing 1 then 2 will clear one line of text in the notepad, making it easier to enter a fresh line of text.

When in the scroller, pressing Left or Right will speed up or slow down the text scroll. A final note: the scroller will wrap when it has printed the last character at the bottom of the notepad screen. If you want to have it wrap earlier, then set a "terminator" character of $FF (seen as a box after the "WINDOWS..." text in the right-hand picture below) by going to a blank (space) and pressing the 2 button.

That's about it! This demo doesn't do much besides give you a taste of the capabilities of the Pokekon, but for a first-ever demo on this system, it's not bad, is it? Don't be afraid to poke around all the functions, pressing different buttons to see what happens, and poking around in RAM to see what's there. Almost all sections of this demo have little hidden extras for you to find, so have fun looking for them!