notaz
Certified Guru
Oh nice, so he didn't disappear after all!This is an ASM game I believe http://boards.openpandora.org/index.php/topic/12950-tetet-falling-block-game-wasm-src/?hl=assembly
Last edited by a moderator:
Oh nice, so he didn't disappear after all!This is an ASM game I believe http://boards.openpandora.org/index.php/topic/12950-tetet-falling-block-game-wasm-src/?hl=assembly
Did you do this with #define printf error ?+ add redirects for DSP-side puts/printf/vprintf/ calls (trigger linker errors)
(--> please use syscalls.puts(), syscalls.printf(), .. instead)
Changelog looks good, so nothing to comment about that. The .bss issue is also gone now which is nice.hmm. no comment on the new release ? (last post on previous page). it addresses your feature requests.. (among other things)
Well from your things-to-do-before-inclusion plan you gave a few pages back only eDMA3 is missing, but I don't think it's really necessary to have that for first release. I think you can almost rename your *_snapshot.tar.gz to _dist.tar.gz and it can be released, my go64.sh hacks seem to be good enough.ok, thanks for the comment. glad you appreciate it. maybe I am a bit on the edge -- this all turned out so much more work than I initially hoped it would be and I've been neglecting my usual life for the past month or so just to make this happen (235h work as of now). It's about time that finally something meaningful / useful evolves from this. I am a bit tired of all this foundation kind of work, if you know what I mean.
diff -ur c64_tools_/libc64/makefile.linux c64_tools/libc64/makefile.linux
--- c64_tools_/libc64/makefile.linux 2013-10-23 14:34:13.372090259 +0300
+++ c64_tools/libc64/makefile.linux 2013-10-23 14:42:32.308108648 +0300
@@ -1,10 +1,10 @@
TARGET_BASENAME=libc64
-TARGET_SHARED=$(TARGET_BASENAME).so
-TARGET_STATIC=$(TARGET_BASENAME).a
-
TARGET_SHARED_VERSION=1
+TARGET_SHARED=$(TARGET_BASENAME).so.$(TARGET_SHARED_VERSION)
+TARGET_STATIC=$(TARGET_BASENAME).a
+
CC=$(CROSS_COMPILE)gcc
RM=rm -f
@@ -47,20 +47,19 @@
ALL_OBJ= $(OBJ) $(COFF_OBJ) $(ARCH_OBJ) $(OSAL_OBJ)
-bin_shared: $(ALL_OBJ)
+$(TARGET_SHARED): $(ALL_OBJ)
$(CC) -shared -o "$(TARGET_SHARED)" -Wl,-soname,$(TARGET_SHARED) $(LDFLAGS) $(ALL_OBJ) $(EXTRALIBS)
- mv $(TARGET_SHARED) $(TARGET_SHARED).$(TARGET_SHARED_VERSION)
- ln -s $(TARGET_SHARED).$(TARGET_SHARED_VERSION) $(TARGET_SHARED)
+ ln -s $(TARGET_SHARED) $(TARGET_BASENAME).so
-bin_static: $(ALL_OBJ)
+$(TARGET_STATIC): $(ALL_OBJ)
$(RM) $(TARGET_STATIC)
$(AR) r $(TARGET_STATIC) $(ALL_OBJ)
-bin: bin_shared bin_static
+bin: $(TARGET_SHARED) $(TARGET_STATIC)
.c.o:
$(CC) $(CFLAGS) $(CFGFLAGS) -c $< -o $@
clean:
- $(RM) $(ALL_OBJ) $(TARGET_SHARED) $(TARGET_SHARED).$(TARGET_SHARED_VERSION) $(TARGET_STATIC)
+ $(RM) $(ALL_OBJ) $(TARGET_SHARED) $(TARGET_SHARED) $(TARGET_STATIC) $(TARGET_BASENAME).so
# readelf -d c64_load
Dynamic section at offset 0x1ca4 contains 27 entries:
Tag Type Name/Value
0x00000001 (NEEDED) Shared library: [libc64.so.1]
...
It's definitely necessary since it is crucial for getting good performance (it's already working here, btw).Well from your things-to-do-before-inclusion plan you gave a few pages back only eDMA3 is missing, but I don't think it's really necessary to have that for first release
So why the hurry now ?There are not many plans for the next fw, ED wanted to tune some scripts (when he can find time) and I still need to tune build so that "correct" SGX driver comes with 1GHz by default. So next release kind of belongs to c64_tools.
ok that sounds reasonable. I just was not sure how these things are handled.Yes I only want it for that incremental update thing, not the "final" update.
Don't worry, I am not getting tired of this in the sense that I call it quits and run away.From your last posts it felt like you were tired from working on this and want to get some results, that would be the way to do it (i.e. everyone being able to run the demos easily)
Upper 8 bits? Doesn't that put you inside L3 address range (11000000-ffffffff)? Or do you mean bit28?
- when the DMA accesses the SRAM through the local interconnect with upper 8 bits of addr. set to 0x11, the speed is about the same as with RAM but only zeros are written to the framebuffer (sprite test). I also see some DMA inband-errors in the klog. The speed scales with the sprite size, though
Was this a single sprite? Or how many sprites where rendered over an other? Was it done with a full alpha channel?(~1.3 GB/sec (800x480 sprites)
Was this a single sprite? Or how many sprites where rendered over an other? Was it done with a full alpha channel?(~1.3 GB/sec (800x480 sprites)
That strikes me as being a higher number of full screen overdraws than is possible via GLES, at least on my CC unit. This is purely going on memory, I could be completely wrong, but I thought I was getting fillrate bound with GLES before at like 5 or 6 overdraws per 60Hz frame. To give some comparison, the iPhone 4, with the SGX540 GPU has a fillrate of 500 MPixels/sec, so broken down:..or ~14.8 fullscreen overdraws per 60Hz frame, i.e. ~325 mpixel/sec. ~100 mpixel/sec w/ alpha blending