COREGRAP.A in the \TS\SRC

COREGRAP.A in the \TS\SRC

Its mentioned in a couple of posts on here, but it doesnt ship in c6, c10 or c11, at least I cant find it.

I think I’ve seen it in an earlier version of clarion but I only had cw1.5, c5 and c5.5. Didnt have 4 or 2xxx.

I dont have any of copies of the old versions, so if it was shipped in one of the previous version I had, and someone has a copy, do you mind pinging me a copy please?

The only file I have by that name is from the DOS compilers 30 years ago, and I’d be surprised if that’s what you’re looking for?

It will help because Im having to piece together info from lots of different sources to make sense of it all, because voids, 'scuse pun, create problems.

This is what Ive got done tonight, there are mistakes in there and guesswork not tested yet with the TSA compiler, but as a tldr file I think the pertinent points get across succinctly.

JK’s works but crashes, access violation, havent tried yours or a statically linked in the debugger yet.

Cant upload an assembler .a file, its not an authorised file type, so remove the .clw extension.

Call_GetProcAddress_DLL.a.clw (9.5 KB)

Is there a topspeed assembler programmers reference pdf knocking around that anyone knows of? Wondering how much TSA differs and compares to MASM.

Edit.

Im also assuming TSA does classes because of the existence of ABC classes, because the MASM compiler allows classes, which also means classes have been around for a long time…?

It’s different enough that you can’t just take MASM code and compile it with the JPI compilers.
These are the books I can put my hand on most easy, I’ll have to have a look over the weekend to see if there’s any more.
TopSpeed Developers Guide.pdf (594.7 KB)
TopSpeed TechKit.pdf (773.5 KB)

This is the .a file I’ve been using for the last 20 years

module AsmHelp

USE16             = 00H
USE32             = 01H

ABS_ALIGN         = 00H
BYTE_ALIGN        = 20H
WORD_ALIGN        = 40H
PARA_ALIGN        = 60H
PAGE_ALIGN        = 80H
DWORD_ALIGN       = 0A0H

DONT_COMBINE      = 00H
MEMORY_COMBINE    = 04H
PUBLIC_COMBINE    = 08H
STACK_COMBINE     = 14H
COMMON_COMBINE    = 18H

segment _TEXT(CODE, USE32 + DWORD_ALIGN + PUBLIC_COMBINE)

public _DbgBreak :
  db    204
  ret   0

public _ThrowGPF :
  mov   eax, 0
  mov   ebx, [eax]

public _CallPtr :
  jmp   eax

public _FIXSTACK :
  pop   ecx  
  add   esp,ebx
  jmp   ecx

and the prototypes
asmhelp.inc (1.7 KB)

1 Like

I saw \ts\src and couldn’t help but get excited for a second.
I still have my TS installation intact.

Me too, but I haven’t used in 20+ years! :smile: )

I’ve scanned through one to get an overview on my phone, and I’ll hopefully scan through the other soon.

Thanks.