Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Halifax

Pages: 1 ... 21 22 [23] 24 25 ... 90
331
TI Z80 / HACC
« on: September 04, 2007, 12:34:00 pm »
@bfr: D is also backwards compatible with C and C++, and it holds immense popularity already! Mainly because you can link to C and C++ libraries which means OpenGL, DirectX, SDL, Qt, and every other great library is available for D!

*Halifax

332
News / Some forum traffic statistics
« on: September 04, 2007, 12:29:00 pm »
lol and w00t 3rd place!

*Halifax

333
Other / I need your processor!
« on: September 04, 2007, 08:02:00 am »
You can't find out the cache without getting it directly when buying I think. It isn't anything that Windows can tell you.

334
TI Z80 / HACC
« on: September 04, 2007, 08:00:00 am »
Hmm yes C is fine which is why I advocate for it, but many people say it is easier to program in C++. Although I must admit that C++ is better for engine development and also GUI development, it is nothing that C can't handle.

335
Other / I need your processor!
« on: September 04, 2007, 07:48:00 am »
When you buy a processor you should always know the cache. Also DJ_Omnimaga o.oblink.gif could you post another specification post of just the things I need to know, plus I couldn't really understand that post...

I only need processor specifications.

336
TI Z80 / HACC
« on: September 04, 2007, 07:45:00 am »
If that's how you do probability...either way as I said there is no way in basing the speed of your routine off of this and it would be best just to stick with the constant of jp. If worst comes to worst then just specify -dump-intfiles, optimize it to your liking, and then assemble and link it with the rest of your program.

337
News / Omnimaga 6th anniversary
« on: September 04, 2007, 07:40:00 am »
o.oblink.gif I am so surprised you recognized that small ascii clip of Rebirth! I am sorry I forgot that.

338
TI Z80 / HACC
« on: September 04, 2007, 07:36:00 am »
@calc84maniac: I understand that, but what you said was a little flawed. JR has a 25% chance of being faster literally. Which I don't really know if you meant literally though by your post. Anyways this is why the decision is up to the programmer.

Really there is no sense in basing the speed of your routine off of that unless you know that it is more likely to be false which is most definitely not applicable in a compiler!

Also just so you know that logic applies to any command supporting conditionals.

@DJ_Omnimaga: No the TI-89t can have C++ if some builds the compiler. Any system can have C or C++ if some builds the compiler. But the problem is no one wants to build the compiler because frankly parsing C++ sucks and is very very hard.

339
TI Z80 / HACC
« on: September 04, 2007, 06:17:00 am »
Yes it most definitely would. Also why do people group C/C++? C++ is an extension of C, and has many distinguishes differences in my mind. If based of extensions then shouldn't it be B/C/C++/D?

340
Other / I need your processor!
« on: September 04, 2007, 06:12:00 am »
Alright spengo I would definitely like to test on your system. Is that alright? No programs will crash you system, trust me.

341
Other / I need your processor!
« on: September 04, 2007, 05:11:00 am »
Haha not really. But here is what I do need. I was wondering if anyone could help me by letting me send them some programs that they run on there computer, and then send me the debugging report that the program outputs. Really simple and probably only takes about 2 seconds. Either way this is to further my research in optimizing code for different CPUs.

Minimum requirements:
* More than 128 MB of RAM

What types of processors I am looking for:
* 500 Mhz-1 Ghz Single Core processor
* 2-3 Ghz Single Core processor
* 1-3 Ghz Dual Core processor(AMD or Intel)
* 1-3 Ghz Quad Core processor

I would also like to know the amount of cache that your processor has. So please everyone post their computer specifications. The things listed above are the main things I am looking for, but I will accept any processor.

342
TI Z80 / HACC
« on: September 04, 2007, 04:52:00 am »
To work on the linker you are going to have to be brought up to speed on a number of different subjects dealing with Hacc. :(sad.gif

@DJ_Omnimaga: I don't even think it is possible to generate an executable as large as z88dk, especially if you keep your command-lines tight! Also you really can't have a BASIC counterpart to C.

Also I just want to say this also to people. Don't get false ideas that you can lay down horrible code and have Hacc output a perfect little piece of code. Steps to get you code looking nice:

1. Provide optimized C source code, and make sure no stupid things are done.
2. Let other people look over your code an optimized it.
3. Do research on which command lines are for you. There is an array of possible command line arguments already available for Hacc, and I can guarantee that more will come!

Let me just give an example of a command line argument that could or could not make a serious impact on the executable speed and size.

--forcejp

If this command line argument is present, then all jr's will be turned into jp's. So that means 1 byte per ever jr turned into a jp, but more speed also. My advice would be.

If you want size, then don't use --forcejp, but if you want speed, then use --forcejp. Now there are some things to take into consideration. For ever 'if' there is a jump, and for ever 'if-else' there is 2 jumps, and so on. So if your program is performing lots of decisions, then I recommend not using --forcejp.

Also if you have a very limited machine with less than 256 or 128 MB of ram or something you can also provide some command line arguments to reduce the amount of memory that is possible for Hacc to use. These are some advanced features though so I wouldn't advise these for any beginners though.

And as a final note. Don't expect perfect code from Hacc. If you are expecting perfect code, then Hacc, and probably any other compiler, isn't for you. Assembly language is the language for you.

EDIT:

I can't believe I forgot one of the main things I wanted to post about. The integration of the z80 assembly language right into the HACCLIB. I got this idea as I was reading an article on CELL programming because this is exactly what STL did to replace the horror of inline-assembly for there SPEs.

E.g.:

z80_rr(&plotsscreen, 1)

is an inline function that translate directly to one command: rr (hl) where hl points to plotsscreen.

So the whole z80 language will be represented in C and many low level assembly routines would be able to be represented in this way. Plus it integrates very well with your C program allowing you to easily program in pseudo assembly.

EDIT2:

Also I don't know if anyone cares, but support for local typedef definitions and local structure definitions will be completely dropped. The reason for this is because it is completely pointless and it just complicates parsing and handling of scopes. Just put the typedef or structure definition outside of any functions and then put a variable declaration in the same place you would put the local typedef or structure. It will generate the same code so don't worry about it.

343
TI Z80 / HACC
« on: September 03, 2007, 12:28:00 pm »
@Ranman: I know what you mean, but the use of unions can lead to serious user optimizations. You can most definitely use unions that way for fixed point arithmetic! That is what I use them for all the time.

@DJ_Omnimaga: I would say some parts are more mature than other parts of Hacc. Our major concern is a fast compiler with greatly substantial optimizing. E.g. Shifts where a ^2 multiplication is used, constant elimination, and dead code elimination. Also register allocation has to be up to par. Right now I am currently defining and planning a special level to the compiler built specifically for optimizing.

Also just in case anyone is wondering, this isn't a once-and-done project. We will strive to keep this maintained, so don't worry if something is missing, or there are some bugs.

344
TI Z80 / HACC
« on: September 02, 2007, 09:28:00 pm »
But then you can't access the data as both bytes, words, and longwords etc. You can only access it is that certain type.

345
TI Z80 / HACC
« on: September 02, 2007, 02:06:00 pm »
@Ranman: I have been reading up on unions, since I never really use them since I thought they were useless like you. But I never realized that they could actually seriously help with memory addressing. E.g.

union {
    ui16 word[4];
    ui32 dword[2];
    i64 qword;
} 64_bit_location;

I don't know I am considering keeping unions in, unless there is a way that you can do that some other way?

Pages: 1 ... 21 22 [23] 24 25 ... 90