3.3.0 is out in North America!
DrZogCreated:
Smilebasic update 3.3.0 is out in North America.
https://twitter.com/smilebasic_com/status/725134756665380864
Go under eshop/top left corner button/Settings Other/History/Updates to download it!
Or, scan this QR with your Camera applet (L+R shoulder).
http://smilebasic.com/en/knownissues/image/img-qr-update.png
Here's the changelog for 3.3.0:
Spoiler
Additions/Changes in Ver.3.3.0 (April 6, 2016) New Instructions BGMPAUSE (Pause BGM) BGMCONT (Resume paused BGM) SNDSTOP (Stop all sounds) MILLISEC (Millisecond version of MAINCNT) CLIPBOARD (Get/Set clipboard contents) GOFS (Get/Set graphic screen display offset) BIN$ (Convert a numerical value to a binary number string) DLCOPEN (Declare content for the Classic IP Open Usage Project) EXTFEATURE (System variable that returns support status for extended instructions) Additional Instructions - Paid (Advanced Sound Processing Unit) BIQUAD (BiQuad filter) BQPARAM (Generate BiQuad parameters) FFT (Perform Fourier transform) IFFT (Perform inverse Fourier transform) FFTWFN (Create an FFT window function) PCMSTREAM (Play back a PCM stream) PCMPOS (Get the playback position in a PCM stream) PCMVOL (Set the volume of the PCM stream) PCMSTOP (Stop playback of the PCM stream) PCMCONT (Resume playback of a stopped PCM stream) ARYOP (Perform arithmetic operations on arrays collectively) RINGCOPY (Copy as a ring buffer) <Note> Although these instructions may be suggested for input, they will give a “DLC not found [instruction name]” error if executed when the additional features have not been purchased. Additions to Existing Instructions/Features BGSCREEN (Addition of character size specification) BGLOAD (Character number of the screen data to be loaded can now be offset) FORMAT$ (Addition of %B [binary number]) SPDEF (Definition number and U,V coordinates of the definition data to be loaded can now be offset) SPLINK (Addition of feature for getting link destination ID) MICSTART (Addition of 2 [8-bit signed] and 3 [16-bit signed] for second argument) ACLS (Addition of options for preserving GRP, SPDEF, and font settings) LOAD (Addition of option for specifying the coordinates to load when loading GRP) Paid DLC: "Advanced Sound Processing Unit" A “Purchase DLC” button has been added to “Purchase Additional Features” in the TOP MENU. Purchasing the advanced sound unit via this button will allow you to develop audio-optimized BASIC programs, such as software synthesizers and effectors. Price: $5.00 for the US, $6 for Canada and $75 for MexicoMILLISEC, **** yes!
The BIN$() function will save me a subroutine. I like MILLISEC as well.
Edit: In fact, I've already implemented MILLISEC. It is quite useful.
Yeah, this is overall a really nice update. It does feel quicker, but maybe that's just a placebo.
I just used MILLISEC to set up a timer that measures by percentage of a frame, it's already helped me isolate several performance bottlenecks. This is such a huge improvement over MAINCNT ( I know it sounds like I'm selling something).
Judging from changelog, this shouldn't break anything in old programs, right? It just means some programs won't work in the old version, but that's not really going to be a problem for long.
Judging from changelog, this shouldn't break anything in old programs, right? It just means some programs won't work in the old version, but that's not really going to be a problem for long.In the very rare case that your program depends on the behavior of a bug which was fixed, yes. Otherwise, all the changes made to commands are optional forms. There is one change which binds z offset to SPLINK; Other than that it's really no different.
Any reason not to replace all uses of MAINCNT with MILLISEC?
...Wouldn't the numbers get massive pretty fast and overflow int?
sound DLC is broken...
the menu does a loading bar and then nothing.
Anyway, new commands (in case you forgot)
BIN$, GOFS, BGMPAUSE, BGMCONT, EXTFEATURE, MILLISEC, CLIPBOARD
sound DLC:
PCMPOS, ARYOP, RINGCOPY, PCMVOL, PCMSTREAM, PCMSTOP, PCMCONT, FFTWFN, IFFT, FFT, BQPARAM, BIQUAD
Japan only:
DLCOPEN
Well, I reported the problem with the DLC shop.
It definitely seems like a mistake to me, since usually there's an error message if something fails
I suspect that they might have broken something when removing the Japan-only DLC.
anyway, just the help menu syntax entries for the new commands:
String variable = BIN$( Numerical Value [,Number of digits] )
GOFS X,Y
GOFS OUT X,Y
BGMPAUSE [ Track number [,Fading time]]
Paused = BGMPAUSE( [Track number] )
BGMCONT [ Track number [,Fading time]]
EXTFEATURE 'Support for additional instructions '0 = Default, 1 = Advanced sound instruction pack is present
MILLISEC 'Millisecond value since SmileBASIC was launched
CLIPBOARD Character string
String variable = CLIPBOARD()
sound DLC:
PCMPOS 'System variable that indicates the top position (array index) of transfer to internal PCMSTREAM FIFO stack. (when stack becomes empty, transfer will start fom this position)
ARYOP Operation type, Result storage array variable, Parameter 2, Parameter 2 [,Parameter 3]
add, subtract, multiply, divide, multply-add, liner interpolation (p1*p3+p2*(1-p3), clamping,
RINGCOPY Copy destination array, Copy destination offset, Copy source array [[,Copy source offset],Number of copy elements]
Next position = RINGCOPY(Copy destination array, Copy destination offset, Copy source array [[,Copy source offset],Number of copy elements])
PCMVOL [CH,]VOL
PCMSTREAM M[,Sampling rate]
PCMSREAM L,R[,Sampling rate]
PCMSTREAM Sampling rate
PCMSTOP
PCMCONT
FFTWFN W,n
IFFT oR,oI,iR,iL
FFT oR,oI,iR,iI[,W]
BQPARAM FP,k,s,f,q(o) [,g]
BIQUAD OUTWK,INWK,FP
Japan only:
DLCOPEN "IP name" [,"IP name 2",... ]
DLCOPEN "IP Name" [,"IP Name 2",... ]
(yes for some reason there are 2 entries with different capitalization)