Worklog for Brucey
Hwyl gyda crynoadyddion
Return to Worklogs
| ||
SuperStrict Framework brl.standardio Local t:TMyType = New TMyType t.test() t.DoIt() Local i:ISomething = New TMyType i.DoIt() Type TMyType Implements ISomething Method test() Print "test" End Method Method DoIt() Print "DoIt" End Method End Type Interface ISomething Method DoIt() End Interface output : Executing:mytype test DoIt DoIt Process complete :o) -+ Brucey +- Come to Brucey's Modules for useful BlitzMax Modules!! . . . See my Modules Worklog - wxMax - * The Definitive Module List * ![]() |
| ||
http://brucey.net/programming/blitz/bmx_ng/demos/hello_blitzmax.html -+ Brucey +- Come to Brucey's Modules for useful BlitzMax Modules!! . . . See my Modules Worklog - wxMax - * The Definitive Module List * ![]() |
| ||
$ ./bmk makemods -l android -g arm -a brl.blitz Compiling:blitz_app.c ... ... Compiling:blitz.bmx Archiving:blitz.release.android.arm.a ;-) -+ Brucey +- Come to Brucey's Modules for useful BlitzMax Modules!! . . . See my Modules Worklog - wxMax - * The Definitive Module List * ![]() |
| ||
Been benchmarking some new Map types - TIntMap and TPtrMap for now. Some stats, showing improved performance of using the primitive value as the key for the map : Map 2567 : 100 2485 : 200 2431 : 300 2430 : 400 PtrMap 1554 : 100 1758 : 200 1460 : 300 1443 : 400 Interestingly, I ran the TMap code on the original bcc, and it comes up with this : Map 2837 : 100 2953 : 200 2995 : 300 3139 : 400 I was expecting the generated asm to be much faster than my generated C, but was rather surprised to find the code running almost at the same speed, if not a wee bit faster! (tested on OS X Mavericks i7, 32-bit binaries, Release mode) Cool :-) -+ Brucey +- Come to Brucey's Modules for useful BlitzMax Modules!! . . . See my Modules Worklog - wxMax - * The Definitive Module List * ![]() |
| ||
Things are finally coming together...pi@raspberrypi ~/BlitzMax/bin $ ./bmk makemods -a brl.blitz Compiling:blitz_app.c Compiling:blitz_types.c Compiling:blitz_cclib.c Compiling:blitz_memory.c Compiling:blitz_module.c Compiling:blitz_object.c Compiling:blitz_string.c Compiling:blitz_array.c Compiling:blitz_handle.c Compiling:blitz_debug.c Compiling:blitz_incbin.c Compiling:blitz_ex.c Compiling:blitz_gc.c Compiling:reclaim.c Compiling:allchblk.c Compiling:misc.c Compiling:alloc.c Compiling:mach_dep.c Compiling:os_dep.c Compiling:mark_rts.c Compiling:headers.c Compiling:mark.c Compiling:obj_map.c Compiling:pcr_interface.c Compiling:blacklst.c Compiling:finalize.c Compiling:new_hblk.c Compiling:real_malloc.c Compiling:dyn_load.c Compiling:dbg_mlc.c Compiling:malloc.c Compiling:stubborn.c Compiling:checksums.c Compiling:pthread_start.c Compiling:pthread_support.c Compiling:pthread_stop_world.c Compiling:darwin_stop_world.c Compiling:typd_mlc.c Compiling:ptr_chck.c Compiling:mallocx.c Compiling:gcj_mlc.c Compiling:specific.c Compiling:gc_dlopen.c Compiling:backgraph.c Compiling:win32_threads.c Compiling:thread_local_alloc.c Compiling:blitz.bmx Archiving:blitz.debug.linux.arm.a ar: creating /home/pi/BlitzMax/mod/brl.mod/blitz.mod/blitz.debug.linux.arm.a Here we can see BlitzMax compiling the BRL.Blitz module to Linux ARM. The interesting thing to note here is that the whole process is running natively on the Raspberry Pi. It's not fast, but it works ;-) Interestingly, I had all kinds of problems cross-compiling on Linux (x86) to Linux (ARM). Issues with libraries and so on. However, I discovered someone had built such a thing for OS X, which *just worked*, allowing me to firstly cross-compile BlitzMax on OS X to Linux ARM, and then ftp the bcc and bmk binaries to the raspberry pi, and start compiling natively there. Cool beans! :o) -+ Brucey +- Come to Brucey's Modules for useful BlitzMax Modules!! . . . See my Modules Worklog - wxMax - * The Definitive Module List * ![]() |
| ||
Building exceptions Compiling:exceptions.bmx Linking:exceptions Executing:exceptions Up Process complete :o) -+ Brucey +- Come to Brucey's Modules for useful BlitzMax Modules!! . . . See my Modules Worklog - wxMax - * The Definitive Module List * ![]() |
| ||
Digesteroids sample running on OS X, 64-bit, NG... with working sound :o)![]() -+ Brucey +- Come to Brucey's Modules for useful BlitzMax Modules!! . . . See my Modules Worklog - wxMax - * The Definitive Module List * ![]() |
| ||
Tiledrop sample running on OS X, 64-bit, NG...![]() mmmmm... tiley... -+ Brucey +- Come to Brucey's Modules for useful BlitzMax Modules!! . . . See my Modules Worklog - wxMax - * The Definitive Module List * ![]() |
| ||
The spinny text sample running on OS X, 64-bit, NG :o)![]() $ file /somepath/spintext_64.app/Contents/MacOS/spintext_64 /somepath/spintext_64.app/Contents/MacOS/spintext_64: Mach-O 64-bit executable x86_64 Mmmm, sixty four... -+ Brucey +- Come to Brucey's Modules for useful BlitzMax Modules!! . . . See my Modules Worklog - wxMax - * The Definitive Module List * ![]() |
| ||
The circlemania sample running on OS X, 32-bit, NG ;-)![]() mmmm... circly! -+ Brucey +- Come to Brucey's Modules for useful BlitzMax Modules!! . . . See my Modules Worklog - wxMax - * The Definitive Module List * ![]() |
| ||
Hello world!$ ./bmk makeapp -r -g arm -t console -o /somepath/helloworld /somepath/helloworld.bmx $ file /somepath/helloworld /somepath/helloworld: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.26 Sometime later on the "other" box... $ uname -a Linux raspberrypi 3.6.11+ #474 PREEMPT Thu Jun 13 17:14:42 BST 2013 armv6l GNU/Linux $ ./helloworld Hello World ! Anyone for Pi ? ;-) -+ Brucey +- Come to Brucey's Modules for useful BlitzMax Modules!! . . . See my Modules Worklog - wxMax - * The Definitive Module List * ![]() |
| ||
Automated regression testing...$ ./sct ../src/bcc/tests === STARTING TESTS === * AMOUNT OF TESTS: 2 * RUNNING TEST: ../src/bcc/tests/framework/numerics/num_01.bmx COMMAND: bmk makeapp -a -t console -r -g x86 -o ../src/bcc/tests/framework/numerics/num_01 ../src/bcc/tests/framework/numerics/num_01.bmx VALIDATION SUCCESSFUL -> OK * RUNNING TEST: ../src/bcc/tests/framework/numerics/num_02.bmx COMMAND: bmk makeapp -a -t console -r -g x86 -o ../src/bcc/tests/framework/numerics/num_02 ../src/bcc/tests/framework/numerics/num_02.bmx VALIDATION SUCCESSFUL -> OK === FINISHED TESTS === * FAILED: 0 * ERROR: 0 * OK: 2 mmmmmmm... -+ Brucey +- Come to Brucey's Modules for useful BlitzMax Modules!! . . . See my Modules Worklog - wxMax - * The Definitive Module List * ![]() |
| ||
A basic Type test :SuperStrict Framework BRL.StandardIO Local t:TType = New TType t.SetA(150) Print "a = " + t.GetA() Type TType Field a:Int Method GetA:Int() Return a End Method Method SetA(value:Int) a = value End Method End Type Output : Building test_02 Executing:test_02 a = 150 Process complete -+ Brucey +- Come to Brucey's Modules for useful BlitzMax Modules!! . . . See my Modules Worklog - wxMax - * The Definitive Module List * ![]() |
| ||
A basic test :SuperStrict Framework BRL.StandardIO Local i:Int = 11 Local n:Double = 3.3 For Local count:Int = 0 Until 30 n :* i Print "n = " + n Next Orig left, NG right : ![]() -+ Brucey +- Come to Brucey's Modules for useful BlitzMax Modules!! . . . See my Modules Worklog - wxMax - * The Definitive Module List * ![]() |
| ||
ho hum...$ cat helloworld.bmx SuperStrict Framework BRL.StandardIO Print "Hello World!" $ ./bmk makeapp -a -g x64 -t console -r -o /somepath/helloworld /somepath/helloworld.bmx Compiling:helloworld.bmx Linking:helloworld $ ./helloworld Hello World! $ file ./helloworld ./helloworld: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24 :o) -+ Brucey +- Come to Brucey's Modules for useful BlitzMax Modules!! . . . See my Modules Worklog - wxMax - * The Definitive Module List * ![]() |
| ||
dum de dum...$ cat helloworld.bmx SuperStrict Framework BRL.StandardIO Print "Hello World!" $ ./bmk makeapp -a -t console -r -o /somepath/helloworld /somepath/helloworld.bmx Compiling:helloworld.bmx Linking:helloworld $ ./helloworld Hello World! $ file helloworld helloworld: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24 -+ Brucey +- Come to Brucey's Modules for useful BlitzMax Modules!! . . . See my Modules Worklog - wxMax - * The Definitive Module List * ![]() |