Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature may not be available in some browsers.
Hello MLAers! We've re-enabled auto-approval for accounts. If you are still waiting on account approval, please check this thread for more information.
Yes, that's what the code does. I can see it substitutes the next va_arg for the literal field width you'd otherwise expect.
That's a good point. You can't push a char on the 68K.
I can see it doesn't support all of the combinations, but I was only checking for 'l' and 'd'. There's no 'q'...
@Mu0n , @joevt . I did a bit more looking for how sprintf is handled. In <stdio.c> we have:
int sprintf(char *s, const char *fmt, ...)
{
return(vsprintf(s, fmt, __va(fmt)));
}
int vsprintf(char *s, const char *fmt, void *p)
{
FILE f;
int n...
[ @Mu0n ] THINK C 5 has <stdarg.h> for handling variable arguments. The example on page 268 of the User Manual (which I have a paper copy of):
#include <stdarg.h>
int minimum(int count, ...)
{
va_list xp; // Declare arg pointer.
int x,min;
va_start(xp, count); // init the pointer...
I tried adding the custom command making my CMakeLists.txt file:
cmake_minimum_required(VERSION 3.28)
project(NanoMacTracker)
enable_language(C ASM)
add_application(NanoMacTracker
nanomactracker.c
wc_mod.s
nanomactracker.r
)
# make the result as small as possible
#...
Thank you very much for sparing the time, all the Cmake stuff looks very helpful!
OK, thanks again! That'll do the job. I'm likely to define it as __Retro68__ as __MWERKS__ and the other compiler environment defines have a double '__' on either side. It's a good point about being able to...
@bribri . I still don't know how to incorporate hfsutils commands into CMAKE, but instead I wrote a simple shell script which calls hfsutils commands to add a .mod file to the .dsk image. That will do for now. I've been playing around with revamping the MOD tracker prep code as per my comments...
(and @cluster_fsck ), @cheesestraws . The beauty of SAX parsers is that as well as being extremely CPU & memory resource-light, they're well-suited to giving up control, because they function as event-driven systems. The application-side handler gets called for each token, so it'll get called...
There's also the psychological effect of privilege feeling 'normal' or 'deserved' (e.g. if one has worked hard), so that if/when the playing field is even slightly levelled it feels like an attack.
SAX JSON Parsers can be well-suited to low-memory/embedded systems.
https://rapidjson.org/md_doc_sax.html
https://github.com/X-Ryl669/JSON
Because they're event-driven they should map quite well to Classic Mac OS.
I was going to use @cheesestraws 's approach to rebuilding my battery by using batteries that have a nub; which you don't need to weld (as I won't be able to do any welding). I was thinking of getting some suitable ones from RS or Farnell along with some other stuff in a combo order, but can't...
@MIST, @Mu0n . I've been modifying the code a bit to free it from the built-in .mod file. I found that the assembly code in prepare probably isn't correct for the Mac.
Here's what happens. After Init, all the waveform pointers are stored in sample starts: DS.L 31 and the waveforms themselves...
@VMSZealot : Seriously an actual FX-180P?! Gosh! I really loved mine even though it lacked hyperbolics, because: 10+2 digits; programmable; lovely keys; low power; Linear Regression! The FX-3600P is a wallet format version. I bought an emergency Sharp 531H when it broke, before saving to buy a...
Just replying to the OP and food bank quotes. Donating to Trussell Trust is a good idea as they'll know exactly what they need. And yes, it really is shameful that it's needed at all. Personally I'm in favour of a UBI that is at least enough to survive on.
Impressive! I don't think I've ever cycled more than 50 miles in a single day. I've been accepted for a new job which involves 8 mi of cycling on the Work From Office days.
There's a trade-off between owning & using stuff. Ideal fairness is 1/n, but really it must follow an exponentially-diminishing usage, breeding less familiarity and thus less satisfaction. All gadgets get less use & fun gadget n gets neglected most. Having said that, After 40 years, I replaced...
Yes, exactly. They have a policy for not producing universal libraries and includes, so this is a consequence.
I used MacPorts for PowerPC, but I didn't know it was still going for Intel and ARM64 (I have used MacPorts when setting up some PowerPC Macs in the past year).
Maybe we should turn...
@MIST, @Mu0n , @8bitbubsy , @noglin @bribri .
Hi folks, I'm trying to work with Retro68. I can see from this example CMake.lst how it builds an application (NanoMacTracker).
cmake_minimum_required(VERSION 3.28)
project(NanoMacTracker)
enable_language(C ASM)
add_application(NanoMacTracker...
Thanks! On GitHub I am also Snial.
Good idea. I think there’s some ambiguity when it comes to mapping Pascal’s Strxx types to ‘C’, because sometimes in Pascal is could cause storage to be allocated whereas at other times it’s just a pointer. Also, ‘C’ would expect zero-terminated strings...
Could you publish your changes? Either by forking the original and pushing that or by zipping the .c and .a?
I think it would be a good idea to not have a default .MOD, because if you don't want to play AXELF.MOD (as great as it is), then you're still wasting hundreds of kB.
I think bug (1) is...
I'll be able to fix that and I've been looking at it a bit. I can see you've replaced the lea's module_data in the assembly code:
/* lea module_data+PATTERN_DATA_OFFSET(%pc),%a0 */
movea.l module_ptr(%pc),%a0
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.