This is an archive of CompuServe forum messages from 1985 to 1995, as saved in transcripts by John Foust.
Search Results (255 messages)
It appears the particular problem with TAS will be fixed in the final rev of 2.0 by Commodore-Amiga. It involves a 'feature' added in 2.0 which ended up breaking alot of animation programs, and C= is now considering either removing the feature, or making it program selectable. -Mike
The problem with the Animation Studio is due to a 'feature' in 2.0. Unfortunately the C= engineers did not realize that this feature (copper list clipping, if you're interested inthe details 😎 would end up breaking legitimate code, such as what TAS has. C= is at this moment considering ways…
As long as the total amount of memory is the same before and after you run your program, then you're not missing any Free()'s. After to talking to a few people I'd say that the Amiga's block coalescer is a bit brain dead, but I understand there are tricks you…
Er, make that 'so that routines are _not_ constantly pushing and popping registers'. I gotta start typing faster or thinking slower 😎 -Mike
Resident library routines are always allowed to trash the A0/A1 and D0/D1 registers. These are typically called 'temporary registers', and are used for scratch purposes. The reason for scratch registers is to make it so that routines are constantly pushing and popping registers, which can slow things down alot. So,…
In general, no compiler is going to show a difference in code generation in what you've shown in 1) compared to what I did. _Both_ versions are basically doing array indexing – mine just happens to do it using [i], and yours does +i. Both constructs do the same thing,…
Wow, that's what Lattice does? That looks wrong to me. If you consider the hex constant to be '1b0' (which ANSI says is what it should be…), then it should be chopped into 0xb0, with the 1 being thrown into the bit bucket. I suspect that Lattice is doing it…
And you're downloading from CompuServe? Hmm, I've never had any problem with NComm's Y-Modem and CIS. Dunno what to say. The Z-Modem support is through a resident library called xprzmodem.library. If that library is present, Z-Modem shows up as in the Protocol menu (by 'present' I mean it has to…
Well heck, C's what puts a roof over my head, so I'd better have some idea of how it works :^) -Mike
Incidentally, hex character constants can pretty much go on to infinity (well, there are some limits). ANSI didn't say 8 bits or 16 bits or 32 bits, they just said keep goin' till you hit something which isn't hexadecimal. IMHO this is pretty messed up, as almost anybody ever using…
I use NComm v1.9 regularly, and it has support for Y and Z modem (no X 1K though). I've found NComm to be a bit stabler under 2.0 then JRcomm, which is why I use it. NComm also has a built in scripting langauge, which is nice. I can't remember…
Basically, you can't (at least not in one line). The best optimization I could see for your code would be to say: struct MCS *temp; temp = &(Emulate->StringDesc[i]); if (temp->IString == *State->stringbuffer + State->stringbufferlength))) { if (temp->MString || temp->FString || temp->PSeperator || temp->PNumtype) … You get the idea – basically…
No, I never saw them. But were the benchmarks results-oriented or instruction oriented? I find it hard to believe that a 6502 could do say a sieve benchmark as fast as a Z80, given the same clock speed. As for instructions, the 6502 strikes me as the ultimate in brain…
Your code looks OK to me – what exactly is the problem? Are you getting a compiler error or does the code run incorrectly? From what I can see, you are in fact comparing the character at IString with the character at state->stringbuffer+state->stringbufferlenght. As for addressing Mstring, Fstring, etc. you…
There is no such thing as a UBYTE string literals. Stuff between " and " are always thought of as an array of chars. Casting it to a UBYTE * shouldn't change the way the compiler works on escape sequences either. I guess I don't quite follow what you're saying…could…
I think the 6502 was a success only because of price. Compared to a Z80, the 6502 is _slow_. Not compared to raw clock speeds and instruction per instruction timings, but becaause the Z80 has so many more registers and addressing modes then the 6502 was, so you could accomplish…
Another possibility: use string concatenation. Eg: "\x9b""0 ….other garp" If your hex sequence is gonna be followed by something that happens to be a valid hexadecimal character, this is the easiest way to get around it. -Mike
Sorry, a char is 8 bits, and an unsigned char is also 8 bits. The range of the two is difference, but they have the same number of bits. And C compilers will put in the unsigned bit pattern, even if it don't fit the range i.e. char c; c…
Make sure that you can upload it here – C= is very tight about uploading their stuff to places other than Bix. In any case, SetPatch2.0 should more or less do the trick for ya, but you should eventually get the latest from C=. -Mike
36.143 is the latest at the moment. From what I've heard, it fixes some file system bugs, and a few other things. There's a SetPatch2.0 floating around which fixes most of the 36.141 problems, but I'm not sure how you'd get that (call C=, I suppose). -Mike
It'd be strange that you got the disks but not the manual. Hmmm…well, call our sales dept. at (800)221-0440 and tell 'em your story. -Mike
Yes, you can do anything with a 6502 that can be done with a 68000, neglecting speed and size constraints. However, this is like saying you can go anywhere on Earth on foot (or swimming) that you can go by plane. Sure, both methods will get you where you're going,…
The current Mac manual is perfect bound, like the Amiga manual is – what version do you have? BTW, our 5.0 version for the Mac will also have a new manual. -Mike
The majority we sold were in Europe – I don't think the current Atari market in the U.S. would even be statistically significant right now . -Mike
That's a good idea when installing a major update of a product – keep the old one around 'till you're comfortable with the new, and never ever mix the two together. -Mike
The ST compiler was pulled purely for marketing reasons. We sold very few of the ST compilers, and had almost 0 requests for new versions. Overall, with development costs weighed in, we lost money on the ST product. -Mike
Well, I'd call 68K assembler a high level language compared to 6502 assembly (try doing move.l (a2)+,(a3)+ in 6502!) – as such compiler seemed an appropriate term 😎 -Mike
A cross assembler differs from a 'normal' assembler in that the code which it assembles is different from the processor on which the assembler itself runs on. For example, an assembler which runs on a PC and takes 8086 assembly is a 'normal' assembler. An assembler which runs on an…
The talk on Bix is that the durn card doesn't physically fit in the case (they assumed more headroom then is available on the 3000, er side-room actually in the 3000 case). Reliable sources also say there are some timing glitches on the 3000 too, but the physical size of…
Perhaps you're confusing the SAS with Commodore? SAS phone support will be $2 per minute via 900 number. I doubt Commodore would do that, though – if they're willing to pay Fed Ex for a 500, I doubt they'd charge you for phone support!!!
I thought the 900 number wouldn't be in effect 'til September. If you hurry, maybe you can still call fer free! -Mike
I'm sorry to report John that we're not planning any updates to our ST compiler (I'm sure most people here aren't sorry 'bout that tho 😎 But we still have our PC compiler, and are planning an update to come out within the next month to two months. The biggies…
I think (not sure though) that 3.6 came out before we knew the exact formats of the calls. In any case 5.0 has glue and #pragmas for all the 1.3 functions (and version 5.0d will have all 2.0 stuff). -Mike
I've seen lots of MacWindowsOS/2 conversion libraries and books and such, but unfortunately the people who worked on these things didn't view the Amiga as important enough a platform to handle. At the broadest level, the Mac and Amiga kernals are kinda the same, at least as far as the…
The Motorola 68881 reference manual describes the IEEE formats (all of 'em). I don't see an ISBN on it or anything so I guess you have to order it directly from Motorola. I'm 95% sure that the 8087's format is identical to the Amiga IEEE (both single and double precision).…
Yep, some assembler glue code would be in order. -Mike
We don't provide any routines for converting from IEEEFFP. However, I think there are some routines provided by C= to do such a conversion. I'm at home at the moment and don't have my RKMs handy, but I can check for you tomorrow if you'd like. -Mike
Where have I seen that message before?…… -Mike
Within reason, yes. However, don't expect highly machine specific routines like the Amiga resident library stuff to port readily. -Mike
Our primary compiler products are our Amiga, MacIntosh, and PC C compilers, as well as embedded system's compilers. We have other compilers too which at one time were big sellers, like our Apple ProDos and CP/M compilers. -Mke (er, Mike that is)
I have heard that Northgate (don't know if they're any relation to OmniKey) has a switchable keyboard that works with the Amiga 2000 and 3000. A fellow on BIX claims to own one. -Mike
#116481-
#Lattice & Manx Flame
Message #116617
I'd say there are two reasons why a 'Turbo-like' product isn't on the Amiga. First, neither Lattice (er, Sas) or Manx are really anywhere near as large as Borland is. As such, we simply don't have the amount of programmers to devote to a project as Phillip does. If the…
There's no easy way to do this in C. There's probably a million and a half ways it could be done, but none of them are straight forward. It would probably be fairly simple to do in C++ using late binding mechanisms though. However, my question to you is, why…
This is true. However, almost all C compilers push in reverse order – doing it the other way makes it very difficult to get variable-parameter mechanisms working. -Mike
Well, its tough to comment without seeing the code. However, it only takes a single tiny call to strcpy() before the main menu code for you to crash and burn. -Mike
#115345-
BASIC for Amiga
Message #115392
I have a feeling that C= possibly sees ARexx as the future BASIC for the Amiga….. -Mike
Oh, forgot about exit and cleanup. At the end of the function, an unlnk instruction is done, which de-allocates the stack space reserved for local variables (actually, the stack pointer is just incremented by the appropriate amount), a5 is restored to its previous value, and a return is executed. The…
68000 and 8086 stack frames are pretty much the same – the registers used obviously differ, but that's about it. When a function is called, arguments are pushed in the reverse order (so that the first argument is pointed to by the stack pointer). The function is then called, which…
Again, the fact that it works with a PC compiler means not alot. All it takes is a single uninitialized pointer, which just happens to point to your switch code on the Lattice compiled version. Write to that pointer, and – instant code-mush. The moral of the story is, without…
Um, just -md? In that case, what libraries are you linking with? We only provide small code/small data and large code/large data libraries – no small code/large data libraries. Such a random mixing of models will cause much strange havoc. Try compiling -mcd, and linking with the cl.lib library, and…
Page 2 of 6