home.social

#tasm — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #tasm, aggregated by home.social.

fetched live
  1. New issue, still #TASM-related. Almost certainly a bug in Psion's #CTRAN that I feel I need to resolve.

    This line in C struct UNDOMAN:

    VOID * pEngine;

    Gets translated into TASM code like this:

    Undoman pEngine dw ?

    But this:

    VOID* pEngine;

    Turns into this:

    UndomanPengine VOID* <>

    And this:

    VOID *pEngine;

    Turns into this:

    UndomanPengine dw ?

    I think the last one is correct, but I could do with the opinion of someone more knowledgeable than me!

    #SIBOSDK #ASM #x86

  2. And that's the .ASM and .ING files done!

    codeberg.org/thelastpsion/ctra

    There are other issues with #TASM file generation in my code, such as class property generation. Thing is, I think there are bugs in the original #Psion #CTRAN TASM support, and as I'm not fluent in 8086 assembly (yet) I can't tell what's right.

    I'm sorely tempted to remove TASM support completely. I can't see anyone using it.

    My new CTRAN is only meant to be a stop-gap until I eventually get around to writing a C compiler with built-in class support. But that could take me years, so it needs to exist for now.

    I wish Colly Myers was still alive so that I could ask him questions about CTRAN. About the whole of the SDK, to be honest.

  3. Has anyone got any tips on converting #TASM and #MASM code to a more modern assembler like #NASM? Even just between TASM and MASM would be helpful.

    I've got a few old bits of #Psion 8086 assembly that I'd like to use with NASM. My aim is to remove as many proprietary tools as possible.

    I guess I'm looking for some sort of Rosetta stone for 8086 Small Memory Model assembly.

    Books, web pages and video suggestions welcome.

    #x86 #Borland #RetroComputing

  4. Features added to #ctran in the past couple of days:

    - Generate .LIS files: Basic class iist showing ancestors and children (not all descendants)
    - Generate .ASM files: Class files for TASM (less buggy than classic #Psion CTRAN!)

    To come:
    - Generate .ING files: Class include files for #TASM
    - Sub-category file handling
    - Classes that only have DEFERred methods (I want to call them "shadow classes") should be skipped
    - Generate skeleton .c files for classes

    Then... release time!

  5. New #DOS fun with GNU Make, this time using #MASM (ML) 6.11.

    Looks like another DPMI runtime conflict - GNU Make is 32-bit, ML is 16-bit, and their respective runtimes won't run the other one.

    I can manually run ML for each .ASM file, but it defeats the point of using Make.

    I could convert the .ASM files to another DOS assembler. #TASM and #NASM both work with GNU Make.

    NASM would make it easy to port the toolchain to other OSes, although it doesn't understand memory models.

  6. Thought I'd have a quick look at converting the #TASM code in #EDisAsm to #TopSpeed #assembler. It would get rid of a dependency, which can't be a bad thing. And it can't be that hard, right?

    Nope! Much harder than I thought! 😂

    Here's a link to an excerpt from the TopSpeed Advanced Programmer's Guide (I can't find the whole thing). It has thoroughly confused me and made me realise I should just go back to my main quest.

    clarionhub.com/t/unfinished-te

    #assembly #x86 #psion #RetroComputing #RetroDev

  7. Now that the TopSpeed TechKit with its #assembler is out in the world, I'm considering porting the #TASM and #MASM code in one or two of the open source #EPOC16 apps over to TSASM.

    Hardly an urgent project, but it would mean that the apps could be built with one #compiler ecosystem with a single project file.

    Of course, the code would still be restricted to the #16bit #DOS world, but it's no worse off than we already are in #Psion land.

    #DOSBox #RetroDev #RetroComputing

  8. Also, if anyone has any tips on converting #TASM and #MASM code to a more modern assembler (#NASM or #YASM?), then please do let me know!

    #RetroComputing #RetroDev #x86 #16bit #ia16

  9. I'm hoping this little bit of code that I'm going to throw into #EDisAsm is going to give me the value of IO port 0x02 on an ASIC9-based Psion. #TASM 4.1 doesn't hate it, so I just need to try running it on a real machine. But that's a tomorrow problem.

    #RetroComputing #Psion #Series3a #Series3c #Series3mx #NECV30 #16bit #x86asm #assembly #oldtech #RetroDev #borland

  10. I made significant progress in porting Ranish Partition Manager from #Borland #C and #TASM to #Watcom C and #NASM.

    All the C files and about half the assembler files are translated. The Watcom built executable is running and a few quick tests revealed no unexpected behaviour. Thoroughly testing has still to be done after the remaining files are translated.

    codeberg.org/boeckmann/ranish

  11. OK, I gave myself a deadline:
    I want to have a version of m200.def to distribute by Jan 3, 2022.

    This wants to be *the* master include file (& ROM entry point documentation) for Tandy 200 assembly using ASM80, ZMAC, TASM (telemark, not turbo), and ASxxxx.

    It will be completely untested, as I do not (yet) have a Tandy 200. :-(

    #assembly #m100 #m200#t200 #ModelT #8085 #Asm80 #ZMac #TAsm #ASX