A.D.A. Amiga Demoscene Archive

        Welcome guest!

  

  

  

log in with SceneID

  

Demos Amiga Demoscene Archive Forum / Coding / VBCC 0.8j for Windows
 Page:  1  2  »» 
Author Message
hitchhikr
Member
#1 - Posted: 12 Jul 2008 20:03
Reply Quote
For 68k Amiga, comes in a read-to-use package:

http://pagesperso-orange.fr/franck.charlet/VBCCSet up.exe
hitchhikr
Member
#2 - Posted: 13 Jul 2008 13:13
Reply Quote
Updated (same url).
rload
Member
#3 - Posted: 14 Jul 2008 19:04
Reply Quote
coolness
rload
Member
#4 - Posted: 2 Aug 2008 21:21 - Edited
Reply Quote
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
#5 - Posted: 2 Aug 2008 21:59
Reply Quote
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
#6 - Posted: 7 Aug 2008 20:32 - Edited
Reply Quote
You may want to talk about that issue to the guy in charge of the compiler in the first place.
hitchhikr
Member
#7 - Posted: 23 Sep 2008 16:16
Reply Quote
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
#8 - Posted: 23 Sep 2008 23:20 - Edited
Reply Quote
does it generate faster code than sas c btw?
hitchhikr
Member
#9 - Posted: 24 Sep 2008 03:13 - Edited
Reply Quote
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
#10 - Posted: 24 Sep 2008 23:33
Reply Quote
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
#11 - Posted: 25 Sep 2008 07:41
Reply Quote
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
#12 - Posted: 25 Sep 2008 14:56
Reply Quote
Agreed, it's very easy to use; should be a great aid to lure more people into Amiga coding.
hitchhikr
Member
#13 - Posted: 26 Sep 2008 02:07
Reply Quote
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
#14 - Posted: 28 Sep 2008 01:08
Reply Quote
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
#15 - Posted: 28 Sep 2008 03:15
Reply Quote
cool to see it progressing.. hoping to see a mac version some time :)
hitchhikr
Member
#16 - Posted: 29 Sep 2008 23:57
Reply Quote
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
#17 - Posted: 8 Oct 2008 23:56
Reply Quote
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
#18 - Posted: 9 Oct 2008 00:59
Reply Quote
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
#19 - Posted: 21 Oct 2008 00:22
Reply Quote
just tried the windows version (I've been using the amiga version). It was remarkably straightforward to set it up. Very nice :)
hitchhikr
Member
#20 - Posted: 10 Nov 2008 17:06
Reply Quote
MacOS X files now provided as universal binaries.
Ceil
Member
#21 - Posted: 14 Jan 2009 15:55
Reply Quote
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
#22 - Posted: 14 Jan 2009 19:08
Reply Quote
I finally got it working. A recompile did the job. :)
noname
Member
#23 - Posted: 15 Apr 2009 22:09
Reply Quote
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
#24 - Posted: 15 Apr 2009 23:09
Reply Quote
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
#25 - Posted: 16 Apr 2009 21:15
Reply Quote
Okay, it works now. Thanks for the help!
hitchhikr
Member
#26 - Posted: 16 Apr 2009 23:01
Reply Quote
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
#27 - Posted: 16 Apr 2009 23:34
Reply Quote
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
#28 - Posted: 15 Mar 2010 12:04 - Edited
Reply Quote
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
#29 - Posted: 31 Aug 2010 00:38
Reply Quote
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
#30 - Posted: 31 Aug 2010 19:08 - Edited
Reply Quote
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/
 Page:  1  2  »» 

  Please log in to comment

  

  

  

 

A.D.A. Amiga Demoscene Archive, Version 3.0