LoginLogin

SmileBASIC 4 Discussion「プチコン4」

Root / General / [.]

📌
MZ952Created:
SmileBOOM just uploaded 4 videos, likely all on SB4. The first video was https://www.youtube.com/watch?v=ayNsaxF5Kb4 it shows a Pi starter Mk II which seems to run SmileBASIC 4 based on the title of the video. The second video was https://www.youtube.com/watch?v=3ywNYBBqjN4 It's a simple autorunner but here's the thing, IT DOESN'T USE RETRO GRAPHICS! this means SB4 will have an option to use higher quality graphics! The third video was https://www.youtube.com/watch?v=hYqX0d2TsrM It's a version of solid gunner that plays with the switch turned 90 degrees. It also has 2P co-op and 3D CUBES. The background also seems to use multiple layers. The fourth and final video was https://www.youtube.com/watch?v=eTwqNyE1c54 It shows a part of the editor. According to the title of the video, it's an encoder.
The first video looks like it could be for a SB4-based clone of the PC-8000 similar to the PasocomMini/MZ-80C that ran a simplified version of SB-R and also contained a MZ80 emulator. The version of BASIC it is running is DEFINITELY not SmileBASIC so PC-8000 emulator is my guess. The second video is not a surprise considering we've known for a while that SB4 can display up to 720p and has a significantly larger graphics page and 32-bit color. I think we've known about Solid Gunner Vertika before but I haven't seen it (and the original had 3D cubes as well; they're pre-rendered sprites.) The last video seems to show a subprogram (not necessarily an editor component) that analyzes and lays out the structure of the program you're editing. Unsure what use it is but it will probably be a sample.

One thing that bothers me to no end is that they seemingly haven't elaborated much on vertical mode. Is it a separate mode or just a gimmick they keep teasing with samples? I didn't see anything about it in the manual. Anyone have anything to add?

One thing that bothers me to no end is that they seemingly haven't elaborated much on vertical mode. Is it a separate mode or just a gimmick they keep teasing with samples? I didn't see anything about it in the manual. Anyone have anything to add?
If I used twitter, I'd send @notohoho a tweet asking him about this.

The first video was https://www.youtube.com/watch?v=ayNsaxF5Kb4 it shows a Pi starter Mk II which seems to run SmileBASIC 4 based on the title of the video.
No, that's a genuine NEC PC-8001 mkII. It's not running SmileBASIC 4 at all, but its own built-in BASIC. If you look at the video description, the purpose of that video is to compare its speed to SmileBASIC 4, since people who used computers like that back in the day usually think of BASIC as being slow. So, the test here is to see how many operations each one can do in one second:
  • Additions per second: For PC-8001 mkII, 40. For SmileBASIC 4, 2495385.
  • PRINT statements per second: For PC-8001 mkII, 30. For SmileBASIC 4, 831113.
  • Lines drawn per second: For PC-8001 mkII, 10. For SmileBASIC 4, 324649.
  • Sprites moved per second: PC-8001 mkII doesn't have sprites. For SmileBASIC 4, 1183161.
As you can see, SmileBASIC 4 blows it out of the water.
The fourth and final video was https://www.youtube.com/watch?v=eTwqNyE1c54 It shows a part of the editor. According to the title of the video, it's an encoder.
It's not an encoder. ENOCODE is not a typo. As the description of the video explains, the name is 絵のコード (e no code), which means "Picture Code". As this tweet says, it's supposed to be something like Scratch, to help beginner programmers.

The first video was https://www.youtube.com/watch?v=ayNsaxF5Kb4 it shows a Pi starter Mk II which seems to run SmileBASIC 4 based on the title of the video.
No, that's a genuine NEC PC-8001 mkII. It's not running SmileBASIC 4 at all, but its own built-in BASIC. If you look at the video description, the purpose of that video is to compare its speed to SmileBASIC 4, since people who used computers like that back in the day usually think of BASIC as being slow. So, the test here is to see how many operations each one can do in one second:
  • Additions per second: For PC-8001 mkII, 40. For SmileBASIC 4, 2495385.
  • PRINT statements per second: For PC-8001 mkII, 30. For SmileBASIC 4, 831113.
  • Lines drawn per second: For PC-8001 mkII, 10. For SmileBASIC 4, 324649.
  • Sprites moved per second: PC-8001 mkII doesn't have sprites. For SmileBASIC 4, 1183161.
As you can see, SmileBASIC 4 blows it out of the water.
I never thought of that, that also explains the existence of the fifth video.
The fourth and final video was https://www.youtube.com/watch?v=eTwqNyE1c54 It shows a part of the editor. According to the title of the video, it's an encoder.
It's not an encoder. ENOCODE is not a typo. As the description of the video explains, the name is 絵のコード (e no code), which means "Picture Code". As this tweet says, it's supposed to be something like Scratch, to help beginner programmers.
I didn't think it was a typo, I legitimately missed the first O.

Hakase dude did a speed test in 4 I guess https://twitter.com/notohoho/status/1130339667394478081

  • Additions per second: For PC-8001 mkII, 40. For SmileBASIC 4, 2495385.
  • PRINT statements per second: For PC-8001 mkII, 30. For SmileBASIC 4, 831113.
  • Lines drawn per second: For PC-8001 mkII, 10. For SmileBASIC 4, 324649.
  • Sprites moved per second: PC-8001 mkII doesn't have sprites. For SmileBASIC 4, 1183161.
These numbers are...astronomically large. Has anyone done a benchmark on SB3 for comparison?

  • Additions per second: For PC-8001 mkII, 40. For SmileBASIC 4, 2495385.
  • PRINT statements per second: For PC-8001 mkII, 30. For SmileBASIC 4, 831113.
  • Lines drawn per second: For PC-8001 mkII, 10. For SmileBASIC 4, 324649.
  • Sprites moved per second: PC-8001 mkII doesn't have sprites. For SmileBASIC 4, 1183161.
These numbers are...astronomically large in comparison. Has anyone done a benchmark on SB3 for comparison?
The same speed test program exists in SB3.
| test\system |       4 |     BIG | n3.3.0 | n3.0.0 |  mkII | mk I | PC80* |
|-------------+---------+---------+--------+--------+-------+------+-------|
| Addition    | 2495385 | 1825731 | 622752 | 514264 | 12703 | 9952 |    40 |
| PRINT       |  831113 |  507264 | 161131 |  85423 |  3663 | 1802 |    30 |
| Sprite move | 1183161 |  987110 | 298973 | 261916 |  9650 | 7612 |   N/A |
| Line plot   |  324649 |  259912 |  68345 |  68016 |  5253 | 3729 |    10 |
*NEC PC-8001 mkII, not SmileBASIC
Table: SmileBoom "SPEED TEST" operations per second comparison for major systems. Figures transcribed from [1]https://smilebasicsource.com/forum?fpid=26173#post_26173 [2]https://twitter.com/ochame_nako/status/573491038209208320 [3]https://twitter.com/ochame_nako/status/536170115557883904 [4]https://twitter.com/ochame_nako/status/809057596632014848 [5]https://twitter.com/ochame_nako/status/535087875654549505

It looks like the "line plot" and "sprite move" rows are backwards there for everything except PC80.

It looks like the "line plot" and "sprite move" rows are backwards there for everything except PC80.
Yes they are. Fixed.

Sprite move seems like a pointless way to test speed. Sprite drawing is handled by the GPU so you're really only testing the speed of a function call.

Went and tested my own New 3DS with US 3.6.0.
| test\system | n3.6.0 | o3.6.0* | 4/n3.6 | 4/o3.6 |
|-------------+--------+---------+--------+--------|
| Addition    | 597244 |  176684 |  4.17x | 14.12x |
| PRINT       | 146279 |   31220 |  5.68x | 26.62x |
| Sprite move | 291851 |   72708 |  4.05x | 16.27x |
| Line plot   |  80841 |   20069 |  4.02x | 16.18x |
|--------------------------------+--------+--------|
| Average speedup with SB4       |  4.48x | 18.30x |
*Technically, a New 3DS underclocked to 268 MHz with L2 cache
 disabled, which should be basically equivalent to an Old 3DS
Basically, it looks like SB4 is roughly 4 times as fast as 3.6.0 on a New 3DS, or about 18 times as fast as 3.6.0 on an Old 3DS, at least for this small set of benchmarks.

Has anyone asked about localization/multiregion situation?

What we know so far is that, although an English version has been confirmed, localization won't start until SmileBASIC 4 has stabilized. In other words, it''ll be a while, since the English version isn't even being worked on yet. As for whether there'll eventually be a single version across regions that supports both English and Japanese (like Breath of the Wild), I don't think anything's really been said about that.

Are there built-in 3D commands, or do we need an engine? EDIT: my notifications just went from 86 to 42 lol

No, not really. You can transform a layer with a 4x4 matrix, so in theory you can have up to eight textured quads in 3D space (with no Z-buffer, though). That basically amounts to just a couple of cubes though (since you only need to draw up to 3 faces of a cube at once). It's not practical for full 3D on its own. It does, however, make Mode 7-like effects way easier to pull off.

bugtaro ported GIVERS P3D to switch during beta testing, new video published: https://www.youtube.com/watch?9UJr4Xi49-s

You're missing a v= in that link: https://www.youtube.com/watch?v=9UJr4Xi49-s

Wow! I figured some of these effects would be possible in this version, but actually seeing them is something else. Even knowing how that perspective ground layer in stage 2 probably works (LMATRIX) I was still impressed. I'm guessing this game either uses extremely large sprites and runs at 720p to avoid edge scaling artifacts that were present in the 3DS version (some of them are still visible, but less so) or it's running at a slightly higher resolution with the sample magnification turned up.

Soo... Is anyone going to talk about subprograms? They seem to be a way of running two or more programs at once, kind of like Windows, as their drawing area can be specified and they run simultaneously with the main program. Who knows, we might finally be able to make real-time program corruptors a reality.