• Hey Guest. Check out your NeoGAF Wrapped 2025 results here!

Petit Computer (BASIC Programming Software) Coming to the DSi/3DS eShop in NA

OMG that's amazing. I need to learn how to program in Befunge now.
Too many instructions to learn, Brainfuck is better. This is what "Hello World" would look like:

Code:
++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.
More readable with comments:

Code:
+++++ +++++             initialize counter (cell #0) to 10
[                       use loop to set the next four cells to 70/100/30/10
    > +++++ ++              add  7 to cell #1
    > +++++ +++++           add 10 to cell #2 
    > +++                   add  3 to cell #3
    > +                     add  1 to cell #4
    <<<< -                  decrement counter (cell #0)
]                   
> ++ .                  print 'H'
> + .                   print 'e'
+++++ ++ .              print 'l'
.                       print 'l'
+++ .                   print 'o'
> ++ .                  print ' '
<< +++++ +++++ +++++ .  print 'W'
> .                     print 'o'
+++ .                   print 'r'
----- - .               print 'l'
----- --- .             print 'd'
> + .                   print '!'
> .                     print '\n'
 
Must be a pain in the ass to write code using a stylus. Maybe using two fingertip styluses would work better.
 
I don't know know much about programming but I will probably buy this as an introduction. It'll be cool to see what others have made with it too.
 
Grew up with BASIC so I'm all over this. Learned it on the Spectrum when I was a child, and then onto Amos on the Amiga.

Hope it comes to Europe...
 
More info available at the Official Site.

looking at the official site this looks like it's just a DSiware title, of course you can also use it on a 3DS... but I hope they make a native 3DS version too, if only to take advantage of the 3DS's increased resolution.

Also, anyone familiar with the Japanese version PuchiCon know what the size limit is... or how large of a game can be converted to a QR code?
 
Saving and sharing your programs sounds pretty sweet. Writing code on a touchscreen with a stylus...not so much. Still probably won't be able to resist buying it though.

Thats what i was thinking as well.... its going to be a pain to type the code in.. unless the interface is custom or something...

Had alot of fun with Basic during highschool, write dumb progrmas, a friend f mine even made a simple text RPG... good times
 
Count me in

TheCount.jpg
 
Saving and sharing your programs sounds pretty sweet. Writing code on a touchscreen with a stylus...not so much. Still probably won't be able to resist buying it though.

The DS does have a keyboard. Wonder if this is compatible with it?

Battle & Get! Pokémon Typing DS (Japanese title)

It was released April 21, 2011. On June 22, 2012, Nintendo of Europe announced the software would launch in Europe in September 2012.

Learn with Pokémon: Typing Adventure (European title)

8weR7.jpg

N5ovS.jpg

EDIT - Probably not, it seems the bluetooth chip is built into the cartridge.
 
It did not support functions. All it had was GOTO. I ended up becoming sorely disappointed when I learned other languages didn't support GOTO or highly discouraged it. Haha. I still am a little. :p
Technically you were supposed to use GOSUB/RETURN for functions and kludge up some naming convention for handling return values and parameters since all your variables were global.

The flavor of BASIC I learned required that every line to be numbered and renumbering lines was such a PITA, so it was necessary to pick an increment like multiples of 10 so that it was possible to squeeze in more code. It blew my mind when my father told me that the line numbering crap wasn't necessary in Pascal, lol.
 
Are they going to release those magazines that have BASIC programs all typed out inside and you input it all manually and in the end it doesn't work anyway? I coveted those as a kid.

I remember getting so excited about a BASIC book I checked out from the school library. This long-ass program was supposed to input daily weather data, and then make weather predictions based upon that input.

Didn't work even a little bit.
 
I remember getting so excited about a BASIC book I checked out from the school library. This long-ass program was supposed to input daily weather data, and then make weather predictions based upon that input.

Didn't work even a little bit.
I'm not sure what book that was, but here is a link to a classic. IIRC it had the infamous Star Trek tactical war game that was roughly a bazillion pages:
http://www.digibarn.com/collections/books/basicgames/
 
After this thread gave me a nostalgia rush I decided to undust my Atari 800XL. Fortunately the keyboard and all the connectors were there, it was just a matter of hooking it up.

O3pN6l.jpg


Now, it's been over a decade since the last time I tried this, so I was fully expecting the thing to not even turn on.

tmZJXl.jpg


Holy crap, the thing actually works. Picture's a little fuzzy due to the wires being a little loose, but everything else works fine. I remember loading games using a cassette tape player that took forever to load (although back then it was normal). I might try out some games soon.

Oh, and I also found the BASIC guide I had.

FBz3tl.jpg


I also had a big book of programs coded in BASIC, but couldn't find it. Hope it's in there somewhere.
 
http://www2.u-netsurf.ne.jp/~ozawa/startrek/startrek.html
http://www2.u-netsurf.ne.jp/~ozawa/startrek/GN_TRK03/trek-0.3.html

This fellow has translated one of the classic BASIC Star Trek games over to Petit Computer, but (more interestingly) has provided the binary PTC file, source code generated from the PTC file, and two sets of QR codes -- one from the PetitComputer site, and one generated from what sounds like a custom JavaScript convertor.

This is interesting as it sounds as though:

1) We can exchange PTC files on the internet.
2) It -might- be possible to write an entire BASIC program on your computer in a text editor and then convert it to binary or QR code. Maybe.

The second point seems iffy, but ...
 
2) It -might- be possible to write an entire BASIC program on your computer in a text editor and then convert it to binary or QR code. Maybe.

The second point seems iffy, but ...

That sure would be helpful if it's true. Typing out code on a touch screen sounds pretty rough.
 
That sure would be helpful if it's true. Typing out code on a touch screen sounds pretty rough.

When you type the first letter of a command, a list of commands starting with that letter show up and you can just click the right one. But it'd still probably be easier if we could use the computer.

The official english site updated, it now contains source code for the sample programs if you want to look through them. Seems pretty straightforward BASIC.
 
When you type the first letter of a command, a list of commands starting with that letter show up and you can just click the right one. But it'd still probably be easier if we could use the computer.

Someone needs to make a PTC -> Text convertor.
 
I ran some tweets through Google Translate and it sounds like Japanese programs will be fully compatible with our version of the program, and vice versa.
 
Prolog! I'd rather this be Java or C#. Object oriented programming is pretty easy to wrap your head around.

Probably easier to play with too. Tap an object, choose an attribute or function, etc.

Warioware DIY was more akin to what you're describing, albeit in a simplified form without any option to step into direct text editing or manual coding. It was great fun.

To be honest, such limited sandboxes that challenge your ingenuity to bend a small set of tools to your devious schemes are far more enjoyable and puzzle-like than any thorough, feature-filled APIs. It would be great to see more creative games exploring this middle area between "serious" code and merely fiddling with the events or attributes of objects.
 
I got a reply:

@gust_notch Can you make a &#12503;&#12481;&#12467;&#12531; program on PC and change it back to a .ptc file? I would love to do this when it comes to the USA. :)

@UncleSporky Yes we can! For editing PTC files, "PTCUtilites" may be useful. http://micutil.com/ptcutilities/t &#8230; &#8234;#petitcom

http://micutil.com/ptcutilities/top_e.html

Looks pretty cool. In another tweet they said they're going to work on an english version of the program.

@UncleSporky FYI, I wrote "PetitEditor", which is able to generate QR code from text on the web browsers. http://www2.u-netsurf.ne.jp/~ozawa/petitco &#8230; &#8234;#petitcom

http://www2.u-netsurf.ne.jp/~ozawa/petitcom/petiteditor.html
 
I sent a message to the person who made PTCUtilities and he asked me to help proofread his english version...I hope my corrections are helpful and actually correct.

To be honest, it's mostly there already, you can download it and try it out. Some of it is confusing but you can generally figure it out. He uses "Init." a lot when he means "Reset."


On another subject, I went through the Japanese manual and figured out some of the program's specifications:

- 8 banks of sprites usable at any time and editable.

- 4 banks of backgrounds usable at any time and editable.

- 30 built-in songs and 70 sound effects, with 128 instrument MIDI and custom waveforms. New songs can be created via MML programming.

- Programs with names of up to 8 characters, supporting 9999 lines of code, though you can launch other programs from within your program and include additional program data. I'm not sure whether program size is virtually unlimited because of this or if there are other caveats.

- Strings and numeric variables with names of up to 16 characters. Integers must be in the range of ± 524,287.

- Arrays of up to two dimensions, with up to 262,144 individual elements. String arrays must contain fewer elements, I believe.

- During program execution, the use of every DSi button other than select, which is used to return to the console screen. You can also use the touch screen for conventional touch coordinates or virtual keyboard input.

- 100 simultaneous sprites, which can be sized in almost any combination from 8x8 pixels to 64x64. Sprites are optimized for ease of movement, animation, rotation, scaling, and collision detection. There are built-in commands for all of these which will vastly help streamline game creation.

- Multiple drawing layers, as follows:

  • At the back, a default background color.

  • A drawing plane where you can output manually-drawn images of lines, filled shapes etc. If I'm reading the specs correctly, this plane contains two pages per DSi screen that you can flip between in order to create smooth animations, i.e. you can draw to the offscreen page and display it when ready.

  • Two separate graphics planes used for BG tiles. While DSi's screens are 256x192, these planes are 512x512 and can be offset from their default position to scroll the image around. They support transparency for layering purposes. You could also use them for parallax scrolling, mountains in the far background etc.

  • At the front, the console display on the top screen and keyboard on the bottom screen. The console supports 32x24 characters and can be used for simple text programs or very basic games. These planes can be hidden to work with only the graphical planes below.

  • Individual sprites can be positioned between any of the above planes.
 
So the utilities let you essentially write/edit the code on your computer?

Excellent.

So many classic BASIC programs to convert... bwahahaha...

Hey, UncleSporky... what actual language/usage changes from tradtional BASIC did you note? I had the impression that you needed to use == instead of = and != instead of <> ... is that correct, and was there anything else of interest to note?
 
That's crazy. When I took my intro programming course in HS, they started out with C++. Then the next class was Java.

What is BASIC used in nowadays? Or is it at least good for learning to get a programming foundation? Not sure, I got out of the programming learning game quite awhile ago.

Duh, law enforcement use Visual Basic to create a GUI interface to track IP addresses of criminals.

http://www.youtube.com/watch?v=hkDD03yeLnU
 
I want this hard.

It's been years since I programmed in BASIC. Like 1992 I believe.

Hope it all comes back :)
 
Hey, UncleSporky... what actual language/usage changes from tradtional BASIC did you note? I had the impression that you needed to use == instead of = and != instead of <> ... is that correct, and was there anything else of interest to note?

That is correct, like many modern languages it uses == and != instead of = and <>.

Another change over traditional BASIC is that while this version still has line numbers, they are not important. I believe you can insert new lines and it will re-number the rest of the program. GOTO/GOSUB work via labels only. You type @LABEL1 on one line, and later GOTO @LABEL1.

Another (very) minor change is that FOR loops test the condition before execution. In other words, if you type "FOR X = 1 TO -500 STEP 2," it will not execute even once, because that doesn't make any sense. In normal BASIC, it would still execute the loop once. I know you wouldn't really write a FOR loop like that, but you can set them up via variables and it's possible to end up with a loop that is similarly impossible. In this version it will be skipped.

I don't think there are many other changes from standard BASIC. There are some other warnings and such, though. When you perform calculations that could result in decimal numbers and you only really need the integer part (such as for pixel coordinates), they recommend using FLOOR to round it off because of cumulative errors in floating point operations.
 
That is correct, like many modern languages it uses == and != instead of = and <>.
It seems silly to change that for BASIC, though...
Another change over traditional BASIC is that while this version still has line numbers, they are not important. I believe you can insert new lines and it will re-number the rest of the program. GOTO/GOSUB work via labels only. You type @LABEL1 on one line, and later GOTO @LABEL1.
Sounds like Blassic, which I've been using for a few years now..

When you perform calculations that could result in decimal numbers and you only really need the integer part (such as for pixel coordinates), they recommend using FLOOR to round it off because of cumulative errors in floating point operations.
Couldn't you just use the INT command on the results?
 
Couldn't you just use the INT command on the results?

There is no INT command. FLOOR is basically INT (or they tell you to use it that way). But FLOOR is typically a round down command, and I don't see a way to round up. It'll require some testing when we get our hands on the real thing.

EDIT: I seriously don't see a command to round up. On the "basic math" page they list FLOOR, RND (random numbers), ABS (absolute value), and SGN (returns ±1 or 0). You'll just have to write a subroutine for it. If FLOOR(X + 0.5) > FLOOR(X) then X = FLOOR(X) + 1.

Has anyone asked Gamebridge about a PAL release?

I really should start spamming 'em with requests. I need this program!

I tweeted them about it and got no reply.
 
No INT command? Random number generation is going to be fun...

From looking at code, I believe random numbers are already integers, i.e. RND(5) results in 0, 1, 2, 3, or 4. Of course if you need decimals you can multiply the result by 0.1 etc.

In fact I think floating point numbers may actually be simulated (fixed point math). Garbled through Google Translate, the manual says 1.0 is treated as 4096. Kind of screwy if true, but it should still be accurate enough for simple programs.
 
Maybe it'll be out in Europe someday, and then maybe I can play with it.
But I think there are enough tools like that on the PC so it isn't that mandatory to be released here.
 
I'm going through the command list, and noticing a few things...

1) The command list appears to let you use a single = instead of an ==, although this might be only for simple "LET A=5" types of commands... that is, "A=5" is okay, but perhaps not "IF A=(5*X)"

2) Like all good versions of BASIC, short commands are fine. ? instead of PRINT, for example.

3) BASIC itself allows you to send/receive files to local DSi/3DS units. I was a bit surprised by that -- I was assuming some sort of "menu", but...

4) Built in speech synthesizer. I'm curious how this will be implemented for English...

5) No "true" file access, annoyingly. I was hoping for the ability to import/export data from files (even with simple LINE INPUT and PRINT commands), but that doesn't exist. What's somewhat problematic about that is that, unless I'm wrong, there would appear to be no way to -save- data from within a program.

Am I missing something? It seems like there would -have- to be some sort of file writing capabilities...

EDIT: I'm using Google Translate to page through the manual, and I'm getting the -vague- impression that you can use SAVE from within a program to ... do something. It almost looks as though you can tell it to save additional data, but...

EDIT 2: Okay, using the sample programs' source, it appears you can "SAVE" and "LOAD" data from a "MEM"ory file, part of the program file package. From within a program, you appear to be able to do:

SAVE "MEM:RandomData"
LOAD "MEM:HighScores"


Assuming this works the way I think it does, it should mean we have file support after all. This will be helpful when attempting to port old adventure games, depending upon the size of the MEM area/device.
 
Top Bottom