flat assembler
Message board for the users of flat assembler.
![]() Goto page Previous 1, 2 |
Author |
|
soul_master 12 Jan 2025, 13:51
Multiple Compiler Package: https://starpow3r.net/compiler.zip
Includes TinyC, GCC, FASM and FASMG with library, examples, graphics and fonts. Visual interface (or "front end") for FASM/G. One click to run *.C or *.ASM from a page. Reduced GCC/MingW to under 50mb. ![]() |
|||
![]() |
|
soul_master 12 Jan 2025, 14:00
New Example Pages: https://starpow3r.net/pages.zip For the latest version of Miracle Browser: https://starpow3r.net/miracle.zip
![]() Code: * /agenda/ - Miracle Browser 2-DO list. 18 pages worth. Ideas that haven't been implemented * /tutorial/ - Example tutorial: Programming in C. 15 pages that reuse the same menu. * /theme/ - Custom themes: browser.theme=blue. * image - Miracle .IMAGE file format * /food/ - Example site template with food recipes * /animal/ - Example page of animals with audio: play 'my.wav' * /games/, /videos/ - How to create a custom launcher, or an image gallery, or a page that reviews or sells games, movies, or any products * /media/ - Some outline fonts ending with 'o'. Example: 'radio/64o', 'block/64o', 'cartoon/80o'. .FONT opens with miracle.exe. Last edited by soul_master on 12 Jan 2025, 14:38; edited 1 time in total |
|||
![]() |
|
soul_master 12 Jan 2025, 14:37
Updates:
Code: * Inclusion: use 'file'. Now, a title and/or menu can be created once for an entire site, and it's reusable by all pages. * Themes. Pages can customize interface colors: browser.theme=name * Cursors: Set page.cursor='my.cur' or .ani/mated * Audio: play 'my.wav', or: play loop 'my.wav' * Link text boxes: t.link='name'. For buttons * Link multiple images in a gallery with image.link and image.search * Drag and drop filename from explorer. Minimize browser first * "Open With..." .FONT, .IMAGE, .SOUL, .USE, .CODE. Languages: .C/H, .CPP/HPP, .ASM/INC, .BAT, .PY (Python), .HTML/CSS/JS * code.language='bat' for batch files. Recognizes both comment styles, "rem comment" and "::comment". Drag any BAT onto miracle.exe to open with. load_font(text name) (t.font='name/n') searches these locations: /name/, /font/ or /media/font/, or up 1-2 directories: /site/page1 or /sites/site1/page1. Code: @miracle/media/font/name/n @page/name/n @page/font/name/n @page/../font/name/n @page/../../font/name/n @page/media/font/name/n @page/../media/font/name/n @page/../../media/font/name/n Edit: Update (1-15-25): https://www.starpow3r.net/miracle.zip Finally solved the problem with fonts. Before, t.font='name/32' would cause a crash if the font didn't support a fade or gradient applied to it, or if text.graphics=fade was set previously, and the font was changed to an incompatible one. Now, any font should be usable, and pages/fonts demonstration should not crash. Fixed another issue: "Open With..." source (*.ASM) would reset the global code_language to 's' if it encountered <> (if a<>b in FASM/G), causing only SS (Soulscript) keywords to be highlighted. |
|||
![]() |
|
soul_master 30 Jan 2025, 07:44
Update (1-30-25): https://starpow3r.net/
Internet started. Views online pages with text and code files (.C/H/ASM/INC/BAT/x). Uses Winsock. No images or links yet. Example addresses. Copy, then click [>] by the address bar to "paste and go". Code: www.starpow3r.net www.starpow3r.net/fasm.soul www.starpow3r.net/text.soul www.starpow3r.net/loop.soul www.starpow3r.net/text.h www.starpow3r.net/text.inc ![]() ![]() ![]() ![]() |
|||
![]() |
|
soul_master 05 Feb 2025, 14:10
Update (2-5-25): https://starpow3r.net/ Miracle Browser is the solution to all the problems of the internet caused by HTML browsers.
![]() Soulscript can display code in 22+ programming languages on a single page: Soulscript, C, C++, C#, Python, HTML, CSS, Javascript, Java, Rust, Ruby, Swift, SQL, BASIC... ![]() |
|||
![]() |
|
soul_master 23 Feb 2025, 20:37
UPDATES (2-22-25)
https://starpow3r.net * Online pages with links. From now on, link='html./htmls.' prefix is needed to open in HTML browser - example t.link='htmls.disney.com' - and Soulscript uses "www.". * Online pages with images. Creates local directories in /browser/cache/ to match server structure. Example: "www.my.com/a/b/c/name.txt" creates 4 directories: /my.com/, /my.com/a/, /my.com/a/b/, /my.com/a/b/c/ Then downloads "name.txt" to /my.com/a/b/c/ * Links to code online. "Open With..." any code language .ext/ension, online or offline. 25+ languages supported. New code.language='pearl'. Example: www.starpow3r.net/text.inc (ASM) * Save screenshot as /browser/screen/name_000.bmp. Plays camera flash sound. Press Alt+1-2 keys: 1=100%/1920x1080, 2=50%/960x540 (1/2W). One image takes about 6mb in HD, and about 1.5mb in 960x540. Links. To view in MB, copy and then click the arrow icon by the address bar to "paste and go". Use www. prefix to open in MB, and http/s: to open in HTML browser. Code: www.starpow3r.net/links.soul www.starpow3r.net/languages.soul www.starpow3r.net/solutions.soul Message forum/board designs. Non-functional. Code: www.starpow3r.net/forum.soul www.starpow3r.net/message.soul ![]() ![]() Random: Winsock definitions for TinyC: Code: // WinSock definitions for TinyC typedef struct { uintw wVersion, wHighVersion; byte szDescription[256+1], szSystemStatus[128+1]; uint iMaxSockets, iMaxUdpDg; byte align[2]; uint lpVendorInfo; } WSADATA; struct hostent { char *h_name, **h_aliases; intw h_addrtype, h_length; char **h_addr_list; #define h_addr h_addr_list[0] }; struct sockaddr { uintw sa_family; byte sa_data[14]; }; struct sockaddr_in { uintw sin_family, sin_port; char *sin_addr; byte sin_zero[8]; }; struct addrinfo { int ai_flags; int ai_family; int ai_socktype; int ai_protocol; struct socklen_t ai_addrlen; struct sockaddr *ai_addr; char *ai_canonname; struct addrinfo *ai_next; }; struct hostent *hoste; struct sockaddr_in socketa; enum { SOCK_STREAM=1, SOCK_DGRAM=2, SOCK_RAW=3, SOCK_RDM=4, SOCK_CONN_DGRAM=5, SOCK_PACKET=10, AF_INET=2, AF_INET6=4, INVALID_SOCKET=-1, SOCKET_ERROR=-1, TCP=6, UDP=17, IPPROTO_TCP=6, IPPROTO_UDP=17, IPPORT_FTP=21, IPPORT_SMTP=25, IPPORT_NAMESERVER=42, IPPORT_WHOIS=43, IPPORT_MTP=57, IPPORT_TFTP=69 }; #define HTONS(n) (((n>>8)&0xFF)|((n<<8)&0xFF00)) // WinSock functions HMODULE wsock32_dll; typedef int (*IMPORTiup)(uint,void*); typedef int (*IMPORTi)(); IMPORTiup WSAStartup; IMPORTi WSACleanup, WSAGetLastError; typedef int (*IMPORTiti)(text,int); typedef void *(*IMPORTpt)(text); typedef void *(*IMPORTptii)(text,int,int); typedef uintw (*IMPORTww)(uintw); IMPORTiti gethostname; IMPORTpt gethostbyname; IMPORTptii gethostbyaddr; IMPORTww htons; typedef uint (*IMPORTuiii)(int,int,int); typedef int (*IMPORTiupi)(uint,void*,int); typedef uint (*IMPORTuupi)(uint,void*,int); typedef int (*IMPORTiupi)(uint,void*,int); typedef int (*IMPORTiui)(uint,int); typedef int (*IMPORTiutii)(uint,text,int,int); typedef int (*IMPORTiu)(uint); IMPORTuiii socket; IMPORTiupi connect; IMPORTiui listen; IMPORTiupi bind; IMPORTuupi accept; IMPORTiutii send, recv; IMPORTiu closesocket; // import functions... #define load_library(name) \ (name##_dll=LoadLibraryA(#name)) #define import_function(module, type, name) \ (name=(IMPORT##type) GetProcAddress(module##_dll, #name)) #define free_library(name) FreeLibrary(name##_dll) int import_winsock() { if (!load_library(wsock32)) return 0; if (!import_function(wsock32, iup, WSAStartup)) return 0; if (!import_function(wsock32, i, WSACleanup)) return 0; if (!import_function(wsock32, i, WSAGetLastError)) return 0; if (!import_function(wsock32, iti, gethostname)) return 0; if (!import_function(wsock32, pt, gethostbyname)) return 0; if (!import_function(wsock32, ptii, gethostbyaddr)) return 0; if (!import_function(wsock32, ww, htons)) return 0; if (!import_function(wsock32, uiii, socket)) return 0; if (!import_function(wsock32, iupi, connect)) return 0; if (!import_function(wsock32, iutii, send)) return 0; if (!import_function(wsock32, iutii, recv)) return 0; if (!import_function(wsock32, iui, listen)) return 0; if (!import_function(wsock32, iupi, bind)) return 0; if (!import_function(wsock32, uupi, accept)) return 0; if (!import_function(wsock32, iu, closesocket)) return 0; return 1; } int end_winsock() { free_library(wsock32); return 1; } |
|||
![]() |
|
soul_master 08 Jul 2025, 22:24
UPDATES (7-7-25)
Updated MB: https://starpow3r.net/miracle.zip To "install", copy to a directory like c:/miracle/ or x:/programs/miracle/ then "Open With" miracle.exe. Opens .SOUL, .FONT, .IMAGE, .BMP, and code (.C/H/ASM/INC/BAT/x, even files online). Whenever there's an update, just replace the folder. New example pages: https://starpow3r.net/pages2.zip Big archive (700+ images): Videos, Games, Animals. * Minimal functions: on hi, <t>Hi<>, end. See PAGE/FUNCTION. * New PAGE/THEME. Easy page.theme='black' (default) or 'white' for pure black or white text with NO colors/fades/effects. Predefined text themes to create buttons/menus fast. Example: t.theme='blue.shade' * Updated PAGE/LINK. code.file='text.h' can load files, extract functions from source by name, and insert them in pages. Text supports the t.link/search syntax like image. Example: t.search='michael jackson $text' where tag text is the name of the song to search for. * display=custom works now. It disables the advancement of element.x/y, allowing them to be adjusted manually. The example pages of videos/games use this feature to create interfaces with "card"s (a container of tags: text/code/images). * .s is the default include extension: use 'name' (name.s). Open .s views source * Append 'text' with += or +: text a='abc'+name+'123'. See PAGE/THEME for example menu: t.link='page/'+names[i]+'.soul'. Minor improvements like ' in text: 'I\'m', 'don\'t'. ![]() ![]() ![]() ![]() Preview of PS1: Code: text genres[i]= 'Shooter', 'Platform', 'Adventure', 'Fantasy', 'Sports', 'Fighting', 'Driving', 'Horror', 'Relaxed' on create_title locate 135, 32 where='ps1/image', image='banner' locate 290, 300 end on create_menu loop i t7.link='ps1/genre/'+genres[i]+'.soul' <t7><?genres[i]><> end <rr> end on start_page create_title, create_menu sx=224, ex=sx, element.x=sx, begin.x=sx ey=element.y, ey+=4 where='ps1/genre' end |
|||
![]() |
|
soul_master 09 Jul 2025, 02:33
Update: LINK wouldn't open because PAGE/TEST.H was missing. To anyone who downloaded it, and LINK failed, you can paste this file (TEST.H) into /page/, then try again. code.file can load modules, and insert functions by name.
|
|||||||||||
![]() |
|
Goto page Previous 1, 2 < Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.