CompuServe Thread

#RGB Encoder

9 messages in this thread
#111416From: Mike BerroFeb 28, 1988 12:47 AM
GreG, BTW, I just received a glowing review of SportsText via Easyplex (along with some suggestions for improvement, of course 8} ), so it must work OK, GOMF notwithstanding. —Mike
#111435From: GreG Tsadilas/SYSOPFeb 28, 1988 3:14 AM
Mike, Great! It's a nifty little program. I never said there was anything wrong wit it, only that GOMF 2.0 traps a lowmem error. Not to worry though, not all low-mem trashing causes a problem. It still would be nice to have it remedied though. Keep up the good work Mike. GreG
#111475From: Mike BerroFeb 28, 1988 2:07 PM
Excuse my ignorance, but how does GOMF distinguish lo-mem trashing from lo-mem use? I've written enough programs that guru eventually (but not released them, of course), and this one seems solid after running 50 times. —Mike
#111479From: GreG Tsadilas/SYSOPFeb 28, 1988 2:28 PM
Mike, I don't know. Maybe trashing was a wrong choice of words. This was the message that GOMF2.0 came up with up running SPTEXT. Trap or Exception table was trashed. 68000 vector at loaction – $00000034 was corrupted with value – $00C01F70 Other than that, I can offer nothing. As I said, this may mean nothing. But should it be happening at all? GreG
#111552From: Mike BerroFeb 29, 1988 12:52 AM
Beats me. The only standard memory location is $0004. I'll investigate. Thanx! —Mike
#111560From: John DraperFeb 29, 1988 1:46 AM
Mike, The Amiga reserves a lot of low memory. You should not be writing into it with your program. Regards, Larry.
#111636From: Nick Sullivan/TransactorFeb 29, 1988 10:09 PM
Actually, a lot of that low memory is "reserved" by the 68000 itself rather than the Amiga. The vectors for traps and interrupts are stored in the low 1K of memory because that's where the 68000 wants to see them. I believe the 010 and 020 are more flexible about where those tables can be put, but with the 68000 there's no choice. So, although 4 is the only fixed location as far as the Amiga OS is concerned, that whole stretch of memory is also fixed by the CPU. Many programs do accidentally write more or less benignly into that space. The 3.4a Aztec assembler frequently writes a $62 to location 12; since that's the high byte of a pointer it does no damage (at least with a 68000). The first release of Professional Page writes twelve successive bytes of garbage starting at $30 or so, but that's a reserved, unused slot in the vector table so it gets away with it. It would be nice if developers would check to make sure that their programs don't write to low mem before releasing a product, though; even when those writes don't crash the machine, they do point to something unintended happening in the program, and of course may be disastrous on some future Amiga where things are arranged a bit differently. Nick
#111657From: Andy FinkelFeb 29, 1988 11:32 PM
If another program, like, oh, ieee math libraries decided to patch the 68000 vectors so to emulate the 68881 better your memwatch type program would probably go off, too. andy
#111664From: Nick Sullivan/TransactorMar 1, 1988 12:16 AM
Right. One of the more annoying things about developing with Aztec and db is that the assembler itself can set off db's low memory checksum alarm. Unlike memwatch, unfortunately, db doesn't provide a way to undo the damage automatically. Nick