JKprint, MagiclobeViewer, RewriteData and Majiority [Windows]

Applications, Games, Tools, User libs and useful stuff coded in PureBasic
User avatar
oryaaaaa
Addict
Addict
Posts: 825
Joined: Mon Jan 12, 2004 11:40 pm
Location: Okazaki, JAPAN

JKprint, MagiclobeViewer, RewriteData and Majiority [Windows]

Post by oryaaaaa »

Translated with DeepL.com (free version)

JKprint
It is a "super high quality photo printing software" designed with Japanese operation screen. The software is optimized for EPSON and CANON pigment CMYK inkjet printers in Japan, and can be used to print A3 paper documents into L-format photo prints, which can then be photographed and read using a smartphone. It has been in development for more than 15 years and is loved by many photo enthusiasts. In recent years, we changed the name to "JKprint" because it is best suited for printing photos of cosplayers.

MagiclobeViewer
This photo viewer is designed for ultra-high speed display of size-controlled image files, while achieving ultra-high image quality display. This photo display quality can be said to be of the highest quality, making it easy to determine which camera is best suited for the desired shot. From the cosplayer's point of view, it is useful in judging whether the adjustment results are correct when trying to sell the product to the world.

RewriteData
Low jitter on PCIE SSDs; I have also seen the effect on USB flash drives and SD cards; “RewriteData ISO” in advance when creating CD-Rs, DVD-Rs, BD-Rs, etc., for very good burn quality. Although there was a time when this was considered a dangerous solution, it has become very popular in the industry as a hint to improve the reliability of SSDs and to help improve the yield of semiconductor lithography equipment.

Majiority
This is software that can be profitable if sold. It can make the digital noise phenomenon generated by CPUs disappear and prevent research failures due to jitter problems in the research field of advanced science and technology. It not only makes computer peripherals less likely to break, but also improves network reliability, so it is actively used in network streaming servers. When used in online game servers, it can also suppress problems that occur with smart phones.

Download executables Windows x64
deleted
838KB filename is CRC64.dat

You did download "09456E52598FABB8.dat".

Run this program, and Uncompress.

Code: Select all

file.s = OpenFileRequester("", "", "",0)
fileno.i = ReadFile(#PB_Any, file, #PB_Ascii)
UseLZMAPacker()
Global length.i, *data_in, *data_out
If fileno
  length.i =  50000000
  *data_in = AllocateMemory( length + 4096 - length%4096 )
  *data_out = AllocateMemory( length + 4096 - length%4096 )
  length = Lof(fileno)
  Debug length
  ReadData(fileno, *data_in, length)
  CloseFile(fileno)
  length.i =  50000000
  length = UncompressMemory(*data_in, length, *data_out, length, #PB_PackerPlugin_Lzma)
  Debug length
  !MOV R8, [p_data_out]
  !MOV R9, [R8]
  !NOT R9
  !MOVNTI [R8], R9
  fileno = CreateFile(#PB_Any, ReplaceString(file,".dat", ".iso") )
  If fileno
    WriteData(fileno, *data_out, length)
    CloseFile(fileno)
  EndIf  
  FreeMemory(*data_in)
  FreeMemory(*data_out)
EndIf
CallDebugger
Create iso file
"09456E52598FABB8.iso"

Extract "09456E52598FABB8.iso" by 7zip

Make directory "20250120PBforumJKprint"
JKprint.exe JKprintPrefs.txt MagiclobeViewer.exe MagicloveViewerPrefs.txt
MajiorityAudio.exe MajiorityAudioML33.dll MajiorityAudioML33.lib
MajiorityVideo.exe MajiorityVideoML32.dll MajiorityVideoML32.lib
RD_INPUT.exe RewriteData.exe

JKprint is used for “landscape” print settings.

JKprint ... Windows11 Explorer Copy Full-path , Drag and drop , and JKprintPrefs.txt
Launch JKprint,
PRT = PrintRequester()
If PRT
If PrinterPageWidth() = PrinterPageHeight()
END
EndIf
EndIf

MagiclobeViewer ... Windows11 Explorer Copy Full-path , GetClipboardImage
Cursor key, TAB, Enter

ProcedureDLL MajiorityLabyrinth2(*dummy)
; MajiorityVideo (2024 12 07) ML32

ProcedureDLL MajiorityLabyrinth1(*dummy)
; MajiorityAudio (2024 12 07) ML33

Thank you.
Last edited by oryaaaaa on Thu Jan 30, 2025 2:27 am, edited 2 times in total.
User avatar
oryaaaaa
Addict
Addict
Posts: 825
Joined: Mon Jan 12, 2004 11:40 pm
Location: Okazaki, JAPAN

Re: JKprint, MagiclobeViewer, RewriteData and Majiority [Windows]

Post by oryaaaaa »

MajiorityVideo.exe, when started, eliminates noise sources in the PC. Short cycle
MajiorityAudio.exe, when started, eliminates noise sources in the PC. Long cycle
The long cycle is for audio applications and is suitable for listening to soft music such as classical or jazz. The short cycle is suitable for watching videos or listening to bright music such as pop or trance. sexe will help you achieve a stable effect even before you log in if you register for the service. The jitter reduction of photos and videos can be greatly reduced. It is a necessity in data management for digital broadcasting stations, and when used for BD-RW of new animation, high-quality digital broadcasting can be realized, and sales of video content seem to increase. When used for servers for smartphone games, it is known to prevent problems with smartphone games and make smartphones less prone to breakage.

MagiclobeViewer.exe, displays photos using super-fast RapterLake generation processing optimized for fast SSDs.
It is designed to search tens of thousands of game materials, but in reality it has been very well received in the "###JOY Viewer" application. It is also possible to browse the internet and start it with GetClipboardImage by Copy Image. Up and down rotate, left and right move the same level, TAB flip the negatives, and the negatives flip when the screen is moved. If the negative image is displayed for 8 seconds before the positive image is displayed, the jitter of the video RAM is suppressed and a low-noise display can be achieved.

RewriteData.exem, read file data and rewrites it after low noise conditions.
RD_INPUT.exe, processes only certain files; drag and drop only.
This was created to be used for poster printing in a highly competitive field. As a printing company, it allows us to easily take orders for the year-end "#### Leader Posters". It didn't stop there. It was also found to be effective for SCREEN CTP products where uneven laser processing burns occur. Later, it was found to be useful in improving the yield of semiconductor lithography equipment, thus solving the shortage of CPU supply for smart phones. Although there was a time when this technology became a threat to the military, it continues to be a necessity in the semiconductor industry, so it is only allowed for free distribution under strict precautionary conditions. For various files in video distribution and game servers, high image and sound quality can be achieved when processing without depending on the performance of the smartphone; SSDs (Realtek SSD Controller Chip) have been used to improve the quality in the design of SSDs, and processing is no longer required in new products.

JKprint.exe, Artistic Photo Printing Applications, Cosplay Photo Printing Applications, Semiconductor Exposure Improvements
Is semiconductor exposure important? It would be a boundary-pushing technology that would solve the Intel 10nm multi-pattern exposure problem, but they will do their best to hide such a thing. Instead, Intel CPUs are apparently more readily available in Japan than in other countries. And while I don't know if they are compatible with the print drivers available on the SCREEN CTP rip server. I heard help me print ultra-high quality cosplay photos. It contributes to "high quality gravure" in commercial full color magazines and "clean line drawings" in comic magazines. Although there are opinions that photo shops will be affected, it was decided that an environment that can achieve ultra-high image quality on home printers is necessary to prevent the deterioration of Fujicolor products used in photo shops. This is also said to be the cause of the global shortage of color ink.
User avatar
oryaaaaa
Addict
Addict
Posts: 825
Joined: Mon Jan 12, 2004 11:40 pm
Location: Okazaki, JAPAN

Re: JKprint, MagiclobeViewer, RewriteData and Majiority [Windows]

Post by oryaaaaa »

After the year-end holidays, the comments I received were
I don't understand and Just a little, show me your technique.

NOP QWORD [PureBasicStart] is CPU cached code for low jitter outputs.
maybe increased speed pre-compile-run as intel Core i7 series innner process.
I think windows program loader process, CALL or JUMP,
CALL QWORD [PureBasicStart+CurrentLines]

Code: Select all

Macro ALL_MMX_CLEAR_SHIFTWORD_INC_CL
  BLSR_Rcx_x64
  Set_CL1
  MOVZX_Rcx
  AddElement(Buffer()) : Buffer() = "MOVQ mm1, Rcx"
  AddElement(Buffer()) : Buffer() = "PSLLW mm0, mm1 ;1 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm0, mm1 ;2 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm0, mm1 ;3 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm0, mm1 ;4 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm0, mm1 ;5 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm0, mm1 ;6 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm0, mm1 ;7 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm0, mm1 ;8 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm0, mm1 ;9 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm0, mm1 ;10 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm0, mm1 ;11 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm0, mm1 ;12 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm0, mm1 ;13 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm0, mm1 ;14 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm0, mm1 ;15 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm0, mm1 ;16 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "MOVQ mm0, mm1"
  AddElement(Buffer()) : Buffer() = "PSLLW mm1, mm0 ;1 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm1, mm0 ;2 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm1, mm0 ;3 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm1, mm0 ;4 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm1, mm0 ;5 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm1, mm0 ;6 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm1, mm0 ;7 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm1, mm0 ;8 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm1, mm0 ;9 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm1, mm0 ;10 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm1, mm0 ;11 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm1, mm0 ;12 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm1, mm0 ;13 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm1, mm0 ;14 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm1, mm0 ;15 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm1, mm0 ;16 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm2, mm0 ;1 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm2, mm0 ;2 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm2, mm0 ;3 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm2, mm0 ;4 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm2, mm0 ;5 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm2, mm0 ;6 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm2, mm0 ;7 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm2, mm0 ;8 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm2, mm0 ;9 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm2, mm0 ;10 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm2, mm0 ;11 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm2, mm0 ;12 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm2, mm0 ;13 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm2, mm0 ;14 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm2, mm0 ;15 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm2, mm0 ;16 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm3, mm0 ;1 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm3, mm0 ;2 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm3, mm0 ;3 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm3, mm0 ;4 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm3, mm0 ;5 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm3, mm0 ;6 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm3, mm0 ;7 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm3, mm0 ;8 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm3, mm0 ;9 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm3, mm0 ;10 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm3, mm0 ;11 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm3, mm0 ;12 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm3, mm0 ;13 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm3, mm0 ;14 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm3, mm0 ;15 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm3, mm0 ;16 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm4, mm0 ;1 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm4, mm0 ;2 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm4, mm0 ;3 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm4, mm0 ;4 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm4, mm0 ;5 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm4, mm0 ;6 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm4, mm0 ;7 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm4, mm0 ;8 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm4, mm0 ;9 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm4, mm0 ;10 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm4, mm0 ;11 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm4, mm0 ;12 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm4, mm0 ;13 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm4, mm0 ;14 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm4, mm0 ;15 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm4, mm0 ;16 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm5, mm0 ;1 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm5, mm0 ;2 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm5, mm0 ;3 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm5, mm0 ;4 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm5, mm0 ;5 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm5, mm0 ;6 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm5, mm0 ;7 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm5, mm0 ;8 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm5, mm0 ;9 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm5, mm0 ;10 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm5, mm0 ;11 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm5, mm0 ;12 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm5, mm0 ;13 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm5, mm0 ;14 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm5, mm0 ;15 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm5, mm0 ;16 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm6, mm0 ;1 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm6, mm0 ;2 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm6, mm0 ;3 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm6, mm0 ;4 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm6, mm0 ;5 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm6, mm0 ;6 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm6, mm0 ;7 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm6, mm0 ;8 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm6, mm0 ;9 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm6, mm0 ;10 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm6, mm0 ;11 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm6, mm0 ;12 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm6, mm0 ;13 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm6, mm0 ;14 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm6, mm0 ;15 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm6, mm0 ;16 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm7, mm0 ;1 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm7, mm0 ;2 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm7, mm0 ;3 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm7, mm0 ;4 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm7, mm0 ;5 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm7, mm0 ;6 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm7, mm0 ;7 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm7, mm0 ;8 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm7, mm0 ;9 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm7, mm0 ;10 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm7, mm0 ;11 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm7, mm0 ;12 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm7, mm0 ;13 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm7, mm0 ;14 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm7, mm0 ;15 Left 1bit shift"
  AddElement(Buffer()) : Buffer() = "PSLLW mm7, mm0 ;16 Left 1bit shift"
EndMacro

Macro BeforeProcedureRegisters_NULL_BLSR
  AddElement(Buffer()) : Buffer() = "MOVQ mm0, Rax"
  AddElement(Buffer()) : Buffer() = "MOVQ mm1, Rdx"
  AddElement(Buffer()) : Buffer() = "MOVQ mm2, Rsp"
  AddElement(Buffer()) : Buffer() = "MOVQ mm3, Rsi"
  AddElement(Buffer()) : Buffer() = "MOVQ mm4, R8"
  AddElement(Buffer()) : Buffer() = "MOVQ mm5, R10"
  AddElement(Buffer()) : Buffer() = "MOVQ mm6, R12"
  AddElement(Buffer()) : Buffer() = "MOVQ mm7, R14"
  AddElement(Buffer()) : Buffer() = "MOVQ mm0, mm0"
  AddElement(Buffer()) : Buffer() = "MOVQ mm1, mm1"
  AddElement(Buffer()) : Buffer() = "MOVQ mm2, mm2"
  AddElement(Buffer()) : Buffer() = "MOVQ mm3, mm3"
  AddElement(Buffer()) : Buffer() = "MOVQ mm4, mm4"
  AddElement(Buffer()) : Buffer() = "MOVQ mm5, mm5"
  AddElement(Buffer()) : Buffer() = "MOVQ mm6, mm6"
  AddElement(Buffer()) : Buffer() = "MOVQ mm7, mm7"
  ForEach Reg64A()
    AddElement(Buffer()) : Buffer() = "  SMSW "+Reg16(Reg64A())
    AddElement(Buffer()) : Buffer() = "  MOVZX "+Reg64A()+", "+Reg16(Reg64A())
    For Loop=1 To 64
      AddElement(Buffer()) : Buffer() = "  BLSR "+Reg64A()+", "+Reg64A()
    Next
    AddElement(Buffer()) : Buffer() =  "  MOV "+Reg8(Reg64A())+", "+Reg8(Reg64A())
    If Len(Reg8(Reg64A()))=2
      AddElement(Buffer()) : Buffer() = "  MOV "+ReplaceString(Reg8(Reg64A()), "l", "h")+", "+ReplaceString(Reg8(Reg64A()), "l", "h")
    EndIf
    AddElement(Buffer()) : Buffer() = "  MOV "+Reg16(Reg64A())+", "+Reg16(Reg64A())
    AddElement(Buffer()) : Buffer() = "  MOV "+Reg64A()+", "+Reg64A()
    AddElement(Buffer()) : Buffer() = "  MOV "+Reg16(Reg64A())+", "+Reg16(Reg64A())
    If Len(Reg8(Reg64A()))=2
      AddElement(Buffer()) : Buffer() = "  MOV "+ReplaceString(Reg8(Reg64A()), "l", "h")+", "+ReplaceString(Reg8(Reg64A()), "l", "h")
    EndIf
    AddElement(Buffer()) : Buffer() = "  MOV "+Reg8(Reg64A())+", "+Reg8(Reg64A())
  Next
  AddElement(Buffer()) : Buffer() = "MOVQ mm0, mm0"
  AddElement(Buffer()) : Buffer() = "MOVQ mm1, mm1"
  AddElement(Buffer()) : Buffer() = "MOVQ mm2, mm2"
  AddElement(Buffer()) : Buffer() = "MOVQ mm3, mm3"
  AddElement(Buffer()) : Buffer() = "MOVQ mm4, mm4"
  AddElement(Buffer()) : Buffer() = "MOVQ mm5, mm5"
  AddElement(Buffer()) : Buffer() = "MOVQ mm6, mm6"
  AddElement(Buffer()) : Buffer() = "MOVQ mm7, mm7"
  AddElement(Buffer()) : Buffer() = "MOVQ Rax, mm0"
  AddElement(Buffer()) : Buffer() = "MOVQ Rdx, mm1"
  AddElement(Buffer()) : Buffer() = "MOVQ Rsp, mm2"
  AddElement(Buffer()) : Buffer() = "MOVQ Rsi, mm3"
  AddElement(Buffer()) : Buffer() = "MOVQ R8, mm4"
  AddElement(Buffer()) : Buffer() = "MOVQ R10, mm5"
  AddElement(Buffer()) : Buffer() = "MOVQ R12, mm6"
  AddElement(Buffer()) : Buffer() = "MOVQ R14, mm7"
  AddElement(Buffer()) : Buffer() = "MOVQ mm0, Rcx"
  AddElement(Buffer()) : Buffer() = "MOVQ mm1, Rbx"
  AddElement(Buffer()) : Buffer() = "MOVQ mm2, Rbp"
  AddElement(Buffer()) : Buffer() = "MOVQ mm3, Rdi"
  AddElement(Buffer()) : Buffer() = "MOVQ mm4, R9"
  AddElement(Buffer()) : Buffer() = "MOVQ mm5, R11"
  AddElement(Buffer()) : Buffer() = "MOVQ mm6, R13"
  AddElement(Buffer()) : Buffer() = "MOVQ mm7, R15"
  AddElement(Buffer()) : Buffer() = "MOVQ mm0, mm0"
  AddElement(Buffer()) : Buffer() = "MOVQ mm1, mm1"
  AddElement(Buffer()) : Buffer() = "MOVQ mm2, mm2"
  AddElement(Buffer()) : Buffer() = "MOVQ mm3, mm3"
  AddElement(Buffer()) : Buffer() = "MOVQ mm4, mm4"
  AddElement(Buffer()) : Buffer() = "MOVQ mm5, mm5"
  AddElement(Buffer()) : Buffer() = "MOVQ mm6, mm6"
  AddElement(Buffer()) : Buffer() = "MOVQ mm7, mm7"
  ForEach Reg64B()
    AddElement(Buffer()) : Buffer() = "  SMSW "+Reg16(Reg64B())
    AddElement(Buffer()) : Buffer() = "  MOVZX "+Reg64B()+", "+Reg16(Reg64B())
    For Loop=1 To 64
      AddElement(Buffer()) : Buffer() = "  BLSR "+Reg64B()+", "+Reg64B()
    Next
    AddElement(Buffer()) : Buffer() =  "  MOV "+Reg8(Reg64B())+", "+Reg8(Reg64B())
    If Len(Reg8(Reg64B()))=2
      AddElement(Buffer()) : Buffer() = "  MOV "+ReplaceString(Reg8(Reg64B()), "l", "h")+", "+ReplaceString(Reg8(Reg64B()), "l", "h")
    EndIf
    AddElement(Buffer()) : Buffer() = "  MOV "+Reg16(Reg64B())+", "+Reg16(Reg64B())
    AddElement(Buffer()) : Buffer() = "  MOV "+Reg64B()+", "+Reg64B()
    AddElement(Buffer()) : Buffer() = "  MOV "+Reg16(Reg64B())+", "+Reg16(Reg64B())
    If Len(Reg8(Reg64B()))=2
      AddElement(Buffer()) : Buffer() = "  MOV "+ReplaceString(Reg8(Reg64B()), "l", "h")+", "+ReplaceString(Reg8(Reg64B()), "l", "h")
    EndIf
    AddElement(Buffer()) : Buffer() = "  MOV "+Reg8(Reg64B())+", "+Reg8(Reg64B())
  Next
  AddElement(Buffer()) : Buffer() = "MOVQ mm0, mm0"
  AddElement(Buffer()) : Buffer() = "MOVQ mm1, mm1"
  AddElement(Buffer()) : Buffer() = "MOVQ mm2, mm2"
  AddElement(Buffer()) : Buffer() = "MOVQ mm3, mm3"
  AddElement(Buffer()) : Buffer() = "MOVQ mm4, mm4"
  AddElement(Buffer()) : Buffer() = "MOVQ mm5, mm5"
  AddElement(Buffer()) : Buffer() = "MOVQ mm6, mm6"
  AddElement(Buffer()) : Buffer() = "MOVQ mm7, mm7"
  AddElement(Buffer()) : Buffer() = "MOVQ Rcx, mm0"
  AddElement(Buffer()) : Buffer() = "MOVQ Rbx, mm1"
  AddElement(Buffer()) : Buffer() = "MOVQ Rbp, mm2"
  AddElement(Buffer()) : Buffer() = "MOVQ Rdi, mm3"
  AddElement(Buffer()) : Buffer() = "MOVQ R9, mm4"
  AddElement(Buffer()) : Buffer() = "MOVQ R11, mm5"
  AddElement(Buffer()) : Buffer() = "MOVQ R13, mm6"
  AddElement(Buffer()) : Buffer() = "MOVQ R15, mm7"
  AddElement(Buffer()) : Buffer() = "EMMS"
EndMacro

Macro MajiorityBuild_Tunes_18
  Debug "MajiorityBuild_Tunes_18 START"
  ForEach Buffer()
    If Left(LTrim(Buffer()), 4) = "CALL" And Right(Buffer(), 13)="PB_DrawImage2"
      Buffer() = "CALL QWORD PB_DrawImage2"
      Debug "MajiorityBuild_Tunes_18"
      PreviousElement(Buffer())
      AddElement(Buffer()) : Buffer() = "MOV R15, Rcx"
      ALL_MMX_CLEAR_SHIFTWORD_INC_CL
      For Loop=0 To 7
        For Loop2=0 To 7
          If Loop<>Loop2
            AddElement(Buffer()) : Buffer() =  "MOVQ mm"+Str(Loop)+", mm"+Str(Loop2)
          EndIf
        Next
      Next
      AddElement(Buffer()) : Buffer() = "MOV Rcx, R15"
      BeforeProcedureRegisters_NULL_BLSR
      NextElement(Buffer())
      NextElement(Buffer())
    EndIf
  Next
EndMacro

Macro MajiorityBuild_Tunes_19
  Debug "MajiorityBuild_Tunes_19 START"
  ForEach Buffer()
    If Left(LTrim(Buffer()), 4) = "CALL" And FindString(Buffer(), "BASS_")>0
      Debug "MajiorityBuild_Tunes_19"
      PreviousElement(Buffer())
      AddElement(Buffer()) : Buffer() = "MOV R15, Rcx"
      ALL_MMX_CLEAR_SHIFTWORD_INC_CL
      For Loop=0 To 7
        For Loop2=0 To 7
          If Loop<>Loop2
            AddElement(Buffer()) : Buffer() =  "MOVQ mm"+Str(Loop)+", mm"+Str(Loop2)
          EndIf
        Next
      Next
      AddElement(Buffer()) : Buffer() = "MOV Rcx, R15"
      BeforeProcedureRegisters_NULL_BLSR
      NextElement(Buffer())
      NextElement(Buffer())
    EndIf
  Next
EndMacro

Macro MajiorityBuild_Tunes_20
  Debug "MajiorityBuild_Tunes_20 START"
  ForEach Buffer()
    If Left(LTrim(Buffer()), 4) = "CALL" And FindString(Buffer(), "PB_Init")>0
      Buffer() = ReplaceString(Buffer(), "CALL PB_Init", "CALL QWORD PB_Init")
      Debug "MajiorityBuild_Tunes_20"
      PreviousElement(Buffer())
      AddElement(Buffer()) : Buffer() = "MOV R15, Rcx"
      ALL_MMX_CLEAR_SHIFTWORD_INC_CL
      For Loop=0 To 7
        For Loop2=0 To 7
          If Loop<>Loop2
            AddElement(Buffer()) : Buffer() =  "MOVQ mm"+Str(Loop)+", mm"+Str(Loop2)
          EndIf
        Next
      Next
      AddElement(Buffer()) : Buffer() = "MOV Rcx, R15"
      BeforeProcedureRegisters_NULL_BLSR
      NextElement(Buffer())
      NextElement(Buffer())
    EndIf
  Next
EndMacro

Macro MajiorityBuild_Tunes_2
  ForEach Buffer()
    If FindString(Buffer(), "PureBasicStart:")
      AddElement(Buffer()) : Buffer() =  "NOP QWORD [Rip]"
      AddElement(Buffer()) : Buffer() =  "NOP QWORD [Rip]"
      AddElement(Buffer()) : Buffer() =  "NOP QWORD [PureBasicStart]"
      AddElement(Buffer()) : Buffer() =  "NOP QWORD [Rip]"
      AddElement(Buffer()) : Buffer() =  "NOP QWORD [Rip]"
      AddElement(Buffer()) : Buffer() =  "NOP QWORD [_PB_DataSection]"
      AddElement(Buffer()) : Buffer() =  "NOP QWORD [Rip]"
      AddElement(Buffer()) : Buffer() =  "NOP QWORD [Rip]"
      ALL_MMX_CLEAR_SHIFTWORD_INC_CL
      For Loop=0 To 7
        For Loop2=0 To 7
          If Loop<>Loop2
            AddElement(Buffer()) : Buffer() =  "MOVQ mm"+Str(Loop)+", mm"+Str(Loop2)
          EndIf
        Next
      Next
      BeforeProcedureRegisters_NULL_BLSR
      AddElement(Buffer()) : Buffer() =  "NOP QWORD [Rip]"
      AddElement(Buffer()) : Buffer() =  "NOP QWORD [Rip]"
      AddElement(Buffer()) : Buffer() =  "NOP QWORD [PureBasicStart]"
      AddElement(Buffer()) : Buffer() =  "NOP QWORD [Rip]"
      AddElement(Buffer()) : Buffer() =  "NOP QWORD [Rip]"
      AddElement(Buffer()) : Buffer() =  "NOP QWORD [_PB_DataSection]"
      AddElement(Buffer()) : Buffer() =  "NOP QWORD [Rip]"
      AddElement(Buffer()) : Buffer() =  "NOP QWORD [Rip]"
      Break
    EndIf
  Next
EndMacro

; " /MMX /UNICODE /CONSOLE /commented /OPTIMIZER "
If ReadFile(2, "PureBasic.asm")
  While Eof(2)=0
    AddElement(Buffer())
    Buffer() = ReadString(2)
  Wend
  CloseFile(2)
EndIf
MajiorityBuild_Tunes_2
MajiorityBuild_Tunes_18
MajiorityBuild_Tunes_19
MajiorityBuild_Tunes_20
If CreateFile(2, "PureBasic.asm")
  ForEach Buffer()
    WriteStringN(2, Buffer())
  Next
  FlushFileBuffers(2)
  CloseFile(2)
EndIf
; " /MMX /UNICODE /CONSOLE /REASM /OPTIMIZER /ICON /OUTPUT "
User avatar
oryaaaaa
Addict
Addict
Posts: 825
Joined: Mon Jan 12, 2004 11:40 pm
Location: Okazaki, JAPAN

Re: JKprint, MagiclobeViewer, RewriteData and Majiority [Windows]

Post by oryaaaaa »

Improved print quality
Tuned part lines about PB_DrawImage2 to PB_ImageID

Download executables Windows x64
DELETED 6B99176A54B8B4F2.dat
2137KB filename is CRC64.dat

JKprint.exe JKprintManual.png JKprintPrefs.txt

The rule that made it easier to win prizes when ultra glossy prints are used in photo contests in Japan has applied since 2025 to “Refuse to accept ultra glossy prints”.
User avatar
oryaaaaa
Addict
Addict
Posts: 825
Joined: Mon Jan 12, 2004 11:40 pm
Location: Okazaki, JAPAN

Re: JKprint, MagiclobeViewer, RewriteData and Majiority [Windows]

Post by oryaaaaa »

oryaaaaa wrote: Mon Dec 23, 2024 4:40 pm Make directory "20250120PBforumJKprint"
JKprint.exe JKprintPrefs.txt MagiclobeViewer.exe MagicloveViewerPrefs.txt
MajiorityAudio.exe MajiorityAudioML33.dll MajiorityAudioML33.lib
MajiorityVideo.exe MajiorityVideoML32.dll MajiorityVideoML32.lib
RD_INPUT.exe RewriteData.exe
for Audio

Code: Select all

CreateThread(@MajiorityLabyrinth1(), 0)
for Video

Code: Select all

CreateThread(@MajiorityLabyrinth2(), 0)
This lib target for bad mother board designed,
example KabyLake bad power design ASrock motherboard.
example CometLake bad power design MSI motherboard.
If server PC's will brake down from TW enginner said, This lib is saviour.
Post Reply