Jump to content

toarnold

Members
  • Content Count

    37
  • Joined

  • Last visited

Community Reputation

71 Excellent

About toarnold

  • Rank
    Space Invader

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Done! Take a look here: https://github.com/toarnold/jaglib Greetings -toarnold
  2. If I find time next weekend, I'll set up a github repository.
  3. @Luigi301 In case of -bjagsrv vlink uses a default linker script if nothing else is provided it looks like: SECTIONS { . = 0x4000; .text: { *(.text CODE text) } . = ALIGN(32); .data: { VBCC_CONSTRUCTORS *(.data DATA data) } . = ALIGN(32); .bss: { *(.bss BSS bss) *(COMMON) _BSS_END = ALIGN(32); } }; The _BSS_END symbol ist used by the vbcc vclib to determine free RAM for malloc/free operations. -toarnold
  4. This isn't the right place to discuss the pros and cons of docker. Use it or not. I never fogot the "old" ways, but for me docker is an additional benefit.
  5. @Orion_ This is the "modern" way of working. It has two advantages: You are not forced to mess up your pc with a bunch of development tools and the corresponding enviroment like ENV variables etc. All is ready configured in the docker. You can so easily use different versions side-by-side, 'cause everything is separated by docker. @JagChris I overlooked this. But the standard linker script used by vbcc jaguar config and vlink doesn't support this section. It must be defined by your own script. So the easiest way will be to remove the .68000 section in the gpu code. I will talk to Frank, so we can correct this in the next release maybe. -toarnold
  6. I guess you should remove the .68000 section, 'cause vasm doesn't support it. It will be handled as an unkown section, but vlink has no definition vor that section. Greetings -toarnold
  7. Hi rocky1138, attached is my modified version. I'm not sure if all dependencies are correct. Delete the content of the obj folder and all will build fine. The makefile will use the vasm/vlink in the docker container mentioned in the other thread. -toarnold sample.zip
  8. Hi rocky1138, vasm and vlink are dockerized in the above docker image!
  9. Put it here: gpu/gpu.s .long olp2set: .ds.l 1 ; GPU Code Parameter .text
  10. Hi rocky1138, it is diffcult without the whole source code ... But it seems you forgot a dependency obj/gpu.o: jaguar.inc $(ASGPU) $(ASGPUFLAGS) gpu.s -o obj/gpu.o You should add gpu.s, otherwise you will link against an old gpu.o obj/gpu.o: gpu.s jaguar.inc $(ASGPU) $(ASGPUFLAGS) gpu.s -o obj/gpu.o Seems to me, you have to do it with test.o, too. You can PM me the source code if you want. Appendix: I got it. 'Cause you are loading olp2set with the gpu it has to be long-word aligned. Take a look at your memory map (parameter -M for vlink). For me this variable was at a word-aligned adress. A .long and the canged link order will do the trick. Greetings -toarnold
  11. Hi rocky1138 You can dig into the container by docker run --rm -it toarnold/jaguarvbcc:0.9f sh In the folder /opt/jagdev/bin are the tools located. The vasm is compiled to support m68k with madmac and motorola syntax. Jagrisc supports madmac only. And yes, I use jagserver format, too.
  12. Hi ggn, I agree with you, but a big advantage for me is, that Frank is a german guy like me. So we can discuss some problems in our native tongue . ... and I'll get a response within 24hrs!
  13. Hi rock1138, no problem, but there is nothing special, because I copy the whole toolchain folder from my PC ... FROM alpine:3.6 ARG version RUN apk add --no-cache make libc6-compat nodejs nodejs-npm # copy files COPY version/ /opt/jagdev/ # Apply path changes ENV PATH="/opt/jagdev/bin:${PATH}" VBCC="/opt/jagdev" JVBCCVERSION=$version HOME=/tmp #default command CMD echo $JVBCCVERSION
  14. Hi rocky1138, I love vasm and vlink, because you will get a great support from Frank Wille who maintains this tools. But let's get down to brass tacks: On the first glance everything seems to be ok, but I suggest to change the link order: OBJ = obj/gpu.o obj/startup.o obj/testrgb.o obj/test.o Links the gpu obj at $4000. But the jagsrv structure assumes your CPU initialisation code at this address. Change the linking order to: OBJ = obj/startup.o obj/gpu.o obj/testrgb.o obj/test.o Hopefully it helps -toarnold
  15. Hi folks, Do you wish to start in jaguar coding? You don't like to configure a development chain? Here is a solution. Use Docker! Prerequsites: You need a Win 10 Pro/Enterprise 64 bit, a docker supported 64 bit linux (e.g. Ubuntu etc.) or a Mac. See here: https://www.docker.com/ You can find the vbcc jaguar docker image here: https://hub.docker.com/r/toarnold/jaguarvbcc/ A quick demo with three simple steps Clone the jag2048 (https://github.com/toarnold/jag2048.git) github repository (or download it as a zip file) Jump into the directory Execute the following command line Linux users type docker run --rm -v "$PWD":/usr/src/compile -w /usr/src/compile -u $(id -u $USER):$(id -g $USER) toarnold/jaguarvbcc:0.9f make Window users type docker run --rm -v "%cd%":/usr/src/compile -w /usr/src/compile toarnold/jaguarvbcc:0.9f make This will produce a jag2048.jag file in the current folder. Upload this with your skunkboard or start it in virtualjaguar! Greetings, toarnold
×
×
  • Create New...