Link to the app page for G15 PMN: apps by S R Weber
G15 PMN The Most Human-Thought Friendly Programming Language by SRWeber INTRODUCTION TO G15 PMN FOR KIDS Quickly set G15 PMN up for a standard Intel/AMD PC with a large physical keyboard, in which US Keyboard layout is the preferred layout for G15 PMN. Do you have a laptop? A physical keyboard is today a very inexpensive extension, easy to plug in, and it vastly enhances your first-hand direct control over the PC, in particular when you use a keyboard-friendly programming and application environment like G15 PMN. A two-button physical mouse is also strongly adviced. You can use Ms Windows or mostly any Linux underneath G15 PMN, but we recommend Neon KDE Linux because it is a holistic refinement of Ubuntu, which is an accepted general purpose environment. Neon is easily installed by USB stick into any meaningfully made laptop when you switch off 'Windows Secure Boot' options. When you log in to your Neon KDE Linux, there is, on that screen, a menu option where you can choose 'Wayland session'. Choose that, and use the neong15ways.zip package for the fullest use of G15 PMN on today's machines. Switch to X Windows session when a program isn't yet up to handle the elegant Wayland. Wayland is the best when it works and it always works with G15 PMN. More info and exciting programs: g15pmn.com Quicklinks: For neon Linux neong15ways.zip incl game and robotapp capacities w/Wayland info in 015inneon.txt {xorg patch: g15rwx.zip} G15 PMN for Windows also: g15robot y6.zip (most earlier linuxes) y6all.zip (earliest linux) bnw.zip (y6all printable conversion) g15sp_f.zip (read below) In addition: Virtual mini-version also for Apple via VirtualBox
Full G15 PMN runs, in all senses, on normal Android phones, but installation requires going through our own APK place, and that you set up a keyboard in one way or another: G15 PMN natively on Android Phones For experts: G15 PMN at Android-x86 at PC Zip for G15 PMN at Android-x86 at PC To set neong15ways.zip up to work straight on a 64-bit Neon KDE gnu/Linux from neon.kde.org on a laptop is straightforward. For any earlier Linux, using Xorg use SDL 1.2 and y6.zip {which can also be combined with G15CONTROL to have much the same roboapp steering as neong15ways.zip can, and y6.zip can usually be set up to work with 64-bit Linux given some extra commands. You can also experiment with using eg the G15ROBOT in MsWindow if you get it to relate to MsWindow's 'bash' to run such as G15 roboapps. For Ubuntu 64-bit when logged in with Wayland, you can use theg15ways.zip cfr 015setup.txt. Note that G15 PMN provides absolute compatibility no matter underlaying platform for all standard programs. All of them run the Third Foundation app, and in the same way, started by the same command--this and other apps at the app page: norskesites.org/fic3/fic3inf3.htm. That app, numbered 3,333,333, is the most easy-to-use AND most advanced way to program your own applications in G15 PMN, in terms of how much is preloaded when you start it. But the core is all the same and all standard and all versionless thanks to the definite design of the whole approach. Only that which refers to specific hardware extensions such as robotic devices depend on a technical extended version. As language: G15 PMN is a language that stimulates clarity of the thinking processes both in the programmer and, usually also, in those who are using programs written in that language. It has its own alternative approach to robotic software called FCM, in which the human being is in control over the algorithms, also in the sense of understanding them rather fully; whereas AI is typically a question not only of giving control over to a set of second-hand statistical algorithms, but also typically comes along with a reductionistic worldview and view of the human mind, feeling, body, soul, and the human inbuilt capacity to transcend all machines in intellect, intelligence and intuition. It can be argued in a number of ways that G15 PMN is the world's most human-thought friendly programming language. It can awaken your own creative, natural, nonmechanical, sublime inteligence, merely by engaging regularly in a little programming in it. Why the sitename "fic3"? Because "fic" is part of "fiction" and we're always putting in these nice little whole numbers 3, 5, 15 and such, whenever we can. So fic3 was part of the name of the much earlier Firth234 Lisa Gj2 Fic3 programming language, developed over many years, mentioned in several of the books I've published. The G15 PMN is built on scratch after all this experience because of a sense that beautiful first-hand design requires that one goes totally freshly to the workbench with even fewer of the normal presumptions about computing. To work with G15 PMN is a daily enthusiasm, a continually creative experience, a mind-boggling stimulation; and with a quality that makes such as reading e-book texts via the B9editor as a daily exercise a pure joy--nearly as good as reading a handheld book. The the use of the number "3" in the app page for G15 PMN is also apt because the Third Foundation set of functions for G15 PMN is the core in every app made, just about.
The G15 PMN performs! This is what G15 PMN's GEM image editor came up with in a matter of a couple of minutes, by a couple keyclicks and mousemoves, after we got a black-and-white photo from this fashion site: portraitofgirls.com. G15 PMN GEM, just like G15 PMN B9EDIT, the text editor and text w/graphics reader, is part of the open source of the robust G15 PMN platform & written in the language designed to meet the criterion of matching classical stylish personal computer technology with the modern mind and the quest for meaningfulness and beauty and finesse in algorithmic, arrythmic and musical design. Scientific research suggests that greenliness has a harmonizing effect on the human mind, subtly stimulating and apt for quality-time with a personal computer.
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ** * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * STACK-FRIENDLY AND WARP-FRIENDLY PROGRAMMING LANGUAGE EXPERIENCE * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * This is at the G15 PMN programming language main source location, norskesites.org/fic3, (which has a mirrorsite also), and this page has links to our earlier language forms and the name of this location reflects petnames of earlier forms of this language, and is kept unchanged * First time you've started it: you type CAR in order to * start the card-driver, the main mode for all things done * in G15 PMN. Press lineshifts a couple of times, here it * just tells you the commands, each time, including that * ctr-q is how to get out of CAR. When you want to quit the * G15 PMN you quit CAR and then type REB (for 'reboot'). * You are inside CAR, and watch the main menu. This has * quick access to your own menues, or menues of loaded apps, * which are at cards G:14 and H:1. Such phrases have a letter * first, from C to L, and then a number, from 1 to 2 million, * about. By clicking on the colon you shift view to another * card. But first you activate mouse: CTRL-W. (To deactivate * mouse, right-click it.) To go back to the main menu, the * home card, you press the HOME button of course. You can * also use PgDn and PgUp and such. All this is very obvious * after even a couple of minutes. * The CTR-R centers the text marker during the Edit mode * in the CAR editor, so you can write on the second column. * Tabulator removes a bunch of characters. * You will find, on the main menu, the word B9edit, and * after this, a phrase rather like C/599. This means that * the program is at C599 and to run it, you click on the * arrow-like symbol, which is our modification of the * percentage symbol. And when you make your own programs, * to run them, you just type in a similar phrase and store * it on a card by CTR-S. * So, by clicking at that arrow after B9edit, and pressing * the usual lineshift a couple of times, you are ready to * type in your first text in G15 PMN. Congratulations! * Having typed it, you press F3 for load and save options. * All these options are shown by the HOME button when pressed * inside the B9edit. The HOME button also has this function * when inside the G15 PMN GEM image editor we've made and * which is standard in the G15 PMN platform. * So you press F3 and then a number. There is one number * for load and another for the usual save. The number for * load is 4, and the number for usual save is 1. This time * select 1, to save it. Type for instance i1 and press * lineshift. It will now tell that the text is stored at i1. * It will also tell you how many cards it needs, and when * you want to export texts by using one of the programs * on the utility menu, you would save it to a particular * place, the pad as we call it, which is c9000. You would * also then make a note of how many cards it requires. * So press lineshift a couple of times, and leave B9edit * by pressing F1 if you're ready. Then restart B9edit, * press F3 and select 4 to load, and type in the i1 again. * Your text should appear! Again, congratulations! * This G15 PMN program called B9edit is there in full * source, and that is the case with EVERY G15 PMN program. * Like Perl, it is a programming language which invites * your own mind and heart to be part of the process, * by focussing on easy availability of source, and often * all as one stream, rather than divided up hierarchically. * To exit the platform in this first run, press F1 to * quit your B9edit session, CTR-Q to leave CAR, and type REB. * Next time you may want to try other programs, screensavers, * various things, and have a look at the G15 PMN documentation * which is inside it, and start trying to make some programs * on your own according to the documentation. ******************************************************************* Welcome! The G15 PMN programming language, which can run direct in a variety of linux and other contexts there is, and comes with plenty of source even so as to work as its own O.S. in a way, is available on this page. G15 PMN is a novel stack-friendly programming language with an elegant simplicity and a new type of design that makes thinking about stacks easier than in any stack-based language with any relationship to Forth at all, as far as we can tell. It is very source-oriented: not just the programs are compiled (in a threaded way) during startup, but most of the language itself is compiled during startup, Just-In-Time, JIT, to the around 240 instructions that make up a virtual G15 CPU. This virtual CPU is designed so that it can be also be turned into a real electronic CPU. There is information on other pages in our set of pages about G15 hardware projects and options. The YOGA6DORG G15 is then a very concise 32-bit assembly language. The G15 PMN is any use of the G15 with the PMN higher-level language written in G15, on top of it. Since the G15 PMN compiles its PMN part during startup, it means that PMN can be extended without a second thought about it, by a programmer seeking extra speed or capacities in a certain part of the program. The design decisions penetrating the way G15 is built up -- through its variety of text editors, it ways of dealing with cards rather than files, and consistently some ten disks of these cards; through its lush monochrome beauty- and art-oriented fonts and compact consistent header-less image handling, and through the two-column big arrythmic 'robot font' setting up the PMN programs so as to make them not just 'write-only', but 'both-write-and-read-and-rewrite', -- all this comprises a fresh approach to the creative thinker and worker wanting a truly Personal set of computers in a working or living situation for good independent work and activity. This programming language comes also as a result of wanting to find a reliable robust way to express enduring logical expressions without reliance of constant version-updates. A good number of standard applications in it -- here, as with most modern platforms, shortened into the word "app" in the most general sense of that abbreviation -- shows that G15 PMN has now received a form where further features of it are to be added when each application is written but all core features are kept as they are. Whatever there may be of undiscovered possible workarounds there cannot be any issue that wouldn't have been discovered after the intensity of use of this language in a variety of contexts for a good while now. This can be said because the language permits a very clear-cut overview, due to its compactness and simplicity. How to make a program that says Hello world! helloyo= ^Hello world! pp. How to run it: helloyo The lines can be typed in directly, and extremely easy probing into programs during development can thereby happen. For those who have only worked with compilers -- this is something of enormous value when it comes to development of huge programs, and G15 PMN has proven to retain its sense of simplicity even as programs grow over thousands of cards, each card with very short lines, two coluns of them, and usually edited in what is called the 'CAR' editor of the G15 platform. The B9edit editor has a vaguely more courier like main font, suitable also for flowing artistic thinking when creating new texts. The painting background of the undersigned has led there to be a number of encouragements built into the G15 platform to engage in artist activities, however the platform is utterly easy to completely reconfigure, and has its own unique GUI, oriented towards starting up the programs that one wants. Its "home card" is, of course, G:15. Such a program as above one can also type into a card with two columns, large beautiful font and eight lines in each card; to compile in a series of cards one uses the command cc, such as ^k1 cc which compiles in any program beginning with card 1 in disk k. How to make a loop that counts from one to ten, and run it: loopfun= ll:10 i1 nn lo. loopfun This uses the output 'nn', one of the predefined (PD) words. By using a PD such as 'bx', one can get it shown in a different font, and anywhere on the standard defined screen. The graphics mode is always available intermeshed with any text usage, not just in the threaded-compiled PMN functions, but also interactively, by commands typed in. In this way one can set up graphical patterns via line by line programming, before one incorporates them to cards for a program. These cards can then be started, in terms of JIT performance, by a mouse click by merely referring to them on the card, using the variation over the percentage sign included in this English 7-bit ascii Robot-font used in the 'CAR' card editor and general G15 maintenance program and compiler. Note that the ll is small letter LL, indicating loop, while the i1 is the letter "i" plus the digit 1 -- something not shown as easy in any classical font like courier or arial as in the robotfont provided as standard in the G15 platform, with the G15 PMN language penetrating it. How to make a number variable: monthnum= ^. How to set value of the number variable, and get it, and show it: 12 monthnum kl monthnum lk nn How to create a text constant: dayname= ^Friday. How to print out the text constant: dayname pp How to create a text variable size 50 (note that any text constant can be used as a small text variable, it is a question of whether to use the 'lk' and 'kl' two-letter commands after it, or use it directly to give its address; the two-letter commands are all called 'predefined' (PD) commands and these are all written directly in G15 while PMN proper are three letters and more: yourname= ^. 50 sz && yourname kl How to transfer text to the text variable: yourname lk &Jane& tt This retains the size set by the original 'sz' command. However you can also change what the variable points to simply by &Tarzan& yourname kl How to transfer a parameter to a function, let's say a function that multiplies a number with itself and shows it: longstocking= f mm nn. 3 longstocking This should give nine. Now, each function has a bunch of easy to use variables, and the loop already used one of them -- i1. Let us give four values to a function and do some multiplication and addition and so on with them in a complicated way, without using the notion of stacks very much. The above letter 'f' forged a duplicate on top of the stack. In the next approach, we use the local variables instead of such thinking. The only reminder of the facts that stacks are used here is that the first numbers are fetched in the sequence of the highest-numbered parameter first. We also give a comment here, to tell that there are four numbers into this function. Further, we also shows how the two columns typically used in the cards 'speak to one another', making programming a zen-like meditative process, quite often: calculate= i1 |In:four nums i2 |Gives:one num ad s4 i3 s3 mm s2 i4 s1 mm. How to make a number constant: pippi= 31415. This reminds us to tell that the 32-bit whole number approach taken with G15 PMN is also done so that in the core G15 PMN there are whole number versions of Sine, Cosine, and related trigonometric functions, where a certain number of decimal digits are assumed. This is fast enough to do a whole range of graphical applications and requires no extra co-processor for mathematical operations. One of the further features of the G15 PMN language is that the loop constructs and the conditional constructs are meaningfully minimal, however the G15 assembly has of course the whole range of possibilities, and can and should be used by the G15 PMN programmer in some situations. It is the approach of the G15 PMN layout to deal as little as possible with 'blocks' and encourage a column-oriented thinking which coheres with stacks and with the notion of algorithmic step by step handling by the CPU of a program, rather than attempting to mimick concurrency. This fits with a notion that well-written programs can do things simply by virtue of the speed of the computer which appear parallel enough to the human interactor without changing the stable core-structure of the CPU. Conditional expression -- is this number above 5? If so it says yes, otherwise it says no. tellit= se s1 w &yes& &no& pp i1 sh. 5 gt The way to read the card above is to first read the left column, then the right column. This is far more obvious when shown in the CAR editor, of course. However if the program is TYPED IN, it is all typed in as one column. The vertically is an enforced feature of the language, which is found to greatly clarify the content of the functions as they move things around. 15 tellit It will tell yes Explanation: the s1 stores to local variable i1. The two texts are put to stack. The gt compares greater. The 'se' sees whether the result of last comparision worked out to Boolean true, which is here 1, otherwise it is 0. In such a case, it does a shift around of the two topmost items on stack. The 'se' acts on the NEXT line -- without any start or completion element for any 'block' as in Forth IF THEN. It prints on screen, pp. Then removes the remaining item, by sh. Notice that for most programs, blocks aren't necessary to when one thinks it through, especially not when one has the instant informality of making new functions in this way. Any required block is simply made into a new function, and the se and the more advanced d2 operator, which is used to select one of a whole range of options, can then pick out the right one. Naming a block as a function works fast enough and provides a natural inline documentation of the program; the fastest loops can still be made in the underlaying G15 in cases of handling eg a 500x500 image (also called, here, a G15 GEM image) in a complicated way. To handle a warp, to put a new function into an open slot: mywarp= ^. domywarp= mywarp lk pf. This sets it up. The running of 'domywarp' starts the function that hasn't yet been written, and which can be put into the slot called mywarp, and which can be replaced any number of times also during program run. For instance, the helloyo on top: &helloyo& ff mywarp kl Next time we type domywarp We get Hello world! But if we do something like nice= &Try me!& pp. And then do, inside or outside a function (notice that Forth doesn't do such pointer-wrapping with perfect equality inside as outside a function): &nice& ff mywarp kl Then next time we type domywarp We get Try me! The PMN extension to G15 Yoga6dorg assembly comes first as a core set good for learning PMN. Then, it is given in a variety of natural extensions with the applications. Some of the more common extensions are gathered in what is inside the G15 platform called a 'High-powered PMN Terminal'. This, together with the FDB, or Flexible Data Base set of algorithms, provides the larger part of the programs used to drive the servers in the yoga6d.org/newlook.htm hashed search engine. The programmer may find it of some interest that each time the button to search with this engine is pressed, the G15 compiles all of the High-powered PMN Terminal BEFORE getting on to actually handle the hashing. The speed of this -- the sense that this happens in an instant, more or less, is itself a token of how much can be gained from having a compact well-designed elegant stack-friendly and warp-friendly programming language with a core set of CPU instructions that it is compiled towards. The threaded type of compilation introduced by Chuck Moore is more or less similar to the approach taken here; while certain structural finesses are gathered from a series of conversation with the Simula co-author (and friend of this writer's family) Kristen Nygaard around year 2000, in early stages with prior forms of this language. Much earlier on, this author had the fortune of having a dozen or so conversations with David Bohm, after having greatly enjoyed his Wholeness and Implicate Order book from 1980. A great many conversations with the norwegian logician and eco-philosopher Arne Naess prior to 1996 influenced many key aspects of the work towards expressions having a content which can map what they point towards in a meaningful and concise way -- something which, in his own way, Naess managed to combine with an extraordinary capacity for making humorous observations about most things in life. To round of this introduction into the core features of the G15 PMN language, let us point out that in praxis, most complicated applications turn out to organise data by means of matrices -- to the extent that it is tempting to say that it is also "matrix- oriented". There is a variety of equally easy to use matrix operators. The two forms of the quote used above, the ^ and &, has a special form used for quotes over several lines, and any of these quotes can be used to define a matrix, and with the word 'sz' to set size, it can have any size (within the RAM structure of the G15 approach). Then, words like AY and YA read and write, respectively, to the structure as an array, while WW and YY do the same of it in terms of a matrix, once the matrix has been given a size also. The fact that the very tiny set of operators can cover such advanced application needs suggest that the possibility of getting also very young and otherwise not altogether technically oriented minds to learn this language is very real. It furthermore suggests that we have a set of functions which has something of the early aura associated with the first mathematical textbooks, before the time of the comprehension that Thoralf Skolem and Kurt Goedel started -- namely, that mathematics in most advanced senses (and thereby also physics) have an incomplete core. But the notion of this always-expandable set of G15 PMN functions which honor the notions of a meaningful 32-bit finite computer, with no pretention of going into any form of infinity at all, leaves the possibility open for this proposal: that we have here a kind of core logical thinking language also, which is suitable for scientific documents in a way which transcends any particular technological phase we may be in. The notion of the versionlessness, the minimalistic but warmly artistic approach to the use of monitor, and the focus on the core components of the computer, viz., the CPU, the harddisk, the display, the keyboard input, and the mouse pointer input, in the layout of the G15 assembly, means that we have something which in some sense always will be performable in any future context. About the name "G15 PMN" for this stack-based, or, as we like to say, stack-friendly programming language: First, the G15 was thought of as a good name for a new type of CPU. A CPU is a technical thing, and G15 has in it a psychologically pleasant and meaningful number, a small number, yet capable -- in terms of Good digits, 15 Good digits, of holding much more than the 32-bit number area. A CPU is not just a number holder, it is also doing things with these numbers and with the machinery around it -- so it is more than just the size of its numbers. The number 15 psychologically contains this expanded range without going too high. The design of the core instruction set then brought forward a set of as uncluttered as possible core instructions which could fortify what we have earlier conceptualised as a first-hand relationship to numbers, where numbers aren't treated statistically but by constantly engaging in them -- whole numbers, and not so huge that the programmer cannot get a relationship to them (unlike numbers of, say, a hundred digits). In addition, the number 15 is approximately the number of instruction lines on each card (which is two times eight, but often at least one of these are used for comments). So G15 in addition suggests the card concept. The number 15 is also not much higher than the number of disks in each G15 operation (which are labelled up to disk L). A series of programs made in a gradually evolving set of stack-based programming languages, beginning with DOS-types of compilations of a string-stack language, suggested that some new thinking had to go into getting towards a more easy-going stack "friendliness" with some less reliance on strings (for speed) and more reliance on local variables (for less cluttering with stacks). An utter simplicty was sought for most meaningful, most mind-ful expressions. These needed to cohere with the G15 underneath, and yet be distinctly easy, whereas G15 assembly can look a bit too much with all its numbers and more technical layout. I wanted a Primary language -- in the sense that it is easy to begin to program new applications, but also easy to begin with in the sense that one has a medititive 'beginner's mind' -- including also the young mind of someone who hasn't done much programming before. The educational setting is indicated by universities, multiversities (as we prefer to call it), and the creative relationship to interpretation of scientific data which is part of the background of this author through the relationship also to the physics of David Bohm, and other works in foundational physics, -- so also 'multiverse' came in; a word also often used to indicate pluralism in Linux Ubuntu contexts, of course. The word mind is contained in the notion of the greek Nous, and Noetics suggests that it is a logic or teaching of mind somehow implied in the approach. All in all, PMN, a Primary Multiverse Noetics, came to be a working name of the language, but with more of the sense of PMN and, in particular, G15 PMN, being the full and actual name, rather than these being in any ways acronyms for anything. As with any creative process, names and ambiguities and playfulness trigger a variety of insights into possible new developments; it is not strange that there have been many other names involved in this decade-long development process, and the PMN name has roots also in other explorations we have done, including a set of robot-oriented works we called, for a while, PatMatNet. However, the G15 PMN platform is consciously ARRYTHMIC (cfr archive_page_10 for philosophical comments on the arrythmic -- and also, while cautiously inviting some forms of squarish robotic use and a limited notion of machine 'learning' applied to these, is informed by such as the Kurt Goedel 2nd incompleteness theorem to the extent that any element whatsoever of 'imitation of mind' is sought to be regarded as in bad taste and to be strongly avoided. This fits marvellously well with the notion of stimulation of mind taken to the point where such as 2D games, and images which are still rather than put on top of one another to mimick movement, are found to be more conducive to mental harmony and -- just as listening to radio and reading involves more brain activity than watching television or video -- all this goes together with the notion that the G15 Yoga6dorg PMN platform stimulates the creative individual, and does so in ways which steer completely free of 'addictive' ways of using computers, or ways which could lead to other mental influences than stimulation (such as a dependency). The platform as a whole is programmed, in part direct in G15 and in part in PMN on top of G15, to encourage own use of mind and a relationship to numbers rather than a concealment of numbers. Overhelpfulness of the computer isn't sought: rather, a simple way of stimulating to own inner complexity and capacity is sought. It is also believed that this has been well realised with the G15 platform, and this will be taken further in our G15 PC and their intranet networking capacities, when the G15 CPU has been constructed out of larger-than-chip-sized and generalised forms of what we call "intraplates". The G15 core and fonts were made in 2012, and the PMN took shape in the two next years and in 2015 has been unchanged through a number of applications including the G15 B9edit editor and the G15 GEM image editor; a number of applications in addition to numerous core programs and examples are constantly in development, also for technical use of electronics design. How does this language differ from Forth? * Variables are here, in terms of type, a particular form of normal functions instead of a separate entitity as in Forth. * The quote operators ^ and &&, as well as the longquote operators LONGTXT* .. *TXTCOMPLETE, are integrated operators and used not just for quotes, but also for number variables and even to define megabyte-size arrays and matrices. This development means that the Forth approach of having a quote-word, and in addition such as a HERE memory pointer, are here combined into one type of structure which can be given several forms -- the ^ which uses the notion of the slim column to complete its quote, or goes up to the function complete token, the dot (.), the & & which is used eg to include a space at the completion, and the LONGTXT* .. *TXTCOMPLETE over e.g. many cards -- these behave identically in that they leave a pointer to the structure created, and this structure may be preset by SZ to be a giant thing. (In PMN, the quotes have a counter first as a 32-bit number, and completes with a nil-char; but arrays and matrices do not have to use any nil-char or such, even as they are initialised by means of the quote operators.) * There are local variables, many of them, for each function, automatically defined, and implemented in such a way as to, by intention, replacing, for the most part, the majority of that which is done by stack operations in Forth such as its DUP and SWAP (which, however, are available when one wants to in PMN as unique one-letter functions F and W). The ease with which the great quantity of local variables have their values set, and their values retrieved, and the speed of the PMN implementation in G15, means that there is never any use for any such thing as "ROT" and the typical cluttered stack operation feel of Forth and most other stack-based programming language is hardly ever felt in this language, which is painless in that regard. * Main counting loop doesn't use return stack but rather local variables. This leads to a very easy exit from loops in the middle of them (by means of the word EX following the word SE after a condition), without having to sort out stack stuff in terms of the present counter and the maximum value and such. The notion of quickly and effortlessly exiting loops makes a great deal of sense in any language oriented towards making many short functions. The LL loop starts at 1 and goes up to the number given, but the counter can be as easily adjusted as any other local variable in the midst of running, and there is a PD (a predefined word) which gives the counter value minus 1, the M1, so that it can act on arrays and such where a zero start is sought. Since this is a consciously 32-bit language, with a certain range of megabytes not going up to gigabytes, the notion of 'infinite' loops are most easily introduced either by using 2 billion as counter value, or setting the counter value again and again to 1, although the words D2, and also DE, as well as additional PD's, can be used in setting up these types of loops. There are many enough ready defined local variables that the deeper levels of nesting at more than a handful of levels offer no problem at all. * In addition there are of course a large number of differences in naming and looks, including also the enforced two-column layout; while a number of similarities with Forth also exists -- and one is that the concept of the cards as here invoked has an analogy with how some of the earliest Forth platforms organised the disk when they were running as their own operating systems. The informality and direct responsivity of the computer is something -- as eminently spoken about in the classic Forth-book Starting Forth by Leo Brodie -- which is also found in PMN, while the consistently 32-bit orientation throughout makes it a natural language for the type of personal computer that can do the expected wide range of actions, and which effortlessly organises megabytes of RAM also through its standardised, uncluttered notions of pointers, or warps, as it is here called. Aristo Tacoma 26 April 2015 P.S. The introduction above didn't include examples of G15 code -- also called G15 assembler code, or G15 YOGA6DORG -- because there are some samples of this code further on this page, and because this instruction set, while elegant and concise, and compiles itself by the CAR editor also written in itself, has most of its features in common with what is expected of any typical CPU language. There are philosophical and computational bridges between the G15 assembly and the PMN on the one hand, and a common design interest which has been evoked in part by means of philosophy, art and physics, but the PMN exemplifies the novelity of the language experience best. Please also note that some parts of the rest of this page are meant to shore up interest in those who perhaps wouldn't normally want to go into a programming language page, and aren't as technically calm as this introduction. The artistic approach by this author is that of suggesting to young student minds that in order to bring about artistic insight, they must connect also much to the beauty of human anatomy, and fear not the logical and also number-oriented exploration of deeper symmetries and also arrythmic proportions in the well- trained and young girl. This allows the energy of mind to come also to stronger insights into worldviews, and makes it easier to learn and do good programming, for it is well-known that the human brain powers itself on dramatic images and emotions, in order to enhance the swiftness of its memory and learning processes. The platform does however WORK technically with a remarkable stability and has a great number of utilities and some core applications which have proven to be excellent contributions, at least in the opinion of the undersigned. Even the biggest of G15 PMN programs have proven stable beyond anything seen with any other programming language, including with our own earlier forms of of stack-based programming. It is used every day for a variety of purposes and remains a key component of a number of projects in development, some of them with a very long-term futuristic view indeed! ;-) SOME MORE INFO ABOUT THE EARLIEST ZIPS {FOR NEWEST INSTALLATION INFO SEE LINKS AT TOP OF THIS PAGE} More info on each implementation further on in this page. In our installation texts {for 32-bit} you are often supposed to know how to get into the socalled Administrator (also called Root) mode on a text terminal. For instance, in SparkyLinux, Ubuntu and a number of other linuxes, you type a command like sudo -i and answer with your normal password, after you've open a plain Terminal in a program menu. In some other linuxes, the command is rather su Once you have 'Switched User' by such a command, you can follow instructions such as to put the Allegro graphical library to /usr/lib in the way the liball.txt in y6all.zip tells you to. In some linuxes, you may want to perform G15 PMN as an Administrator, but think through security questions before running any program this way, especially when it's a PC connected to the typical internet with all its viruses. In some linuxes, G15 PMN is a little demanding when it is run from the Administrator mode in fullscreen, but totally stable when you run is as a normal user in fullscreen instead. In some linuxes, the y6.zip is the preferred way connected to stability. The G15 PMN platform AS SUCH has proven stable, robust, and well-working beyond our wildest dreams. But obviously, with all the great variety of Linux operating systems out there, you may have to tweak it and find which way -- fullscreen, or in a frame, as administrator, or as normal user, via the y6all, or via y6, or, if you like, by means of classical DOS. The y6.zip tackles elementary pixel ouput and mouse and keyboard input via the highly normal and classic SDL1.2 library, for Linux, esp 32-bit but also some 64-bit. The y6all.zip tackles the same via Shawn Hargreaves Allegro library which was originally for DOS. It isn't as fast as y6.zip and some modern linuxes chokes in some setups with this but it is has its own charm, and resonates with the G15 PC shape of the mouse. The y6all may not like that the uppermost line on the screen is occupied by system notifications-- that may cause it to exit once in a while. It is then however possible to run in a frame, some of the time, and this feature allows you to use the capacity of y6all to do what y6 doesn't do, namely to produce its own perfect screen captures. The y6 and y6all are compatible with all the general apps, games etc, with the windows versions of G15 PMN. Links to the Windows versions are also at the G15 PMN app page.
>~~~~~~~~~~~~~~~~~GEEEEEE~~~~~~~~\\\FIFTEEEEEN///: Make program with the same pride as the ancients made equations, but with the difference that whereas most of those equations are made obsolete, the programs you make in G15 Yoga6dorg and the Primary Multiverse Noetics, or PMN, The Multiverse Programming Language, are going to be fully and completely and totally meaningful also in the next decade, also in the next century, also in the next millenia -- because it concerns the quintessential forms of text, graphics and beauty. So when you write your deep-into-the-night scifi erotic story you have to connect to the vast future of humanity, and you have to switch off any contemporary worries and transcend any of the fashion trends which are petty, not worth it -- such as the operating systems dictated by the hierarchical norms of the 20th century with their 'frames' and 'buttons' and 'objects'. The fluid slim elegant thinking of PMN -- edited by the CAR editor, itself written in G15 Yoga6dorg, with its 240 instructions -- performs on any hardware whatsoever as long as it is capable of holding 32-bit numbers and cascading them about at enough megahertz and over enough megabytes. This is the PSCYHOLOGICALLY MEANINGFUL COMPUTER idea. What you make for this computer, you make for all eternity -- if it's worth it! So give yourself the joy of getting become one of PMN's best friends. PMN won't ever let you down. You are gazing at version 3000 of PMN. Version 4000 of PMN. Version 1000000 of PMN. ETC. ~~~~~~~~~~~~~~~~~GEEEEEE~~~~~~~~\\\FIFTEEEEEN///: So you want to write your story. Deep into the night you boot up the B9EDIT. THIS is what appears: YOGA6DORG_G15: THE WORLD IS ALSO INSIDE A free stable platform for all sorts of programming and also to make and run artistic mind-stimulating drawable games; by Ari$to Tacoma {ATWLAH) ~~~~~~~~~~~~~~~~~GEEEEEE~~~~~~~~\\\FIFTEEEEEN///: Mirror pages: https://www.moscowsites.org/fic3 https://www.norskesites.org/fic3 G15 PMN First-hand programming language G15 PMN TO HONOR MINDFULNESS Anaiis Blondin, 0004, triple-o-four, in the Gracejintu Galaxy, concepts by Aristo Tacoma Click, to enter into the Cartoon Dimension: >>>>>FREE G15 PMN GAMES ETC<<<<< Anaiis Blondin, agent 0004 in the Gracejintu Galaxy's Secret Service, in a G15 PMN Curveart game as played on any PC, best on its own G15 PC hardware, or in Linux, but we have done much fun with with DOS with widescreen using the Firth DOS-compatible Firth234 Operating Approach for Computers, with its arrythmic texture generated by the NOISY approach to graphics, crunching pixels so as to blend them dancingly socially/sideways, while keeping erectness vertically}. This type of game is made on the premise that it stimulates without over-stimulating in the way blue does (much use of blue generates sleeplessness due to the morning-only expectations in the natural eye retinas of humans), and so it can make great fun without causing problems of the addictive kind which has been typical of mostly all propagandised games and game-like interfaces like social media and mobile phones have seen. ~~~~~~~~~~~~~~~~~GEEEEEE~~~~~~~~\\\FIFTEEEEEN///: As background -- why the G15 YOGA6DORG, also called the G15 assembly, which is naturally used through its PMN higher level, is necessary, and why it's so different than (the approach taken before its launch in) the computing industry, please read (fast): aristo_tacoma_on_the_rise_and_fall_of_object_oriented_programming.txt What does coding in G15 assembly look like? Like itself, that's what. Screenshot from CAR, the cards driver, written in G15 assembly, also called G15 Yoga6dorg assembly, while working on an utility program: A minimal editor suitable for writing articles and books, part of the source of the G15 platform, which also is an OS in its own way. This is written directly in G15 assembly, using only its core set of about 240 instructions and a lot of numbers. PMN is the easier way to begin to program, but it is good to know what G15 on its own looks like, too: the look of genuine programming IN GENERAL, WE STRONGLY ADVICE AGAINST CUTTING AWAY MOUSE AND/OR KEYBOARD AND ALSO ADVICE AGAINST USING TINY-SCREEN DEVICES AND ALSO OTHER DEVICES THAT AIM AT 'BLENDING' WITH THE ACTUAL WORLD (SOMETIMES MISNAMED "AUGMENTED REALITY"), EITHER BY GLASSES OR BY OVERDONE 3D, IF YOU WANT TO KEEP YOUR MIND UP AND INTELLIGENT AND AWAKENED. THERE IS SOME VALIDITY TO HONORING SOME STANDARDS, NOT TO MAKE THINGS SO HIGH-RESOLUTION OR "AUGMENTED" OR "BLENDED" OR SO FANCY THAT THEY NO LONGER PROVIDE A PROPER WORKING PLACE. IN ORDER TO SEE SOMETHING OF THIS, ONE MUST THINK AHEAD, NOT MERELY RUSH ALONG WITH THE CROWDS AND BELIEVE THE HYPE. INSIDE NEXT PARAGRAPH YOU FIND A QUOTE FROM A REFLECTIVE COMMENTATOR ON COMPUTING TECHNOLOGY. So, to be an active contributor by means of a computer, it must be a personal computer with a systematic and good and well-tested way of fetching input from you, that you can somehow edit and publish; and the very same features are used in mind-stimulating programming and in some forms of gaming. A TV, a radio, or a mostly-output computing device like a "tablet" is not competing with the Personal Computer concept. The computer industry, after a great deal of experimentation, is now profoundly aware of this. The fact of low price on some mini-PCs, and a sense of over-hyping here and there, may lead to sales waves in PCs, but the PC is here to stay. As for the endurance of PC, also PC laptop and notebook -- we quote here, much abbreviated, from an article by the leading tech commentator Steven J. Vaughan-Nichols, known for his influencing articles at ZDNet.com; with articles also published at his www.practical-tech.com. Cfr e.g. here. <<You really can use a tablet for some work purposes, but it works far better if you're primarily an information consumer rather than an information producer. [..] If you're putting data into a spreadsheet, creating web pages, or writing long emails or documents, the platform can quickly become annoying. You can solve those problems with an [added] keyboard and a mouse, but do you know what you call a tablet with a keyboard and a mouse? I call it a laptop computer, myself. [..One of the leading employees in one of the leading tablet producers] -- a hard-core [tablet user], recently had to throw in the towel because of "gorilla arm". This ailment [..] happens when you're always bringing your arm up to touch a screen. [..] the result was so painful that he would "sometimes rush through posts just to get them finished".>> The Personal Computer concept -- whether it is laptop or desktop, whether it has this CPU or that CPU, whether produced by this producer or by that producer, and whether with this operating system or that operating system, is a factor in the steady self-education of all individuals who want to contribute creatively to this world, not merely consume products made by others. The PC -- not a simplification of it suitable for some limited outdoor uses or where space is extremely minimal -- but a full PC, at least a PC notebook or netbook, is a vital factor in the self-education of all, as human beings and as professionals, at schools and higher education centres, and for most forms of office work. ARCHIVED INFORMATION AND LINKS -- EARLIEST ZIPS The G15 PMN programming language, and the G15 platform, for a wide set of linuxes (also as early linuxes as RH8), the stable peak implementation Y6ALL. GET THE *****y6all.zip$$$$$ HERE'S A PREVIEW OF readme.txt INSIDE THE y6all.zip: readme.txt TO WORK WITH Y6ALL.ZIP TO PRODUCE PROFESSIONAL BLACK-AND-WHITE: The Y6ALL can work in a range of Linuxes, and in cases where it doesn't work as well as Y6 in fullscreen mode, it can typically be run in a 1024x768 frame. However the y6.zip tends to be much more stable when the Linux isn't as 'bare' as Red Hat 8.0. Inside Y6ALL, when the <Delete> button is pressed it will save the present G15 PMN screen to a file called xo1.bmp, and the next {in the same session} to xo2.bmp, and so on; supposing that the program you run in G15 expects keyboard input. In Y6, the same button is used to switch between Linux menues and G15 PMN fullscreen. In any case, here is the bnw.zip freeware: bnw.zip. When you use Red Hat 8.0 or any such 'pure' linux which doesn't perhaps have as many inbuilt conversion programs as some other linuxes, this particular freeware can help swift production of many black'n'white printer-ready images from fullscreen work in Y6ALL in RH8: toprint. This little extra freeware is tailormade to work in RH8 but toprint can also work in newer linuxes on condition that Y6ALL is used in a frame of 1024*768 or on such a monitor. The bnw.zip is more flexible than toprint.zip as for file input sizes. The freeware bnw.zip and toprint.zip, linked to just above, is original and produced here, for professional G15 PMN work, and these programs are self-explaining and easy to use on a command line from any 32-bit Linux. If in doubt which .zip to choose as for printout conversion from Y6ALL, then try the bnw.zip first, as it explains more. In Linux, a command like convert alphabet.bmp alphabet.gif can then further convert the output from such as bnw to a more compact .gif format that retains the same crisp sharpness. Use gimp for more conversion options. The G15 PMN programming language, and the G15 platform, for a fairly wide set of linuxes, using the SDL library, the stable implementation Y6. GET THE *****y6.zip$$$$$ HERE'S A PREVIEW OF readme.txt INSIDE THE y6.zip: readme.txt ~~~~~~~~~~~~~~~~~GEEEEEE~~~~~~~~\\\FIFTEEEEEN///:~~~~~~~~~~~~~~~~~GEEEEEE~~~~~~~~\\\FIFTEEEEEN///: EARLIEST ZIPS -- SOME ARCHIVED INFO AND LINKS *****$#f$#f$#f$#f****** Useful links: $#f$#f$#f$#f$#f$#f******** Some comments here follow of a kind that one doesn't have to look into if one has a G15 up and running and with a mouse that has been adjusted to proper slowness to accomodate artistic sketching. If one needs to get a linux up and running, prefer always a linux in love with the so-called X windows approach, eg from sparkylinux.org, which allows more advanced mouse adjustment than several other types of graphics background platforms. Deceleration of a mouse -- e.g. an optic mouse bought separately and plugged into the USB -- is vital, critical to make new Curveart games or so that children should gain a sense of real artistic mastery using Curveart. (See the graphics plate beneath). Make a new Linux installation when you already have Linux, and e.g. in a "Software Center" part of the Linux acquire the program UNETBOOTIN, which in our experience is eminently effective for such as installing such as Sparkylinux.org: https://www.pendrivelinux.com/using-unetbootin-to-create-a-linux-usb-from-linux/ Technical note: in CentOS, and in all RedHat/Fedora-variations, to do things as Administrator one either logs in as user "root", or one opens the program Terminal and one types su (for switch user), and after one has answered to the password prompt for the root password, one then proceeds to type sudo -i to activate the command line fully as a pleasant Administrator mode. For security aspects of doing anything of this nature, please carefully read the readme.txt in the y6all.zip above. In many linuxes, one doesn't type su first, but rather one goes straight to typing sudo -i and one will be prompted for password. In adjusting Preferences for your Terminal, you can get the first command typed inserted as a command that is automatically performed, so that, when you open the Terminal, you will straight away be prompted for password. Info on how to make a new Linux installation: https://www.pendrivelinux.com/universal-usb-installer-easy-as-1-2-3/ Various hints on getting a USB drive re-formatted if an issue arises {{{{if you have such as Ubuntu 11 or Centos 5.5 -- the 5.5 version available at links described in the g15sp_f.zip packaged below on this fic3 page -- the command  mkfs -t vfat /dev/xxxN  will do the trick, but as to know what to write for xxxN must be worked out, there are comments about this in yoga6d.org/economy.htm column. The following link tells us that fdisk -l will show which is the USB pendisk, and it tells us that fdisk /dev/xxxN with option d to delete partion will cleanse it; followed by umount /dev/xxxN and an mkfs command, which is there given as mkfs.vfat -F 32 /dev/xxxN -- our only additional suggestion is that one should type in the mkfs command before the umount command, and get the message that the medium ought to be 'unmounted' first. Then, one types in the umount command and, at the next split second after pressing lineshift, one clicks up-arrow and lineshift so that one starts the formatting command mkfs BEFORE any automatic remounting can happen, as is often the case with linuxes with newer kernels compared to classic ones like that in Centos 5.5 or even earlier ones like Red Hat 8.0}}}} https://www.pendrivelinux.com/restoring-your-usb-key-partition/ Note that the adjustment of mouse-speeds are important when plugging a mouse into a laptop, as laptops typically, in Linux, over-speed the plugged mouses in it. Extra adjustments beyond the control panels are then needed. Consult the included slomouse.sh and its shorter form in o.sh, and related tiny text files inside the y6all.zip for how to do it. Technically, what they do is shown in the following image, and it should work with most modern "X Windows" oriented Linuxes to fully make the mouse respond as sensitively slow as you want it for great artistic productions e.g. in curveart -- and all this is provided as .sh files which you can edit yourself for fine-tuning inside the y6all.zip package. These .sh files, such as slomouse.sh or o.sh, can also be used when running other programs on same platform to. SEE ALSO SOME NOTES OF USE OF THIS IN EDUCATION AT THE COMPLETION OF THIS PAGE. The yoga4d.org/cfdl.txt sets the standard for honoring creative original works -- in general spirit as clearly applies to ALL the works delivered here, also the freeware binary-only, and most concretely to the source code text files also included here, such as the G15 OS source elements. Apps and essays for G15 PMN: ../fic3/fic3inf3.htm OUR GENEROUS LICENSE: Binary files can also be redistributed by very clearly honoring the spirit of the yoga4d.org/cfdl.txt -- including giving reference to this location, and by, in addition, honoring the licenses stated as applying for each of these binary files, if any. This yoga4d.org/cfdl.txt applies as much for companies as for individuals. ************************************************* ************************************************* ************************************************* ************************************************* ************************************************* ************************************************* ************************************************* ************************************************* ************************************************* ************************************************* ************************************************* ************************************************* ************************************************* ************************************************* Link to earlier incarnations of the language productions we now call G15 PMN (and with other petnames as well). These works with the Firth platform, and the Firth platform is installable in a variety of ways if you consult the firth-up.txt which is linked to for instance at our EcoNomy page (search up "firth" in that long page!). There is also technical stuff -- work it out by going to this authentic early page of ours (but since it is early and belong to an archived section of our sites, there is some information here and there, as there also is inside some information texts inside the firth.iso or Lisa_CD platform itself, which have information that isn't exactly to the point: https://www.norskesites.org/fic3/archived_programming_language.htm. The DOS isn't as fully compatible with the designed G15 PC as the Linux versions of the G15 PMN programming language. If you're interested in DOS anyway: By going to the Firth section next, you'll find out how to crown the Firth Operating Approach for computers, the Firth OAC or OS, made by us in OSLOve in ways depending on early 2004 works connected to a great number of people's contributions as open source, freeware and shareware, incl also some of that which is called "FREEDOS" at that time {but note that this is not simply a distribution of that O.S., which has, in any case, since changed somewhat since that time and in ways not followed here, but rather a rework, by patches and by fresh source and by design decisions of a variety of kinds, in alignment with our principles as stated elsewhere -- see the firth-up.txt about that.} ~~~~~~~~~~~~~~~~~GEEEEEE~~~~~~~~\\\FIFTEEEEEN///:~~~~~~~~~~~~~~~~~GEEEEEE~~~~~~~~\\\FIFTEEEEEN///: ~~~~~~~~~~~~~~~~~GEEEEEE~~~~~~~~\\\FIFTEEEEEN///:~~~~~~~~~~~~~~~~~GEEEEEE~~~~~~~~\\\FIFTEEEEEN///: ~~~~~~~~~~~~~~~~~GEEEEEE~~~~~~~~\\\FIFTEEEEEN///:~~~~~~~~~~~~~~~~~GEEEEEE~~~~~~~~\\\FIFTEEEEEN///: ~~~~~~~~~~~~~~~~~GEEEEEE~~~~~~~~\\\FIFTEEEEEN///:~~~~~~~~~~~~~~~~~GEEEEEE~~~~~~~~\\\FIFTEEEEEN///: G15 PMN SERVICE PACKS G15 PMN SERVICE PACKS G15 PMN SERVICE PACKS G15 PMN SERVICE PACKS G15 PMN SERVICE PACKS g15sp_f.zip F for Firth Service pack for Firth DOS incl Dosbox, see next paragraph for valuable extra files, and read the upcoming information before using it virtually. To be used in Dosbox, get also the g15pmnbat_for_dosbox, which linked to beneath. Why does G15SP_F exist? Why run G15 PMN in such as a classic DOS-like context on a classic Y2000 style of PC? The main point, now that we are getting so utterly splendid results with such as the Windows and Linux versions, while working also on the G15 designed intraplates style of newly made CPU, is to underline the point that G15 PMN is its own thing, not at all dependent on a vast hierarchical operating system. It is its own operating system, and can be put in ANY context. G15 PMN in G15SP_F has been extensively tested on REAL PC hardware. It is made for real hardware. It has also been tested somewhat within virtual solutions such as DosBox and those who wish to try these solutions should spend time with the rest of this page and read carefully all the info-texts linked to from this: G15SP_F COMPATIBILITIES WITH VIRTUALS: G15SP_F runs G15 PMN fairly well. There is a slowness as to disk handling compared to Windows and Linux, but that has to do with DOS rather than with the implementation. The y6.zip and the Windows versions are completely stable. There are some exits during the screen update when mouse pointer is intensely used due to how Allegro graphics handles this, shared with y6all and the G15SP_F implementations, but not more than one can learn to handle, given a suitable environment around these packages. The screen update for G15SP_F is fast and as it should be when performed directly on a real i386 compatible PC. When it is performed in such as DosBox or VirtualBox, it is slow--at VirtualBox in a Linux you should have a PC with a speed ca 15 times more than normal to get normal effect of the G15 PMN there; with DosBox it is slightly faster, so 12 times faster is enough there; and Windows usually does these virtual packages somewhat faster than Linux. Other virtual packages may differ here. VirtualBox, however, has a serious flaw in its timer CPU implementation as to how it handles DOS, which DosBox doesn't have, and this hasn't been corrected in VirtualBox for years now. DosBox is completely correct here and is identical as to how G15SP_F performs when direct on hardware including when it boot laptops in legacy boot mode --when these same laptops otherwise run Windows and Linux! This is why we won't correct anything just to fit with VirtualBox. Other virtual implementations of the i386 classic PC may be better at this point. Programmers can however scan for the use of the "TL" function in any game or program, such as the Clock program, and change the division factor from a thousand to a hundred thousand by looking into the source in the CAR editor. That will get VirtualBox to do G15SP_F for normal G15 PMN perfectly enough at this point. So, for G15SP_F, we recommend DosBox on a very PC indeed, or, even better, physical i386 or i586 PC with legacy boot eg through USB pendisk cleverly set up through the Firth/DOS operating approach for computers (which is more and other than merely a FreeDOS distribution, it is an operating system in its own right in many ways). To set up this is fairly simple if you know a bit of DOS and also consult texts on the internet of how to make a pendisk DOS-bootable. Make it DOS-bootable eg by freedos.org approaches, then overwrite the pendisk entirely with the firth.iso--which uses a different file layout, so be sure to reformat in this process. See firth-up.txt for info on how to get the firth.iso, and firth-up.txt is linked to eg from our yoga6d.org/economy.htm. It is a lengthy but very comprehensive text. The G15SP_F.ZIP contains various ways for starting up the graphics, including a crude way to clip the pixels of a widescreen to simulate the correct screen presentation of 1024x768, but which works remarkable well in many situations. This is called 'noisy'. So: G15SP_F is a stable and well-performing package within its perspectives, supports elementary RS232 when installed on DOS-compatible hardware, best for 4"3 monitors 1024*768 with S3 Vesa Video on classic Y2000 style of PC's. The g15sp_f.zip which includes this readme text:info. This has useful extra info in it for how to handle a set of rather early linuxes. Freeware for DOS, to make classic BMP out of jpg jpg2bmp.zip Classic PC Firth environment sound: With PcSpeaker working in your doscompatible approach, here's HMMH Harmony MessyMix Housedance enabled through mp3 in a socalled "CRUEL" crunchy coarse hoarse rich-in-radio-am-noise texture so as to put the music at a distance, allowing a greater sense of own wholeness and our own dancing movements etc -- the anti-ambient approach to high-quality very-low-fidelity playment playmate loveworks: cruel.zip How to modify: once you get it to play, you can alter the preset volume level for each music file from the A120 to e.g. A40, which -- depending on the music file, the PC type, and the amplifier or not you have connected by wires directly into the PC's PcSpeaker (rather than by jackplug, typically) -- may be right in certain circumstances. This you do by opening the music-playing .BAT file, which normally is called CRUEL.BAT, in an editor, e.g. by the command in Firth which is E CRUEL.BAT and change on the /A120 there to a smaller number. MOST .mp3 files have to be converted to normalised blonde vanilla form inside Firth for this to work so get the full Firth platform to do this CRUplay. More HMMH music {as we have coined the concept} elsewhere. To convert non- compatible MP3 to the DOS Mp3 player here included, use eg the Linux program Audacity to store in eg WAV format, then use the convert routine inside Firth to convert WAV to totally standard blonde vanilla MP3 MORE HINTS FOR FIRTH G15SP_F USE: To start up Firth oriented towards G15 PMN g15sp_f with proper RAM refreshing methods it may be of value to put the following as AUTOEXEC.BAT on the top, C:\: "AUTONATI.TXT">AUTONATI.TXT, right-click and select save. This can be run in particular on not quite Y2000 standard PCs if you want the Noisy approach to handling unruly widescreens in DOS in a rough way. If you have a Dos that needs to be supplied with a proper unzip, the freeware which is acknowledged and documented properly within our Firth is here copied and provided separately for your convenience -- I assume you can get the unzipper.zip package unzipped the moment you get it from Internet, before you put it to the Dos PC. It's here: unzipper.zip HELP TO GET IT GOING IN DOSBOX: When you have followed all the instructions beneath to set G15SP_F up in Dosbox, then also get this .zip and unzip it to C:\BOHEM\BOEHMIAN so that you use command G15PMN to start it up. It is a very tiny correction of the syntax of the startup .BAT file so that DOSBOX doesn't choke at it (it is a question- mark that is removed, which Firth handles well but which DOSBOX doesn't): Get the file g15pmn.bat which is inside this .zip: g15pmnbat_for_dosbox.zip and unzip it and put the single .bat file to C:\BOEHM\BOEHMIAN. Then you use G15PMN as command to start it up, just press ENTER a couple of times. But first set up DOSBOX as follows: Follow the instructions in the first of these two files, while you secure yourself also the second of these files, in addition to the g15sp_f.zip and y6.zip above -- but respect the extra security precautions that apply with Dosbox, and if in doubt about how to handle security, don't do this before you have consulted a security expert -- for Dosbox has many more communication ways to the rest of the PC than the above .zips: g15_dosb.txt The next file you should be sure that you SAVE rather than perform -- e.g. by doing such a thing as right-clicking on it and selecting Save..: G15X.BAT The first file, g15_dosb.txt, tells how to use the G15X.BAT with the above .zips. Note that there are some unstabilities in how mouse is handled in some forms esp of emulations of DOS, unlike when classical hardware is running G15 PMN directly. To quickly set G15 PMN up you may want to use the easy links and info at the G15 PMN app page