SCHIP Play Interpreter

8

nathanielbabiak 2021-12-13 05:15 (Edited)

This is a 1990's super chip-8 interpreter for LowRes NX. Each pre-loaded ROM game has gamepad controls pre-mapped (as well as the chip8 emulation quirks).

There's two versions, the other available here. But this version allows simultaneous inputs (required for most of the pre-loaded games) using only the LowRes NX gamepad inputs (limited to arrows+A+B+pause). When you pause, you can tap 'M' to enter the menu, which is naviaged with arrow keys, WASD, and Enter (tap 'M' again to return). A portion of the menu allows you to revise the pre-mapped controls with these associations:

For many chip-8 games, after you die or the game ends, you'll have to restart the game by pausing, entering the menu, and reloading the game. (Most games don't return to the title screen automatically.)

This can also run John Earnest's Octo cartridges up to 14.5 kB. Just make sure, within Octo > Options > Compatibility, that the box is checked to "clip sprites at screen edges instead of wrapping". (I haven't implemented Octo's unique pixel wrapping quirk.) I didn't include any of John's cartridges because they're not 30 to 40 years old (unlike the pre-loaded ROMs I did include), and I'm not sure how happy he'd be about that, but you could run them here regardless.

I was motivated to make this because of this upload, although this upload did 1977's chip-8 first.

schip 2021-12-13.nx | Open in app
2021-12-13 05:15

was8bit 2021-12-13 05:21

Wow!


was8bit 2021-12-13 18:05

Cool :)


nathanielbabiak 2021-12-14 04:12 (Edited)

Using the menu, each of the cartridges can be shown with a different color scheme for the monochrome display's foreground and background. When loading, each game initializes to light-gray on black, but if anybody posts colors they like for a particular game, I'll update that game to load those colors instead.


was8bit 2021-12-14 12:00 (Edited)

... i cant seem to figure out how to get either of these to work.... do they require a computer keypad or something... i am using an ipad and cant get anything to work :/ maybe im just too tired or somthing...


was8bit 2021-12-14 12:14

Looking at the code, you seem to be using ASCII 17,18,19,20 for input for using the menu, but this doesnt correlate with lowres's keyboard ascii codes....


was8bit 2021-12-14 15:04 (Edited)

When i open up chip_play, the ant game loads, the gamepad controls appear, and i can play it just fine... except after i die, and the game turns blank and becomes unresponsive....


Now, the following is true independent of whether the game is newly loaded, or ended an unresponsive...

If i hit PAUSE the screen shows "menu" in the top left, the gamepad controls disappear, and the keypad appears...

if then i hit the ENTER key, the keypad and "MENU" disappears, and gamepad reappears..


Now, while "MENU" is showing, gamepad controls are gone, and keypad is showing, i can tap on the keypad "M" and this toggles between showing the menu, and showing the game... but in either state the "MENU" is still in the upper left corner, the keypad is showing, and the gamepad controls are still not available.. and when the full menu is showing, i try ALL of the other keypad keys, and nothing happens... BTW, the keypad is NOT a full keyboard, it doesnt have arror keys or a number pad...


nathanielbabiak 2021-12-14 15:11

Wait the iPad on-screen keyboard doesn't allow arrow keys!?!? Crap! I'll need to change the keys for that then...


was8bit 2021-12-14 15:14 (Edited)

This little test on my ipad

FOR I=0 TO 255
PRINT STR$(I)+": "+CHR$(I)
NEXT I
PRINT
KEYBOARD ON
DO
K$=INKEY$
IF K$<>""THEN PRINT STR$(ASC(K$))
LOOP

Yields...


Keypad input for ipad is limited to
Characters: 32 thru 95
Controls:
8 = delete or backup
10 = return or enter
Of course, spacebar is 32


was8bit 2021-12-14 15:19

Oh, i LOVE the little games... i call them "micro games"... and i am perfectly fine with turning something off and on to replay, for me its not a big deal.. was just being thourough in my response :)


was8bit 2021-12-14 15:22

Now, TOUCH controls, ive discovered, stil work when the keypad is still on ;) although that would break from the spirit of these micro games...


nathanielbabiak 2021-12-14 16:07

So for now (until I can revise a few things to make this friendly to on-screen keyboards), you can still play all the games, but you'll need to revise the source code:

Go into SUB MAIN, and adjust E_MENU_LD_ROM = 6 to any value 4 through 14.

The games are listed in the topic description.


was8bit 2021-12-14 16:10

Oh cool, that was the code i was looking for and couldnt find... thanks :D

In my opinion, having to go into code to edit values to get different gaming expeirence is kinda like having access to cheats... for me it makes it more fun ;)


was8bit 2021-12-14 17:50 (Edited)

This is a fun fix :)

E_MENU_LD_ROM = RND(10)+4

I can play all the games now :)


nathanielbabiak 2021-12-14 21:10 (Edited)

Today's upload allows our friends using on-screen keyboards to navigate the menu with WASD! (I had no idea the on-screen keyboard didn't have arrow keys - oops!) The arrow keys still work too, for folks with keyboards.


was8bit 2021-12-14 21:30 (Edited)

Your fix works great :) it took a second to figure out how to use the menu, but i picked it up rather quick :)

The games are great :) thanks so much for making and sharing :)


Log in to reply.