Announcement

Collapse
No announcement yet.

Powerbasic have a future?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #41
    I've been using PBCC as a backend for websites for at least 15 years.
    I have about 200 billable hours on the books now.
    The market is there.

    Talked about it here.

    Comment


    • #42
      Originally posted by Michael Mattias View Post

      As I said before, there's a lot more that goes into a software product than coding.
      absolutely

      Vision, broad decision making, logic plans, documentation, manuals, training, support, marketing, sales, licensing, upgrades, testing, help screens, ...............

      Our Adam is going to be a busy boy!!!!!
      [I]I made a coding error once - but fortunately I fixed it before anyone noticed[/I]
      Kerry Farmer

      Comment


      • #43
        Jose,

        About the only thing in commercial tools that I use that natively supports unicode .s RC.EXE and I had to write a separate unicode editor to use it. I agree that translating ascii to unicode via an API is clunky at best. On occasions some of the resource API functions are buggy (at least in 64 bit) so I have a tool that converts unicode to DB sequences as it can represent the entire range with no errors but its not simple to use like what you suggested.
        hutch at movsd dot com
        The MASM Forum

        www.masm32.com

        Comment


        • #44
          PS: These ???? were Russian characters, but apparently this forum no longer understands unicode.
          Sadly true. Did a test; characters using second byte (values above 255) converted to "?"s. Below 255 work correctly.

          ?? Has vBulletin hired someone to "fix" things that are not broke? Code tags, now this.
          Dale

          Comment


          • #45
            Here is a trick the Bob Zale built into his last 2 compilers, how to port direct MASM code into PowerBASIC. The example is a AVX2 very high speed block copy using instructions that did not exist when Bob passed away. To run this code you will have to be using a processor that has AVX2 (Haswell era) support and have a gig of memory to allocate but on my middle aged i7, a half gig copy happens in 156 ms.
            Code:
            ' ¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
            
                #include "\basic\include\win32api.inc"
            
                MACRO memalign(mem,amem,align)
                  ! mov eax, mem
                  ! mov amem, eax
                  ! add amem, align-1
                  ! and amem, -align
                END MACRO
            
                MACRO msize = 1024*1024*512
            
            ' ¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
            
            FUNCTION PBmain as LONG
            
                LOCAL mem1 as DWORD
                LOCAL mem2 as DWORD
                LOCAL psrc as DWORD
                LOCAL pdst as DWORD
                LOCAL tcnt as DWORD
            
                mem1 = GlobalAlloc(%GMEM_FIXED,msize+1024)
                memalign(mem1,psrc,512)
            
                mem2 = GlobalAlloc(%GMEM_FIXED,msize+1024)
                memalign(mem1,pdst,512)
            
                tcnt = GetTickCount
            
                ! mov eax, psrc
                ! mov edx, pdst
                ! mov ecx, msize
                ! call aligned_block_copy
            
                tcnt = GetTickCount - tcnt
            
                StdOut "  AVX2 Copy = Half gig memory copy in "+format$(tcnt)+" ms"
            
                waitkey$
            
            End FUNCTION
            
            ' ¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
            
            FASTPROC aligned_block_copy
            
                PREFIX "!"
            
              ; ------------------------
              ; original MASM code below
              ; ------------------------
                db 193,233,5,196,226,125,42,0,197,253,231,2,131,192,32,131
                db 194,32,131,233,1,117,236,195
            
                END PREFIX
            
            END FASTPROC
            
            ' ¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
            
             ' OPTION PROLOGUE:NONE
             ' OPTION EPILOGUE:NONE
             '
             ' aligned_block_copy proc
             '
             '   ; src = eax
             '   ; dst = edx
             '   ; cnt = ecx
             '
             '     shr ecx, 5                                           ; div by 32
             '
             '   @@:
             '     vmovntdqa ymm0, YMMWORD PTR [eax]
             '     vmovntdq YMMWORD PTR [edx], ymm0
             '
             '     add eax, 32
             '     add edx, 32
             '     sub ecx, 1
             '     jnz @B
             '
             '     ret
             '
             ' aligned_block_copy endp
             '
             ' OPTION PROLOGUE:PrologueDef
             ' OPTION EPILOGUE:EpilogueDef
            hutch at movsd dot com
            The MASM Forum

            www.masm32.com

            Comment


            • #46
              Wow Hutch! This reminds me of what I did back in the 90's when I was programming in BAL* on an IBM System/360 mainframe. But I did it to bug a co-worker when he was reviewing my code. It looked something like x'DD010901060B0D'. ("Gosh, Bob. I'm just doing a simple TRT and BCTR. You can't figure it out?")

              *Basic Assembly Language
              ... .... . ... . . ... ... .... . .. ... .... .. ... .... .. .... ..

              n6jah @ yahoo.com

              Comment


              • #47
                @ José
                I hope that it is not a reply to my post.

                Of course not, because SDK programming prevent us to become beached whales,

                Speaking for myself, my code is the same in PB, C/C++, and WinDev.
                And C++ has already all the bells and whistles you are missing, but you know that already, why you didn't make the last step is a mystery for me.
                Patrice Terrier
                www.zapsolution.com
                www.objreader.com
                Addons: GDImage.DLL 32/64-bit (Graphic library), WinLIFT.DLL 32/64-bit (Skin Engine).

                Comment


                • #48


                  Patrice,

                  You are missing out on the serious stuff, 64 bit MASM is the beez kneez when it comes to 64 bit Windows coding.
                  hutch at movsd dot com
                  The MASM Forum

                  www.masm32.com

                  Comment


                  • #49
                    Hi Jim,

                    I was not done just for the fun of it, one way you can port later instruction code is to convert it to byte data and just paste it in as DB sequences. Processor does not know the difference and if the code is valid, it runs OK. I remember in my youth (which was long ago) that a company I worked for had an IBM system 360 and it was a technical marvel of its time.
                    hutch at movsd dot com
                    The MASM Forum

                    www.masm32.com

                    Comment


                    • #50
                      Hutch

                      Using the same language that is being used to write the core API itself, is the best way to ensure you can use the latest, without resorting on somebody else to translate the headers
                      Patrice Terrier
                      www.zapsolution.com
                      www.objreader.com
                      Addons: GDImage.DLL 32/64-bit (Graphic library), WinLIFT.DLL 32/64-bit (Skin Engine).

                      Comment


                      • #51
                        Originally posted by José Roca View Post
                        What I asked for several years ago was:
                        Not all of them but... help me get there for the rest?...
                        Attached Files
                        www.pluribasic.com

                        Comment


                        • #52
                          Patrice,

                          I was pulling your leg.
                          hutch at movsd dot com
                          The MASM Forum

                          www.masm32.com

                          Comment


                          • #53
                            Hi Hutch,
                            Yes, I saw what you did there. That's the "WOW" factor! You weren't just having fun, you were getting around an issue.
                            ... .... . ... . . ... ... .... . .. ... .... .. ... .... .. .... ..

                            n6jah @ yahoo.com

                            Comment

                            Working...
                            X