IMHO the question should be asked in the wrong way. what happens in other compilers
do it manually or through >|
From
Witch Doctor
→
To
All
6 December 2005
Hello fk0
So Griv remembered about BGE. This makes me happy. Therefore, I propose without fanaticism -
start with an analogy of the system ala BGE. just a procedure and description: what is at the input,
what is the output, is it possible to use it from ROM/not, how many registers does it have? That's all. Without
bells and whistles Maybe the comments don’t need to be in the source code? Nearby, in text.
From
Kirill Frolov
→
To
All
7 December 2005
Hello Vitamin
Vit> IMHO the question should be asked in the wrong way. what is in other compilers
Vit> has to be done manually or through >|
Vit> automatically. that's all.
Vit> somewhere it was written about the troubles of creating plugins for RC - creating tables
Vit> relocations. this can be simplified!
In this case, manually means NO WAY!
Relocation tables can be created by comparing program versions
compiled to different addresses. In addition, some
linkers are able to do it normally (the same hitech-c). And here are the patch tables
for CALL - no one knows how to do this, ALASM + macros == your own,
incompatible with anything, assembler.
From
Kamil Karimov
→
To
All
7 December 2005
Hello fk0
fk0> ... And here are the patch tables
fk0> for CALL - no one knows how to do this...
MA80 (MOA) and M80 (CP/M) are excellent at creating patch tables using macros.
For an example, see the RAM disk driver under ISDOS by MOA.
File: RAMD128_.zip http://zx.pk.ru/attachment.php?attachmentid=2048
From
Kirill Frolov
→
To
All
7 December 2005
Hello caro
car> MA80 (MOA) and M80 (CP/M) are excellent at creating tables using macros
car> patches.
car> For an example, see the RAM disk driver for ISDOS by MOA.
We are talking about how to distinguish ABSOLUTELY ALL CHALLENGES from the necessary ones.
That's how it is here, manually, yes you can. But you can simply make a mistake
and write the code the same way. With all the ensuing consequences.
Another thing is that you can create macros like CALL, JP, LD, etc...
But not every assembler will allow this and the complexity of all this
macro bindings will be comparable to writing your own
assembler...
From
Kirill Frolov
→
To
All
7 December 2005
Hello Jerry
jer> the program address is also easy to find
┌─- code ───
ld hl, NNNN ; push hl, pop hl
ld (XX), hl
ld hl, XX+2
ld (hl), NN ; ret
call XX
...
ORG XX
XX:DS 3
└── code ───
You must have three bytes of memory. Voros - where to get them?
From
Kirill Frolov
→
To
All
7 December 2005
Hello jtn
jtn> normal people don’t use more than one org in one program (object
jtn> save does not work at least). I do this:
jtn> defs $-(($-1)&ff00) (maybe I messed up - I don’t remember =) I have
jtn> the macro was written a hundred years ago)
jtn>
Normal people generally DEFS for code subscribed to
The disk is not being used. Of course I understand that hrust is great
rulez, but nevertheless, since those times when, in addition to mpack
there was nothing decent, there was a normal solution,
when all these DEFS and perversions around ORG affected part of
data area not written to disk. For initialization
code was written. And besides, instead of static distribution
NOTHING WORSE is the trivial allocator of the "stack" type, which
grows upward from the end of the program. Or even an ordinary stack,
why is it not placed under the body of the code block,
but at the very end of memory. It's easy to do: code block
placed in the REM line of the BASIC program. And CLEAR is set
to the very top of memory. The point is that in two different states
programs are separate statically allocated memory blocks
NOT USED and memory is wasted. (That's what forever
I hear from spektrumists that they don’t have enough memory). Normal
the allocator solves this problem. Even selection solves itmemory on the stack. And alignment can be done dynamically, on the go
choose any.
From
Witch Doctor
→
To
All
7 December 2005
Hello fk0
So... :) :( I'm already up to my ears... Well, can you explain it to me clearly so that
I said: yes, my program, that I am writing without this, cannot do everything - I’ll take it tomorrow
relocations and bells and whistles, I insert it - and thanks to this it’s archiFast and easy
I'm finishing my piece...
From
Gavrilov Vitaly
→
To
All
7 December 2005
Hello fk0
fk0> In this case, manually means NO WAY!.
I agree. but alasm+macros=hitech-c=ma80=m80=DEVELOPMENT TOOL
giving the same output.
and creating a relocation table using two different codes is an even greater perversion!
hmm. I wonder which of the two words in the ALASM+macro combination causes an allergy attack?
Let's find out now...
what about the TASM+macro proposal?
From
Kirill Frolov
→
To
All
8 December 2005
Hello Vitamin
Vit> I agree. but alasm+macros=hitech-c=ma80=m80=DEVELOPMENT TOOL
Vit> giving the same output.
Vit>
I can’t speak for the ma80, but it doesn’t seem like there’s anything specifically provided there. And with
macros - the same ALASM turns out.
hitech-c's capabilities are limited only to creating a relocation table, for
setting up a code for an address, nothing more.
But ZASM has nothing. There are macros, but they are limited.
This is not allowed.
> and creating a relocation table using two different codes is even more
> perversion!
>
However, it works and it is available. I'll take any
assembler and just do it. At least in GENS, at least in ZASM.
That’s what I did in ZASM until I switched to Hitech. But hitech is
in pussy (or CP/M). And ZASM is on the Spectrum.
> hmm. I wonder which of the two words in the combination ALASM+macro causes an attack
> allergies? Let's find out...
>
ALASM. FOR FORCING YOURSELF TO WRITE THE TEXT IS ONLY
IN CAPITAL LETTERS, IN EXTREMELY IMPOSSIBLE, IN THE USABILITY EDITOR
I CAN'T MYSELF. Because there is a normal editor on the computer next to it. And
there is a more or less tolerable one in ZASM.
And the question is not at all in the ZASM GUI interface - in the Vim computer
xterm.> how about the TASM+macro proposal?
TASM was last seen in 1997. Just ZASM 3.0 then
appeared.
From
Gavrilov Vitaly
→
To
All
8 December 2005
Hello fk0
fk0> Hitech-c's capabilities are limited only to creating a relocation table
fk0> to set the code to the address, nothing more.
Is more really needed? what is the goal?
input: source text of the program
output: object code, which ideally can be loaded to any address (from
presetting accordingly)
implementation method: ANY!!! including macros, cross-compilers, manual
processing, comparison of binaries.
fk0> ALASM. FOR FORCE YOURSELF TO WRITE THE TEXT ONLY
fk0> IN CAPITAL LETTERS, EXTREMELY IMPOSSIBLE, IN TERMS OF "USABILITY"
fk0> THE EDITOR I CAN'T MYSELF.
Well, that’s how the author originally created it. can you ask alcohol to do it?
support for small letters by the editor and compiler (it distinguishes case
mnemonic).
From
Slavik Tretiak
→
To
All
12 December 2005
Hello fk0
In short, we got distracted from the topic and got into the wilds.
We need to start something already.
Let's open a separate topic and appoint a coordinator who, listening to
in the opinion of others, it will be necessary to choose one from many solutions.
And the rest will be guided by the decisions of the coordinator (otherwise there will be no
no teamwork).
If you are still with us, then go ahead, otherwise don’t go forward ^_~
First, let's select a coordinator. Suggest candidates, and CityAceE sand
will choose one of them.
1) I wrote a lot (and am still writing ^_~) on the Spectrum. The most famous -
TargetT. I'm versed in writing large projects (though not in spec, but I think experience
will come in handy).
From
Stanislav Yudin
→
To
All
12 December 2005
Hello Sinus
Sin> 1) I.
I am for your candidacy. After all, it’s not even a matter of experience, although it is certainly very
important, and also in interest (passion)...
From
Kirill Frolov
→
To
All
12 December 2005
Hello Sinus
Sin> In short, we got distracted from the topic and got into the wilds.
Sin> We need to start something already.
Sin>
No one is stopping you from starting right now, don’t you think?
You don't need absolutely anything for this.
> Let's open a separate topic and appoint a coordinator who
> listening to the opinions of others will choose
>
In other words, let's play communism. I am against communism. He gives
exclusively Soviet decisions at the output.
> from many solutions there is one.
>
This is what I'm afraid of. One, exclusively Soviet at worst
in the sense of the word: incompatible with anything, and exclusively hunchbacked. And
there will be no way to get rid of it later.
Key word *ONE*. I would give freedom of choice
program authors. At least you could watch
what solution will take root in an evolutionary way, and not through
planting from above. Another thing is compatibility. I would like to
have some basic level from which they could originate
variations in different directions, but so that in one way or another there is
ability to convert the interface to the desired one
mind. I would like to separate the interface in general from its details
implementation.> 1) I wrote a lot (and am still writing ^_~) on the Spectrum. Most
> known - Target. I'm good at writing large projects (though not on
> spec, but I think the experience will be useful).
Take it and write it down. Not in assembler, but your vision of the problem of organization
software interfaces, their incompatibilities and the possibility of conversion from
incompatible to compatible,
and finally the problems of identifying interfaces.
From
Kirill Frolov
→
To
All
12 December 2005
Hello Sinus
Sin> I do my projects and don’t ask anyone.
Sin> I don’t need the ZX SDK itself. I use mine for work
Sin> developments, and I have enough of them.
Sin>
Sin>
> Sin> I'm interested in the process itself.
> Sin>
>
> That is, the final result is not important.
>
>
> > no one forces you.
> >
>
> Everyone (the pioneers) knows that no one was forced to join the collective farms.
>
>
> > then nothing will work. if you give freedom of choice, then
> possible
> > feel free to close the project right now, because there will be no result.
> >
>
> The absence of a result is also a result. Will he or not yet
> question. We have examples as in the case of such freedom
> and in its absence, the results were very different. Yes> chance that there will be. And it also depends on what exactly to count
> result. Ultimately it depends on specific people
> (nobody bothers you...)
>
>
> > I don’t have an extra 20 years to experiment.
> >
>
> So there is extra time for a meaningless “process”?
>
>
> > if there are any transformations, this means a lot of unnecessary writing.
> a
> > if you have to write even more with the ZX SDK than without it, then it means he
> > not needed.
> >
>
> This is unknown more or not. Perhaps more, but not certain
> which is much. You need to at least be able to estimate how much.
> You can take, for example, the modular system (C) Vitamin and mine, and
> see whether there will be more or not.
>
> [quote]
> yes... OOP and other buzzwords.> these are all brakes. If you need to slow down, then take a petse. and gcc. and
> g++. and separate interfaces in abstract classes from implementation. and
> don't ask anyone.
>
> You can describe problems for 8 years. But we need to get busy.
I think so, it’s up to you to take something, g++, and get busy...
And when the enthusiasm wanes, it’s time to take on something. Just different
it turns out - here they say you need to do business, but no one knows what kind of business
can really decide. What should the result be? Answer at least for
answer this question yourself, formulate a task for yourself. I can speak for myself: I
ANSWER TO THIS QUESTION
I DON'T KNOW. AND THE SEARCH FOR AN ANSWER TO THIS QUESTION IS ONLY THE FIRST
A TINY STEEP ON A VERY LONG ROAD, where writing some code is the most
the last, final step.
From
Slavik Tretiak
→
To
All
12 December 2005
Hello fk0
fk0> No one is stopping you from starting right now, have you thought?
fk0> This requires absolutely nothing.
I do my projects and don’t ask anyone.
I don't need the ZX SDK itself. I use my work for work, and I
there are enough of them.
I'm interested in the process itself.
> In other words, let's play communism. I am against communism. He
> gives exclusively Soviet output solutions.
no one is forcing you.
> This is what I'm afraid of. One, exclusively Soviet at its worst
> in the sense of the word: incompatible with anything, and exclusively
> humpbacked. And then there will be no way to get rid of it.
> Keyword *ONE*. I would give freedom of choice
> to the authors of the programs.
then nothing will work. If you give freedom of choice, then you can safely
close the project right now, because there will be no result.
> At least you could look
> which solution will take root in an evolutionary way, and not through
> installation from above.
I don’t have an extra 20 years to experiment.
> Compatibility is another matter. I would like> have a certain base level from which they could descend
> variations in different directions, but in one way or another
> it was possible to convert the interface to the desired one
> view.
if there are any transformations, this means a lot of unnecessary writing. and if with ZX
The SDK will have to be written even more than without it, which means it is not needed.
> I would like to separate the interface in general from its details
> implementations.
yes... OOP and other buzzwords.
It's all brakes. If you need to slow down, then take a petse. and gcc. and g++. and
Separate interfaces in abstract classes from implementation. and don't ask anyone.
> Take it and write it down. Not in assembler, but your vision of the problem
> organization of software interfaces, their incompatibilities and capabilities
> conversions from incompatible to compatible
> and finally the problems of identifying interfaces.
You can describe problems for 8 years. But we need to get busy.
From
Witch Doctor
→
To
All
12 December 2005
Hello fk0
So in the end? Did you have a fight? And the results?
From
Gavrilov Vitaly
→
To
All
12 December 2005
Hello, Witch Doctor
> Well, in the end? Did you have a fight? And the results?
And the results are several pages above. A variety of options have been considered,
pros and cons, personal preferences.
IMHO, zx sdk should exist in source form, and in text form and
without any things specific to each assembler. Plus documentation. And
Everyone will write the wrapper for the challenge themselves...
From
Slavik Tretiak
→
To
All
13 December 2005
Hello fk0
fk0> Everyone (pioneers) knows that no one was forced into collective farms.
i.e. when there is nothing to say, you need to get personal and talk nonsense off topic.
> So there is extra time for a meaningless “process”?
to the meaningless no. if there is a result (which I hope for), that is.
> This is unknown more or not. Perhaps more, but not certain
> which is much. You need to at least be able to estimate how much.
> You can take, for example, the modular system (C) Vitamin and mine, and
> see whether there will be more or not.
The modular system is somewhat off topic. modules are needed when they are needed.
let's say drivers for HDD, CD-ROM, etc.
and in this case dynamically loaded modules are not needed.
> I think so, you should take something petse, g++, get busy...
Yes, I seem to be working. True, I don’t suffer from open source garbage in Linux and
We write for normal axes (Windows)
> And when the enthusiasm wanes, start doing something.
When my enthusiasm wanes, I won’t do anything for free ^_~
> It just turns out differently - here they say you have to do something, but what
> no one can really decide on the matter. What is the resultShould there be >? At least answer this question for yourself, formulate
> task for yourself.
I already wrote (on the first pages) what I want the ZX SDK to look like.
I can formulate it again.
From
Slavik Tretiak
→
To
All
13 December 2005
Hello fk0
fk0> Everyone (pioneers) knows that no one was forced into collective farms.
i.e. when there is nothing to say, you need to get personal and talk nonsense off topic.
> So there is extra time for a meaningless “process”?
to the meaningless no. if there is a result (which I hope for), that is.
> This is unknown more or not. Perhaps more, but not certain
> which is much. You need to at least be able to estimate how much.
> You can take, for example, the modular system (C) Vitamin and mine, and
> see whether there will be more or not.
The modular system is somewhat off topic. modules are needed when they are needed.
let's say drivers for HDD, CD-ROM, etc.
and in this case dynamically loaded modules are not needed.
> I think so, you should take something petse, g++, get busy...
Yes, I seem to be working. True, I don’t suffer from open source garbage in Linux and
We write for normal axes (Windows)
> And when the enthusiasm wanes, start doing something.
When my enthusiasm wanes, I won’t do anything for free ^_~
> It just turns out differently - here they say you have to do something, but what
> no one can really decide on the matter. What is the resultShould there be >? At least answer this question for yourself, formulate
> task for yourself.
I already wrote (on the first pages) what I want the ZX SDK to look like.
I can formulate it again.
From
Slavik Tretiak
→
To
All
13 December 2005
Hello, Witch Doctor
> Well, in the end? Did you have a fight? And the results?
As Vitamin already said, there seem to be results.
But they are like that... As if they were nothing. What they came with is what they left with.
From
Witch Doctor
→
To
All
13 December 2005
Hello Sinus
That is the absence of a result is also a result???
According to Vitamin: everyone lays out their procedure with detailed
description and that's it. And the coordinator looks at where to place her/was/wasn’t and
etc. Did I understand correctly?
What comes out according to Sinus? Isn't it the same?
From
Slavik Tretiak
→
To
All
14 December 2005
Hello, Witch Doctor
> That is. the absence of a result is also a result???
It turns out that it is so.
> According to Vitamin: everyone who wants to lays out their procedure with
> a detailed description and that’s it. And the coordinator looks - where it is
> attach / was / was not, etc. Did I understand correctly?
kind of like that. only in my opinion a coordinator is not needed in this case, because
the person was / was not able to see for himself, but where to attach it if not
systems? also nowhere. better on opensource.zx or whatever it’s called in
In this case, post the source.
> What comes out according to Sinus? Isn't it the same?
almost. You just need to define the system at the beginning. well, then forward.
From
Witch Doctor
→
To
All
14 December 2005
Hello Sinus
Yes, but on openSource there are no detailed docs for the sources :( Yes, there are no docs at all. And
this is where it begins “it’s easier/faster for me to write myself than in someone else’s
understand"... so let's "define the system", or what???
From
Gavrilov Vitaly
→
To
All
14 December 2005
Hello Sinus
Sin> you just need to define the system at the beginning.
I propose to create a hierarchical structure of source codes with procedures (I think
These are the ones that will be in demand, the source code of the program is entirely open source)
From
Kamil Karimov
→
To
All
16 December 2005
Hello fk0
fk0> ... patch tables for CALL - no one knows how to do this
I would like to once again touch on the issue of creating relocatable programs.
As you know assemblers M80, RMAC (CP/M-80) and cross assembler
MA80, as a result of copying the source, creates a file with the extension
REL is relocatable object code, the format of which is developed
Microsoft nerd.
To create executable object code, an assembly is performed
(linking) of individual program modules using a linker
L80 (CP/M-80) or MLINK cross-linker.
These linkers are designed to create executable modules for
launch programs running CP/M-80, that is, by default
designed to be loaded and launched from address 100h (start of TPA).
Since 1979, Digital Research began supplying
operating system MP/M - Multi-Programming Monitor Control
Program.
In this system, unlike the CP/M-80, it was assumed that
launch programs from an arbitrary address and therefore, along with
COM files that were loaded and run from address 100h,
PRL - Page Relocatable Programs files were added.
The structure of these files contains a header two times long.
logical sectors (256 bytes), executable code and third block,
which contains a bit table of displacement signs - the relocation table.
To create a file with this structure, Digital Researchdeveloped the LINK80 linker. This program is from REL files
creates a PRL file that can be loaded into any
Z80 memory address (with discrete 100h), configure all addresses
in accordance with the offset table and launch for execution.
MP/M used the following PRL files of several modifications:
1) PRL - Page Relocatable Program.
2) SPR - System PRL.
3) RSP - Resident System Process.
4) RSX - Resident System Extensions.
LINK80 also allows you to create OVL (overlay) files,
which have a PRL header but are not relocatable.
This linker was very often present on system disks
CP/M-80, but since its command line syntax is very
differed from the L80, it was practically not used.
For those interested, there is a description of this linker at:
http://www.retroarchive.org/cpm/archive/unofficial/
From
Slavik Tretiak
→
To
All
22 December 2005
Hello, captain cobalt
as usual, a piece of text is torn out of context, regardless of the absence
sense.
if captain cobalt deigns to read pages 1-8 of this topic, then where-
then there, in the depths of symbols and bytes, lies the truth that DRIVERS ARE NECESSARY but not
always and not everywhere.
and before adopting a certain programming pattern, you need to think a little
brains, and think about the areas of its application.
and that there are tasks where the use of this pattern leads to a reduction in cost
development (cost = time spent + complexity) and there are tasks where
applying the same concepts on the contrary leads to a wild increase in cost.
From
van Yu Shinn
→
To
All
22 December 2005
Hello, CityAceE
Sin> yes... OOP and other buzzwords.
Sin> these are all brakes. If you need to slow down, then take a petse. and gcc. and
Sin> g++. and separate interfaces in abstract classes from implementation. and
Sin> don't ask anyone.
Consider "extended memory drivers" (over 128K)
This is an example of separating the interface (e.g. "set page") from the implementation
(really installing the page through the ports of a specific clone).
Such "drivers" are used, for example, in the alasm assembler, which shows
pretty good performance. Therefore, the statement about pts is incorrect. And these
"drivers" radically increase the flexibility of alasm.
From
van Yu Shinn
→
To
All
22 December 2005
Hello, CityAceE
Since “drivers are needed,” then a supporting mechanism is also needed.
A mechanism for separating the interface from the implementation.
From
Kirill Frolov
→
To
All
22 December 2005
Hello, captain cobalt
cap> Since “drivers are needed,” then a supporting mechanism is also needed.
cap> A mechanism for separating the interface from the implementation.
Finally. There is progress.
We need a mechanism for separating the interface itself from its (interface)
implementation. That is, to represent one interface they can be used
different implementations of this very interface, behind which
Already, in turn, the same driver code may be sitting. Is this better?
interface-1 interface-2 interface-3
| | |
| | |
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
interface converter
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| | | |
interface-1 interface-2 interface-3 interface-4
| | | |
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
driver
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
That is, what we have. We have interface A. We have a driver
implementing this interface. But the actual interface to
driver can be implemented in various ways.
As well as the interface of the application program using it.You need a gasket between them. "Interface Converter".
Which can convert as an interface between the program
and the driver, so perhaps, if necessary, the interface
the driver itself. That's the point.
From
Slavik Tretiak
→
To
All
26 December 2005
Hello fk0
captain cobalt:
twenty-five again.
so I said
> DRIVERS NEEDED
however!, I said the same
> but not always and not everywhere
as I already said
> as usual, a piece of text is torn out of context
From
Kirill Frolov
→
To
All
2 January 2006
Hello Vitamin
Vit> is more really needed? what is the goal?
Vit> at the input: source text of the program
Vit> output: object code, which ideally can be loaded in any way
Vit> address (with preliminary settings accordingly)
Vit> implementation method: ANY!!! including macros, cross-compilers,
Vit> manual processing, comparison of binaries.
Vit>
The goal is that there are N relocatable programs. We upload them
into memory, set it up, and they somehow start calling each other’s functions
friend (from other programs, modules, libraries). When
the fact that before loading, nothing is known what is located at what addresses.
There are three, already written here 100 times, methods:
1) using the dispatcher function, the argument of which is
"function identifier" in a "foreign" program module.
This is the so-called call via RST as well. Although it is possible
and through CALL, as, for example, in CP/M -- CALL 0x05, and in the register
C -- function number. Implementation details are hidden behind
dispatcher function -- so maybe it's too much
general method and cannot be compared with others
correct. But he’s slow, that’s for sure.2) Direct call. For this purpose, all CALL, JP, and even LD HL, xxx, etc.
must be patched in the calling program after
loading all modules. Requires the formation of complex
tables for patches created by a complex macro system
on top of the assembler, or with a special assembler. Requires
disk memory of order sum(Ki)+sum(Mi), where Ki is a number
calls to external functions in the i-th module, and Mj is the general
number of exported functions in the j-th module. In memory
No RAM required after setup. But Ki is quite large.
3) Call through a redirector function. For every function
from the called module to the calling module at the stage
compilation includes a special function consisting
from one team JP xxx. All calls to alien functions
modules are addressed to these redirector functions.
And the redirector functions themselves are patched after loading,
so that the JP xxx instruction points to a valid address
functions from the called module. This method is different
from the previous one in that the call is slow for 10 cycles and
RAM memory requires the order of sum(Mi)+sum(Nj), where Mi is the total
number of exported functions in each i-th call
module, Nj -- the number of external called functions in each
j-th calling module.I think method N3 is the most promising. It makes it relatively easy to
any assembler to get the required code,
it does not impose excessive overhead on commits
calling functions does not require a lot of memory, both disk and RAM.
Although in terms of RAM usage it is inferior to other methods.
It is useless to compare with method N2 (0 bytes), against method
N1 loss is about three bytes for each called
external function in each module. With the total number of functions
about tens, a maximum of hundreds or two, this is quite acceptable,
from my point of view, memory consumption.
Method N2 is extremely difficult to implement and requires
special support from the assembler, therefore, from my point of view
point of view, in the general case is not applicable and makes sense in some
specific cases, for example, when it is extremely critical
function call time.
Method N1 gives too much overhead per call
functional and therefore, similarly, makes sense, again from my point of view
vision, exclusively in specific situations. For example,
where time is not critical, but the amount of space occupied is very critical
program memory.
From
Stanislav Yudin
→
To
All
15 January 2006
Hello Sinus
It seems no one supported the idea. Sinus, well, you wanted to lead the project!
There is no use discussing anything. It has been tested many times - you need to act!
From
Kirill Frolov
→
To
All
15 January 2006
Hello, CityAceE
Cit> It seems no one supported the idea. Sinus, well, you wanted to lead
Cit> project! There is no use discussing anything. Tested repeatedly - necessary
Cit> act!
Take action. No one in particular is bothering anyone in particular.
But for me, for example, there are classes that are more interesting, firstly,
secondly, sit and write all day (not in the forums ;-), and then when you come
home to write something else (except in the forums) - well, no desire.
I think many people do.
From
van Yu Shinn
→
To
All
17 January 2006
Hello Sinus
Sin> captain cobalt:
Sin> twenty-five again.
For this statement to be meaningful and the discussion to be constructive is a good idea
I would like to briefly explain when drivers are needed and when they are not needed, and why.
From
van Yu Shinn
→
To
All
17 January 2006
Hello fk0
fk0> Finally. Progress is obvious.
fk0>
fk0> We need a mechanism for separating the interface itself from its (interface)
fk0> implementations. That is, to represent one interface they can
fk0> different implementations of this very interface are used, behind which
fk0>, in turn, can already contain the same driver code. Like this
fk0> is better?
fk0>
fk0> interface-1 interface-2 interface-3
fk0> | | |
fk0> | | |
fk0> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fk0> interface converter
fk0> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fk0> | | |
fk0> |
fk0> interface-1 interface-2 interface-3 interface-4
fk0> | | |
fk0> |
fk0> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fk0> driver fk0> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fk0>
fk0> That is what we have. We have interface A. We have a driver
fk0> implementing this interface. But the interface itself
fk0> driver can be implemented in various ways.
fk0> As well as the interface of the application program using it.
fk0> A gasket is needed between them. "Interface converter."
fk0> Which can convert as an interface between the program
fk0> and the driver, so perhaps, if necessary, the interface
fk0> of the driver itself. That's the point.
No, not like that.
Such "interface converters" can be implemented as separate
modules and dynamically loaded and linked as needed.
That is, the situation “many interfaces - one implementation” does not give much, and
only leads to redundant code.
Much more important is the situation “one interfaces - many implementations”, in which
different implementations can be called through one interface, and a specific
the implementation is determined dynamically at runtime. In OOP this is called
"polymorphism". It's best if implementations can be plugged in and out
execution time.To implement polymorphism, "virtual functions" are usually used. K
Unfortunately, you will need a compiler that can automatically build tables
virtual functions. But there is no such thing.
Therefore, a simplified version is proposed: procedural variables aka indicators
procedures. These are not necessarily addresses. More likely, on the contrary, not addresses, given
page memory model. Just some handle. Probably a two-byte number
will be enough. This identifier is issued during loading and dynamic
layout of the module containing the implementation of the interface. And there will be a special one
procedure for calling a procedure through a handle. The programmer will pass the handle
as an argument and the required implementation will be called using it.
From
Alexander Shabarshin
→
To
All
17 January 2006
Hello, captain cobalt
On the issue of dynamic libraries for Spectrum:
http://www.nedopc.org/nedopc/shaos/libman_r.shtml
In short, this is a library manager that I created in 2002 for
Sprinter computer (to convert it to the bare Spectrum is a matter of a couple of evenings).
Libraries for such a manager are pieces of relocatable (with
256 byte increments) of code less than 16K in size, which are loaded by the manager into the background
memory and by handle you can call individual functions of these libraries, and
the programmer may not know in which specific memory page and by what
This or that library is located at the addresses. If you're interested, I'll make a universal one
implementation covering the most popular clones.
From
Robus
→
To
All
6 March 2006
Hello bob5024
bob> Firstly: it is unknown why everything froze there after an hour. Maybe
bob> It's your fault, it's your "software".
Windows is not ours, but Blina Gates's. And it doesn’t freeze in my software, because I have it
starts with the ASM command... Time-tested, I wrote that there were no failures
bob> Secondly: only VERY narrow-minded people can build automated process control systems for
bob> Windows control. Windows is for the office, and in such places - UNIX
bob> QNX.
bob>
Over 10 years of work in this field, I hear about “UNIX”s, as well as about Windows, in
in most cases from domestic colleagues. All these OSs are foreigners rarely
used for serious management. In other cases, no one wants
take risks and make completely autonomous systems. There is a microcontroller, there is
sensors and there are no KVUNIX or WINDOWS.
bob> As I understand it, you wrote your own "Windows", with everyone
bob> driver libraries. Well, bravo!! :v2_clapp:
I wrote about quality programming. All Windows, like DOS, and
Quunixes have a problem with the COM port. That's why I remembered. And everything in
programmers come up with an excuse - a glitch in the motherboard, system, or something elseanything. However, I feel free to use two com ports on the same one IQR, and no
problems because I don't use libraries.
That's all I wanted to say... And they actually wrote Windows, but not by themselves
views, but the window design, however - so you can say that I didn’t write
Windows and WORK BENCH...
bob> ZYZH not in vain, not in vain you were once someone Andrew W Miheev from fidoshnaya
bob> echoes ZX.Spectrum sent to university...
Which university? If you, together with Andrew W Miheev, want to show your IQ, then
just do it. Only a weakly intelligent person tries to point out to someone
intelligence and even send him to university. Everyone does what they can, and you can write
at least on VASIK, you just need to hone it 100%, and not refer to some glitches.
So the debate started... No, to unite and do something... Judging by
everything, you and Andrew W Miheev graduated from university, let's add convenient and
working procedures for creating libraries.
From
Boris Krasnoperov
→
To
All
6 March 2006
Hello Robus
Rob> Imagine - you make a device, write software, and that’s all
Rob> you connect the device via simple COM. They put it in the factory and start it up
Rob> paper machine, and an hour later the “driver” suddenly froze
Rob> COM-PORT. And, accordingly, the plant will no longer purchase our device
Rob> company.
Firstly: it is unknown why everything froze there after an hour. Maybe yours
the fault is in your “software”.
Secondly: only VERY narrow-minded people can build automated process control systems under the control
Windows. Windows is for the office, and for such places - UNIX, QNX.
Rob> This is how it was when our company had graduated programmers
Rob> institutions and those with academic degrees. How many projects have I not written?
Rob> always did all the wiring himself, starting from COM-PORT, ending with USB,
Rob> ETHERNET, VIDEO, KEY and everything else... There was not a single failure...
Rob> And most importantly, you don’t need licensed Windows, you don’t need to pay everyone
Rob> in a row for using !!!very!!! poor quality components and technical equipment
Rob> same SDK.
As I understand it, you wrote your own Windows, with alldriver libraries. Well, bravo!! :v2_clapp:
It’s not in vain, it’s not in vain that at one time you were given by someone Andrew W Miheev from the fidosh echo
ZX.Spectrum sent to university...
From
Kirill Frolov
→
To
All
7 March 2006
Hello Robus
Rob> Where did this “bicycle” stereotype come from? If written
Rob> !!!normal!!! program of the same author, then in it
Rob> only the style is repeated, not the procedures.
Rob> Of course, there are identical procedures, but they can be counted by
Rob> fingers. As a rule, ZXer tries to speed up his code as much as possible, and
Rob> this means that once again he will not make a CALL, and simple
Rob> the multiplication procedure can be reduced by one or two cycles, for the sake of
Rob> speed.
Rob>
I know one procedure for fast multiplication. Born by
combining code from several different people. I'm sure no one is like that
It doesn’t just come out of your head right away. And such procedures
a lot. And besides the question of optimal coding, there is also
ALGORITHMS. Optimizing the algorithm often brings benefits
incomparable to squeezing out pitiful bars. And this is also out of my head
comes up in 5 minutes.
As for CALL, this is generally far-fetched. For
this exists (I know that on the Spectrum, in fact, it is only ALASM)
there are MACRO ASSEMBLERS. Do you want a call, do you want
"inline" function. NO problem here. NO.
Another thing is that procedures like “calculating the address on the screen”, etc.really pointless. You need mathematics, strings, input-output...
Here's another example: a typewriter with 64 characters per line without expanded
fonts compressed by Mikhail Zharov to some kind of ridiculous
clocks and bytes. There are no analogues. Optimized by several people at
over a fairly long period of time.
Hell, you can write it yourself in 5 minutes.
> If you build everything on ready-made libraries, then eventually the code will become overgrown
> braking. After which the library is suitable for writing "maps" or
> "miners", and even in them the cards will twitch or just generally
> appear.
>
Nonsense.
> and there is no demand from you, as well as from the author of the library. Imagine
> yourself - you make a device, write software, and just connect the device
> to simple COM. They put it in the plant, they launch a paper-making plant
> car, and an hour later the COM-PORT driver suddenly froze.
>
Yes it happens. You need to use the right libraries.
To which the source code is provided. Exactly for this case.
A day of poking around in the code reveals that ioctl(TIOCSBRK) is not
supported by moxa driver, but supported
a regular piss port. Then in the librarynormal tcsendbreak() is entered and everything works immediately.
Because support for Unix prehistoric versions is not needed
and you can safely demand compliance with modern IEEE-1003.
Although in general I agree. Minimum of unnecessary things and reasonable simplicity of design in
In general, it only adds reliability.
> And, accordingly, the plant will no longer purchase our company’s device.
> This is how it was when our company had graduated programmers
> institutions and those with academic degrees.
>
A software product is a technically extremely complex product. With everyone
the ensuing consequences.
> No matter how many projects I wrote, I always did all the wiring myself, starting from
> COM-PORT, ending with USB, ETHERNET, VIDEO, KEY and everything else
>
Yes, yes. Without documentation you will write USB and ethernet drivers,
write your own tcp/ip stack, your own graphics subsystem, debug
that's all, you won't make mistakes anywhere... Scientific fiction.
> ... There was not a single refusal ... And most importantly, you don’t need a license
> Windows, no need to pay everyone for use!!!very!!! not
> high-quality components and the same SDK. And after that you
> There are a lot of not very high quality components, but absolutely
free and with all the source texts. In conditions where absolutely
There are no high-quality components, but very high-quality ones -
it's $$$$$ - it's not that bad.
> Why did I write my compiler? That's exactly what he does! That's it,
>
Compiler of what? And are you sure you haven't screwed up again?
What are the professionals doing this for the second decade?
I think you're going too far.
> But this experience has led to a division into those who write mainly in
> libraries, and those who write mainly on bicycles. I relate
> to those who like to stick a jet engine to a bicycle. Me too
> for development you need:
>
My experience shows that you can’t stick everything on yourself, it’s time-consuming
strength, enthusiasm, time and experience are not enough. And on a homemade bicycle
no margin of safety and potential for further
development. Well, screw them, bicycles.
> All sorts of procedures with mice, FDD, HDD - a good idea. Although
> for example FDD. It entails the processing of system variables. Ditto
> memory manager, what if it’s very likely that I want it> place starting from 23296, so that it would be possible to allocate all memory
> to the byte. Well, after I’ll put it all together, I think the libraries will start
> quarrel.
>
We need a unified interface.
And you won’t be able to write work with HDD at all. Because there are many of them and
different. You just test on all options for everyone
you can't do programs. This is exactly the case when desperately
Third party code required. Which has been tested and debugged.
And dynamic linking is desperately needed. Because
it is impossible to test and debug completely, if only for this reason.
And it’s also impossible for the author to rebuild the software every time.
> This is the case, but all sorts of character printing, clocks, cursor display,
> I personally would hardly use sprite overlay. Unless
> see how others do it.
>
If you need something unique, you're right. Not suitable for demo.
If you need, it doesn’t matter at what speed, but output text
and have a decent editor in the window - it’s better to take a ready-made one.
From
Robus
→
To
All
7 March 2006
Hello bob5024
bob> Actually, I didn’t write “Winda is yours,” but “your fault.” Read
bob> pay attention!
Initially, it was you who did not read it carefully, I said - “FULL-FAILURE OPERATION”
bob> Let's first define what you mean by "serious
bob> controls"? If the thermometer/clock is on the gas station price tag panel, then
bob> I agree - it’s not worth the risk here, and it’s just necessary to do it
bob> autonomous system. If we are talking about control/navigation at least
bob> light aircraft, not to mention an aircraft carrier, for example
bob> "foreigners" make full use of both Windows and QNX.
bob>
Nobody talked about thermometers; thermometers are entertainment. I doubt it
that aircraft carriers are sailing on QNX. I know that the navigation system for yachts is accurate
black box with batteries. For example, QUME company, there are no axes
In general, in the middle there is a MITSUBISHI microcontroller with an LCD indicator. My stepfather
is engaged in the design of yachts, I have never heard of any AXLES at all.
Well, of course, if somewhere, in some center, observing the location
objects at sea via satellite and costs QNX, this is possible.
bob> What's the problem?bob> You do it boldly because you know that AT THE SAME TIME you have nothing
bob> will not happen on both ports, and not because you do not use
bob> libraries.
Well, how can you even think like that... Hope maybe that there’s nothing on the ports
will happen... If the Serial controller has two completely independent ports, then
this means that the program uses both ports, regardless of whether there is
something at the same time. Of course - at the same time, there can be no other option.
In XP Windows, the use of COM ports on one IRQ is generally blocked if
library. On the 98th, as in OS/2 and in UNIX/LINUX, when a byte appears on
the second COM port at the time of reading in the interrupt from the first COM, INT
gets lost. Moreover, modern Serials, located on the same chip with sound
generally hang until RESET.
bob> I don’t know what Andrew W Miheev wants to show, but I don’t have one specifically
bob> no desire or time to prove anything to you, especially
bob> show IQ. Everything has been said and proven to you BEFORE me and in this thread and
bob> earlier in more other places. In addition, on your intelligence I personally
bob> did not indicate at all, on the contrary, judging by what youbob> you write your own “harness” COM, ethernet, USB, I’m simply delighted
bob> Your intellectual abilities!
To tie COMs you don't need to have any intelligence, you just need experience.
bob> Yes, we are gray - wretched... Let's better you, you have these
bob> as many as 20 procedures have accumulated. Apparently 3 each per COM, ethernet, USB,
bob> and the remaining 11 are WORKBENCH!
bob>
COM, ethernet, USB - we were talking about IBM-PC... And if you really want to make fun of it,
showing that 20-3*3=11, there is a mirror for this.
I don’t understand how I offended you? Is it so bad to sit down and write procedures?
the highest quality possible or create them using AFM? Well, I like to do it this way,
so that my product runs everywhere... For this reason, I don’t even have my own emulator
I’m distributing it because it doesn’t work well on XP. I don't want
disgrace... This for me is programming - "make a program
as flexible and fast as possible."
Of course, I understand, now it will start pouring out - “I should have used the libraries, then
it would work everywhere" or something like that. ZX is teeming with programs that
There are a minimum of glitches, the PC is teeming with programs in which there are glitches one after another. Mine
The opinion is that this is due to excessive use of sneeze libraries.bob> Can I watch your game Wanderlust?
You can take a look... You probably want to look for something in it that you can work on
make fun of you? So ?
From
Boris Krasnoperov
→
To
All
7 March 2006
Hello Robus
Rob> Windows is not ours, but Blina Gates'. And it doesn’t freeze in my software, because I have it
Rob> starts with the ASM command... Time-tested, I wrote that
Rob> there were no failures....
Actually, I didn’t write “your Windows,” but “your fault.” Read more carefully!
Rob> Over 10 years of work in this field, I hear about "UNIX" systems, as well as about Windows
Rob> in most cases from domestic colleagues. All these OSs are foreigners
Rob> is rarely used for serious management. In other cases, no one
Rob> does not want to take risks and makes completely autonomous systems. Yes
Rob> microcontroller, there are sensors and there are no KVUNIX or WINDOWS
Let's first define what you mean by "serious"
management"? If the thermometer/clock is on the gas station price tag panel, then I agree
- it’s not worth taking risks here, and it’s simply necessary to make an autonomous system.
If we are talking about control/navigation of even a light aircraft, do not
Speaking of an aircraft carrier, for example, the “foreigners” make full use of Windows
and QNX.
Rob> I wrote about quality programming. All Windows, like
Rob> Dosakh, and Kvuniks have a problem with the COM port. Why me andRob> remembered. And everything that programmers come up with as an excuse is a glitch
Rob> motherboard, system or something else. However, I feel free to use two
Rob> com port on the same IQR, and there are no problems because I don’t use it
Rob> libraries.
Rob>
What's the problem?
You do this boldly because you know that at the same time you have nothing on both of you
ports will not happen, and not because you do not use libraries.
Rob> Which university? If you, together with Andrew W Miheev, want to show your
Rob> IQ, then just do it. Only a weakly intelligent person tries
Rob> point out someone's intelligence and even send them to university. Everyone does
Rob> the way he knows how, and you can write even in VASIK, you just need to hone it
Rob> 100%, and not refer to some glitches.
Rob>
I don’t know what Andrew W Miheev wants to show, but I don’t have any specific
desire and time to prove something to you, especially to show IQ. Everything is said and
it was proven to you BEFORE me both in this thread and earlier in more other places. In addition,
I personally never pointed out your intelligence; on the contrary, judging by the fact thatYou write the COM, ethernet, USB “harness” yourself, I simply admire yours
intellectual abilities!
Rob> So the debate started... No, to unite and do something...
Rob> Apparently you and Andrew W Miheev graduated from university, let's add to this topic
Rob> ON THE TOPIC convenient and working procedures for creating libraries.
[/QUOTE]
Yes, we are gray and wretched... Let’s do it better, you have as many as 20 of these procedures
pieces have accumulated. Apparently 3 each for COM, ethernet, USB, and the remaining 11 are WORKBENCH!
Can I watch your game Wanderlust?
From
Kirill Frolov
→
To
All
7 March 2006
Hello Robus
Rob> Windows is not ours, but Blina Gates'. And it doesn’t freeze in my software, because I have it
Rob> begins with the ASM command ...
Yes, at least from the VBA command. Who cares? VBA is even better.
It's harder to screw up.
> Over 10 years of work in this field, I hear about “UNIX”s, as well as about Windows
> in most cases from domestic colleagues. All these OSs are foreigners
> is rarely used for serious management.
>
Nevertheless they use it. Typical example on each
corner - ticket vending machines, mobile phone payment machines,
ATMs - windows NT 5.0. In paying for mobile phones - for sure.
And unix is found in more than critical applications.
Perhaps even more critical, because debriefing
in a windows system it is not possible to produce down to the source code level.
> In other cases, no one wants to take risks and does everything
> autonomous systems. There is a microcontroller, there are sensors and there is nothing
> QUUNIXES or WINDOWS.
>
Yes. When they say QNX, I just can’t understand why it’s important
different from the same NT. Except for real time.
A consumer controller is ready for a much tougher
realtime without any axes. And for “soft realtime” it’s quiteThe same Linux or Windows is ready. (not 98 ;-)
> I wrote about quality programming. All Windows, like
> Dosakh, and Quunix have a problem with the COM port. Why me and
> remembered. And everything that programmers come up with as an excuse is a glitch
> motherboards, systems or anything else. However, I feel free to use two
> com port on the same IQR, and there are no problems, because I don’t use it
> libraries.
>
Yeah. And the win32 subsystem is, of course, not libraries. And there are no glitches.
From
Gavrilov Vitaly
→
To
All
7 March 2006
Hello Robus
Rob> Is it so bad to sit down and write procedures as much as possible
Rob> qualitatively or create them on AFM?
not bad. but it’s long and quite difficult to debug. I too, keeping in mind the spec,
I rushed to write on ASMA for microcontrollers. and I realized that I need to write on them
only BIOS/bootloader and specific procedures.
Rob> Well, I like to make my product run everywhere...
even on different platforms? in this case, start each program with asm
is equivalent to rewriting it again when the target platform changes. Which is not the best
significantly affects development time and reliability of the final product
(due to lack of time for debugging)
From
Boris Krasnoperov
→
To
All
8 March 2006
Hello Robus
Rob> Initially, it was you who did not read it carefully, I said - “WORK
Rob> FAILURE-FREE"
where exactly?
Rob> Nobody talked about thermometers, thermometers are entertainment. I
Rob> I doubt that aircraft carriers sail on QNX. I know that the navigation
Rob> system for yachts is exactly a black box with batteries. For example
Rob> from QUME, there are no axes at all, it stands in the middle
Rob> MITSUBISHI microcontroller with LCD indicator. My stepfather is engaged
Rob> designing yachts, I have never heard of any AXLES.
Rob> Well, of course, if somewhere, in some center, watching
Rob> location of objects in the sea via satellite and costs QNX, this
Rob> perhaps.
Rob>
No, aircraft carriers float under WindowsNT, gas pumping units (in the past
just aircraft turbines) running Linux, gas stations, supermarkets -
Again, Windows, the ATM at my work is under OS/2.
Rob> You don't need intelligence to wire COMs, you just need experience.
Rob>
Well done, they pushed it hard!! :v2_clapp:Rob> COM, ethernet, USB - we were talking about IBM-PC... And if you really want to
Rob> make fun of yourself by showing that 20-3*3=11 - there is a mirror for this.
Rob>
Rob> I don’t understand how I offended you? Is it so bad to sit down and write
Rob> procedures with the highest quality possible or create them on AFM? Well here
Rob> I like to make my product launch everywhere... I do
Rob> for this reason I won’t distribute my emulator, because it doesn’t
Rob> works well on XP. I don't want to embarrass myself... This is for me and
Rob> is programming - "to make the program as flexible as possible and
Rob> fast".
Rob>
Have you offended me? :) ...Who is mocking you, or what? Sorry if where
then I went too far with the flame...
In my opinion, this is programming without using someone else’s developments (you can
call them libraries) - this is a real mockery of common sense
meaning! :)
Rob> Of course, I understand, now it will start pouring out - “we needed libraries
Rob> use, then it would work everywhere" or something like that. ZXRob> is teeming with programs in which there are a minimum of glitches, the PC is teeming with programs in
Rob> which glitches one after another. My opinion is that this is from excessive
Rob> using some libraries.
Rob>
ZX is "teeming" with GAMES of bearded years, and of purely COMMERCIAL origin and
this has been “polished” up and down thanks to its relative simplicity
and platform homogeneity. You can draw an analogy with RS yourself...
Rob> You can take a look... You probably want to look for something in it, above
Rob> how can you make fun of me? So ?
No, you didn't guess. I just wanted to watch, that's all. To mock someone
Never - not in my rules. If you show me your program, I can help you
guarantee - I won’t say a word about her - not a bad word, well, maybe only
good (if it is there) :)
From
Witch Doctor
→
To
All
8 March 2006
Hello Vitamin
Something I don’t understand... how come my 4 usb and 2com are busy - and nothing. 2 mobile phones at once
modified + scanned + used Komovsky digitizer for opera on the net via
modem (Komovsky) - worked perfectly...
Well, where is the actual SDK? Where did we start, do we remember?
ROB, better lay out the procedures. no matter how much you have / no matter how much you don’t mind - it’s okay
better than NOTHING...
From
Robus
→
To
All
8 March 2006
Hello bob5024
bob> Listen, great game! :)
bob> Honestly, I didn’t expect to see such a decent level! Are you really for
bob> 2 weeks total written?
Actually, not 2 weeks but three days. The generator was completely written in three days
labyrinth By the way, it is very simplified in the game if you set the fill to 100%
level, then the game becomes unpassable. Also in the game there is no graphics animation,
although everything is provided in software. Also in the game the level is revealed by 6
types of graphics, although only one of the six is currently displayed. And for
It took two weeks to write the entire layout with multicolors and graphics. But
The text took a long time to complete. It's difficult to do with two people. Together with the schedule. Music
correct, correct text, cut graphics, make graphics convenient
converter for multicolor colors, etc. along with etc... All of these
no tools.
Thanks for your feedback. It's nice to know that I didn't do it in vain.
But from a professional point of view, there is a big mess in my game - it’s bad
works on Original Speccy, since INT is almost 100% occupied or 99.99%.
bob> And yet, I think you are wrong about libraries. By your own labor
bob> could be used by others, and someday you might be someone else's.I didn't say I was against libraries... I'm against libraries that have procedures
printing characters, sprites, music and similar things. I don't mind at all
collections of procedures, for example reading from FDD or HDD or packers with depackers.
That is, system procedures. I also look at what other people do, for example
I studied with Michail Batty. I really like Wakson's programming style
or Raider, sorry, I don’t remember who wrote all the code for them. For example: they have
the player for SounDrive has a super mixer of four channels into one - digital
mixer for three teams. I like the way RST-7 codes, although as a person I don't like it
I can't stand it. But building a program based on printing characters scares me, unless I do
packer - I understand. For example: my game WanderLust, it would hardly fit there
standard printing, because there is printing on the go, either in the shadow screen or in
both, then only in the 48th, since a piece of the demo lies in the form of code in the shadow
page. It would simply be pointless to use something standard.
And I'm always happy to share. I'm not sorry at all, and I'm ready to talk about any part
programs. I can, for example, post WanderLust, in the form of all the sources, yes
Pictures in BMP form - you can draw on them and immediately convert them into a game.
From
Valery Grigoriev
→
To
All
8 March 2006
Hello Robus
Super toy! And questions to the topic!!! (-;
(-;
LD Hl,#4000
LD DE,16384
LD BC,6911
LDIR
(-;
Oh, what is this - well, of course, cleaning the screen :-D
From
Boris Krasnoperov
→
To
All
8 March 2006
Hello Robus
Rob> I've never been against criticism... That's not what I was talking about...
Rob> I'm posting the game... True, this is off topic...
Rob> It is advisable to run on a real Speccy, otherwise emulators flicker and
Rob> are discriminated. Multicolors are fixed under the pentagon. The whole game is built
Rob> on RND, even little things, something always changes when you restart. B
Rob> the game has not yet been completed with a walkthrough picture, so be guided by
Rob> radar. There are errors in the texts, quarrels...
Listen, great game! :)
To be honest, I didn’t expect to see such a decent level! Really in 2 weeks?
everything written?
And yet, I think you are wrong about libraries. With your own work we could
others can take advantage of, and someday you may also be someone else’s.
From
SMT
→
To
All
9 March 2006
Hello,GriV
but no! the correct answer is a pause (there was an option for how many bars)
From
SMT
→
To
All
9 March 2006
Hello SMT
It also seems to me that there are often several correct options, or questions
no correct answer at all ;-( (this is about the shadow screen bit)
From
Robus
→
To
All
9 March 2006
Hello,GriV
Gri> Super toy! And questions to the topic!!! (-;
Gri>
Gri> Oh, what is this - well, of course, clearing the screen :-D
Thank you, very nice... =)
The most disgusting thing is that in life there are a lot of funny questions.
Once one of our mutual friends asked a question - “Lyosha, if Spectrum is 48k, and Dendi
It’s only 16-bit, so how do they manage to cram so much graphics into 16-bit?” A
when you sit down at the editor to type in questions, it’s as if someone decided to empty
head, and you start squeezing something out of yourself. It costs a little to get on the transport
or you find yourself at a meeting with the director, and a bunch of jokes immediately come to mind.
From
Robus
→
To
All
9 March 2006
Hello SMT
SMT> but no! the correct answer is pause (there was an option for how long
SMT> cycles)
He said this mockingly. But there are two options with a pause, two for one
One point is added after another, one is taken off =)
SMT> it also seems to me that there are often several correct options
SMT> or questions without a correct answer at all ;-( (this is about the shadow bit
SMT> screen)
That's for sure, there are mocking questions. Anyway, there is no GAME OVER in the game, but
It won’t affect the performance, at least it won’t affect it much. But also sadism
no, so there are two and even four correct answers. But I advise
choose which one is more coding friendly, for example:
How many levels are there in Earth Shaker?
1-30
2-32
3-The same number of bits in four bytes
4-I didn’t go beyond the splash screen, it’s very difficult
That’s right [2], for him 1 point, for [3] 1 gamer point and 2 coding point. If
answer is completely wrong, for example, the creator of Speccy is Philip Kirkorov,
it will be minus ten.
By the way, at the top, in the right corner there are sliders, the more to the right of the flickering, the
more correct answers, respectively, left is not good (TA). Of course I
wanted to make the impact of correct answers on the character’s movement speed andother similar things, but didn’t have time because I settled down to make Surgical Fantasy.
It's a pity that Speccy doesn't have our Jungar, he would be ecstatic from Surgical
Fantasy. Unlike WanderLust - Surgical Fantasy is almost full-fledged
strategic and economic game, but there will be no less jokes and it will occupy
the entire disk. It’s possible that there are two disks, but I think that would be a hassle.
force the player to change discs.
Thanks for the feedback, they inspire me to work quickly. These are just the plugs
with music, but I hope ZNAHAR will help.
By the way, I have the following question for everyone who played... Questions are written in the game
black with a shadow on blue... Looks great on the real Speccy, on
emulator on different monitors in different ways, on some - almost nothing is visible.
Is this very annoying? Maybe it's worth changing the color? Although I most of all
I liked this combination...
From
Boris Krasnoperov
→
To
All
9 March 2006
Hello Robus
Rob> By the way, I have the following question for everyone who played... Questions in the game
Rob> are written in black with a shadow on blue... On a real Speccy it’s great
Rob> looks different on the emulator on different monitors, on some
Rob> - almost nothing is visible. Is this very annoying? Maybe it's worth replacing
Rob> color ? Although I liked this combination most of all...
In the emulator it really doesn’t look very good, you have to look closely. But
I think we need to focus on the real ZX,
or, for example, choose ink/paper colors from acceptable combinations according to RND. Or in
the setting can be made.
And one more thing - is it possible to add unloading/loading of the current state?
From
Boris Krasnoperov
→
To
All
9 March 2006
Hello Robus
Rob> I didn’t say that I’m against libraries... I’m against libraries where there are
Rob> procedures for printing characters, sprites, music and similar things. I
Rob> is not at all against a collection of procedures, for example reading from FDD or HDD
Rob> or packers with depackers. That is, system procedures. Me too
Rob> I watch what other people do, for example, I studied with Michail Batty.
Rob> I really like Wakson or Raider's programming style
Rob> Sorry, I don’t remember who wrote all the code for them. For example: they have
Rob> the player under SounDrive has a super mixer of four channels into one -
Rob> digital mixer with three commands. I like the way RST-7 codes, though
Rob> as a person I can’t stand him. And build a program on printing characters
Rob> it scares me, except to make a packer - I understand. For example: mine
Rob> game WanderLust, standard seals would hardly fit there, because there
Rob> on the go, printing occurs either in the shadow screen, sometimes in both, sometimes only in
Rob> 48th, because a piece of the demo is in the form of code in the shadow page.Rob> It would simply be pointless to use something standard.
Rob>
It is clear that a game that uses 100%% computer resources and libraries can
harm because their use is almost always associated with some
overhead costs. And the collections of procedures (source codes) here are just that:
necessary.
But there are also system programs and the OS itself, about which they talk a lot and
which doesn't exist yet. There are libraries (namely libraries of compiled code in
COM-shaped wrapper or something else) would be very useful because the differences in
circuit design is hidden, and development time is saved. In general, "pros"
quite a lot...
Rob> And I’m always happy to share. I'm not sorry at all, and I'm ready to talk about
Rob> any part of the program. For example, I can post WanderLust in the form
Rob> all the sources, even pictures in BMP form - you can draw them here
Rob> convert it into a game.
Personally, I would be very interested in looking at the source code! :)
From
Boris Krasnoperov
→
To
All
9 March 2006
Hello SMT
SMT> but no! the correct answer is pause (there was an option for how long
SMT> cycles)
With a pause you could fly by in a number of bars :)
I winnowed - a useless action (??) - it went away :)
Although, they probably would have given more points for a pause