Author |
Message |
hitchhikr
Member |
|
hitchhikr
Member |
Updated (same url).
|
rload
Member |
coolness
|
rload
Member |
I keep getting this error from the assembler:
unknown mnemonic <flsr>
AFAIK this is not an instruction, but it is generated in some case
typical build string
vc -c polyfiller.c -D__VBCC__ -O2 -dontwarn=214 -c99 -cpu=68060 -fpu=68060
the build is all done in UAE. No PC -> Amiga cross compile setup.
|
rload
Member |
it seems to come from a float variable which is subject to a shift. Which is wrong in itself, but the error doesn't show until the code has been generated.
|
hitchhikr
Member |
You may want to talk about that issue to the guy in charge of the compiler in the first place.
|
hitchhikr
Member |
New version released (Same url).
v0.8k:
- Fixed a bug in vbcc which caused a crash when -= or += operators were encountered (probably others combinations too).
- Using Amiga debug hunks in exe files allowing source files debugging with programs such as HiSoft Monam or (better) SAS-C CPR.
- Fixed a bug in vasm: it would output asm lines infos in debug hunk instead of the source ones.
- Makefile now automatically strip all debug datas if no debug infos are generated (via -g).
- Now automatically select the relevant math library according to the selected -fpu parameter.
- Added several examples coming from the Amiga C Encyclopedia.
I couldn't any reference to a flsr instruction in the compiler.
|
dodke
Member |
does it generate faster code than sas c btw?
|
hitchhikr
Member |
I don't know if it generates faster code than sas c but i do know it generates code faster than sas c :]
v0.8l released:
- Added a global makefile for all the examples.
- Fixed a bug in the compiler, such statement:
b = a / 50.0f - 15.87f;
was generated as:
fmove.l _a,fp0
fdiv.s #$42480000,fp0
fintrz.x fp0,fp1
fmove.l fp1,d0
moveq #15,d1
sub.b d0,d1
move.b d1,_b
instead of something like:
fmove.l _a,fp0
fdiv.s #$42480000,fp0
fsub.s #$417deb85,fp0
fintrz.x fp0,fp1
fmove.l fp1,d0
move.b d0,_b
|
hitchhikr
Member |
v0.8m:
- Modified the make files to handle the mixing of assembly language files with C ones (beside the __asm() inline function), also added a small example about that.
|
dodke
Member |
tried it a bit and it seems to be really easy to install and use so for example it would be possible to get the tools anywhere on any computer and do a production. and it would only require a minimal uae setup for testing. too bad there's no unix/linux/mac port :/
|
faaret
Member |
Agreed, it's very easy to use; should be a great aid to lure more people into Amiga coding.
|
hitchhikr
Member |
I can't do a linux port as i don't use it but since i've got a ppc mac laying around here i certainly can do a mac port when i'll be satisfied with the windows version.
|
hitchhikr
Member |
v0.9:
- Vasm got promoted to the latest 1.3 version (modified vbcc according to this).
- Fixed a bug in vbcc involving odd aligned local variables which would generate exceptions on 68000 machines.
- Printf & scanf functions now support floating point arguments by default.
- Modified the libraries so the generated executables are now compatible with OS 1.x. (note that when linking programs with mieee.lib, the compiler is using math*.library files and there's some discrepancies in the output between the 1.x (v34) and more recent ones (around v37 which are more accurate)).
- Executables startup should be faster now especially on 68000 based machines.
- Toupper() & tolower() were broken.
- Cleaner and more flexible make scripts.
- Added the necessary make files and an example to create static libraries.
|
dodke
Member |
cool to see it progressing.. hoping to see a mac version some time :)
|
hitchhikr
Member |
v0.9b:
- d0 register wasn't correctly restored when using __interrupt functions, leading to a crash.
- Added several examples: tagwindow/gadtools/tagscreen/dblbufintscreen & gameframework.
|
hitchhikr
Member |
v0.9c:
- Vlink didn't store the sections memory attributes correctly.
- Modified all examples so they use full optimization switch
and temporary disabled a specific (bugged) loop optimization in vbcc.
- Fixed a recoverable alert in gadtools example.
|
hitchhikr
Member |
And here is the MacOS X PPC version (made on 10.4.11), there's some instructions in the readme.txt:
http://pagesperso-orange.fr/franck.c...bcc_macosx. zip
|
rload
Member |
just tried the windows version (I've been using the amiga version). It was remarkably straightforward to set it up. Very nice :)
|
hitchhikr
Member |
MacOS X files now provided as universal binaries.
|
Ceil
Member |
Hello,
does anyone know, how to build vbcc for windows with target m68k from sources with floating point argument(s) support for printf? My own build just outputs %f with printf("%f", 1.2345) in the amiga shell. Replacing vc.lib and vbccm68k with hitchhikr's build fixed the problem, but that's not a solution for me.
Thanks in advance.
Ceil
|
Ceil
Member |
I finally got it working. A recompile did the job. :)
|
noname
Member |
I am having trouble testing VBCC 0.8 (actually v0.9d) for Windows under Vista. The installer runs through and creates a directory-tree with bin,doc,examples, and targets under /vbcc. But somehow I fail to build any of the examples!
Example 1:
C:\VBCC\examples\minimal>vbccmake
makefile:13: /targets/build_minimal.m68k: No such file or directory
vbccmake: *** No rule to make target `/targets/bu ild_minimal.m68k'. Stop.
Example 2:
C:\VBCC\examples\minimal>vbccm68k main.c
vbcc V0.8 for Windows (c) in 1995-2008 by Volker Barthelmann
vbcc code-generator for m68k/ColdFire V1.6a (c) i n 1995-2005 by Volker Barthelmann
>#include <libraries/dos.h>
error 248 in line 10 of "main.c": file 'libraries /dos.h' not found
1 error found!
A look into the vbcc.pdf tells me that I should have a config file "vc.cfg" (vc.config) somewhere, preferably in vbcc\config - but I don't.
This raises a bunch of questions for me:
1) Is the absence of the config file an indicator of an error of my install?
2) Are there more files or even whole directories missing?
3) If not, why isn't that documented?
4) Is this package confirmed to work under Vista?
5) How do I get the examples build?
#1-4 can only be seen as observations from a vbcc newbie, but #5 is my actual question. Please help me to get started with this promising looking system.
|
Kalms
Member |
noname:
The environment variable VBCC needs to be set to the VBCC install directory.
I did the following on a WinXP machine:
* install VBCC (hitchhikr's binary distribution)
* start a new command prompt (now %VBCC% has been set)
* update path: PATH %VBCC%\bin;%PATH%
* enter c:\vbcc\examples\minimal
* perform "vbccmake"
That completed without errors here. Resulting executable seems to be a proper AmigaOS executable, too.
|
noname
Member |
Okay, it works now. Thanks for the help!
|
hitchhikr
Member |
Thanks to dodke i noticed the url of the mac osx version above is screwed so here it is again:
http://pagesperso-orange.fr/franck.charlet/vbcc_ma cosx.zip
The windows installer should modify the PATH env variable by itself but maybe it doesn't work under vista ? (maybe it requires administrator privileges or something ?)
|
noname
Member |
I tested installing VBCC again under Vista. As I use a user account for daily work, Windows asks me for the administrator password when I execute the installer. The installer then runs through without problems.
Afterwards, the VBCC environment variable is not set. Also, setting it in the shell does not work (this was my problem yesterday, as I did not imagine it would make a difference between setting it in the shell and using the control panel). See the following session which was recorded right after installation.
Microsoft Windows [Version 6.0.6001]
Copyright (c) 2006 Microsoft Corporation. All ri ghts reserved.
C:\VBCC\examples>echo %vbcc%
%vbcc%
C:\VBCC\examples>set vbcc=c:\vbcc
C:\VBCC\examples>vbccmake
(cd alerts; vbccmake)
vbccmake.EXE[1]: Entering directory `C:/VBCC/exam ples/alerts'
makefile:13: /targets/build.m68k: No such file or directory
vbccmake.EXE[1]: *** No rule to make target `/tar gets/build.m68k'. Stop.
vbccmake.EXE[1]: Leaving directory `C:/VBCC/examp les/alerts'
vbccmake: *** [all] Error 2
Setting the environment variable and running it from a new shell solves the problems and triggers a flawless build.
In short: under Vista I had to manually set the environment variable to make VBCC work. This was not done by the installer, even with admin rights.
|
noname
Member |
For the record, if you experience problems when printing floats, e.g. printf("%f\n",1.23) // prints "%f" rather than "1.23" then you have to link with a math library, as the vc.lib only contains a printf that cannot handle %f (as mentioned in the vbcc.pdf in section 11.4.2). To replace the printf from vc.lib with float-enabled version from your math library, you have to put the math library (e.g. m040.lib) BEFORE the vc.lib on the linker command line. Otherwise it won't work, as the linker takes the first matching function from the list of supplied libraries.
|
rload
Member |
Oki.. I'm probably not being very smart here..
My ultimate goal is to generate header dependencies using gcc, but still compile, assemble and link using vbccm68k,vasmm68k and vlink. The 'platform' where I am creating this monster mix is cygwin.
Should I just give up?
After a bit of fiddling about I've reached the point where I'm having problems with making vasmm68k find includes.
Output in the cygwin shell thingy : vasmm68k -m68060 -I"C:\VBCC\targets\m68k-amigaos\include\" -I"D:\amiga2\amiga2\d iv\coding\include\" asmstart.asm -o asmstart.o vasm 1.3 (c) in 2002-2008 Volker Barthelmann vasm M68k/ColdFire cpu backend 0.9e (c) 2002-2008 Frank Wille vasm motorola syntax module 2.6 (c) 2002-2008 Frank Wille vasm hunk format output module 1.8 (c) 2002-2007 Frank Wille
fatal error 13: could not open <exec\interrupts.i> for input aborting... make: *** [asmstart.o] Error 1
The asmstart.asm include statement just says : include exec/interrupts.i
I'm wondering if these DOS paths make sense when the command is executed in cygwin. The corresponding unix style path doesn't seem to help (ie /cygdrive/c/VBCC/targets/m68k-amigaos/include/)
|
ZEROblue
Member |
Try MingW instead of Cygwin if you need GCC and the GNU binutils, and build the latest vasm. That way you'll be fully Windows native. You can find MingW on f.ex ftp://ftp.qt.nokia.com/pub/misc/
|