Link to the app page for G15 PMN:
apps
by S R Weber
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
TO HONOR MINDFULNESS
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