┌─────────Peace to your DOOM All !──────┐
└─────────────────── ───────────────────┘
People have returned from the army, I want to get back to writing in earnest
programs, so you advise me which ASM is better and more convenient for me
will use everything...
I have Scorpion+256+SMUC+HDD It is possible to connect more
1 MB of memory.
My sources are mainly in XAS, but I also have ZASM.
We need an assembler such that: text>asm and vice versa,
complex mathematical operations could be written in the program.
In Xas I write
LD D,INT&H
LD E,INT&L
In ZASM I'm perverted...
LD D,INT/256
LD E,INT-(INT/256*256)
or something like... :)
It is necessary to support additionally. register commands
XL,YL,XH,YH Well, in general, what should I work in?
┌───────────────────────── ─────────────────────────┐
└──────Sincerely, Ivan. VS Prog/N-Discovery──────┘
FromKirill Frolov→ToEugene Palenock24 August 2000
Press RESET immediately, Eugene!
22 Aug 00 16:51, Eugene Palenock wrote to Kirill Frolov:
KF>> Try ZXASM3.10. It has an even slower editor, but KF>> there will be more possibilities than all other assemblers on KF>> Spectrum. EP> Can it work entirely in upper memory? EP> Alasm can.
Is this necessary? What difference does it make in what memory the assembler runs?
This will not make him any faster or more feature-rich.
Or do you mean placing the assembler at the time of launching the compiled
programs? Well, RTFM:
--- MAKE directive ---
~~~~~~~~~~~~~~
The MAKE directive defines the room
object code to disk.
Syntax:
FromVladimir Larkov→ToCoModerator31 August 2000
Hello CoModerator!
Mon 28-Aug-2000 03:48, you (500:812/1.25@zxnet) wrote a letter to Kirill Frolov:
C> you have something that suits you (by the way, me too, excluding C> of course, scrolling :-) and on the Spectrum people are tormented by the choice :)
Have you already learned how to run the Spectrum ebulator? With sound? And he stopped destroying
plunger~9x?
With best wishes, Vladimir.
FromAleksey Malov→ToAleksandr Majorov31 August 2000
Greetings, Aleksandr!
Sat 26 Aug 2000 at 13:14:48 Aleksandr Majorov and Eugene Palenock were talking
on the topic of Assm in which you can create something....
AM> Now tell me how you saved the finished debugged program to disk. :)AM> Not copies, but ready-made code :)
In zasm3.10 it is more or less possible to automate the process of building a program. I when
I stuffed parts of the demo into pages and did something like this:
savepage equal 1
org #c000
part1 insert "part1.pac"
part2 insert "part2.pac"
part3 insert "part3.pac"
saveobj "page0.C"
org #c000
part4 insert "part4.pac"
part5 insert "part5.pac"
saveobj "page1.C"
org #5b02
kernel
db #10
dw part1
db #10
dw part2
db #10
dw part3
db #11
dw part4
db #11
dw part5
Still, it’s more convenient than loading these files from STS every time.
Happy, Aleksandr! Vivid/Brainwave^X-Project was with you.
[ZX] [Sailor Moon]
FromKirill Frolov→ToAleksandr Majorov3 September 2000
Press RESET immediately, Aleksandr!
03 Sep 00 12:06, Aleksandr Majorov wrote to Kirill Frolov:
AM>>> These 255 seconds are already packed :) AM>>> And unpacked it’s all 128K of code/data. AM>>> That is. we occupy all banks inside and out :) AM>>> And how to load _this_ with a candy bar? :) KF>> There is a processor there and it will load... AM> What processor? ;))))))))
Bootable.
KF>> Why bother loading everything at once in one go? KF>> Loaded a couple of kilobytes into the buffer, unpacked them, loaded another couple KF>> kilobyte... AM> Well, it’s the same as loading pages by page. AM> I pulled in a whole can, unpacked it, etc. AM> It’s better to unpack everything together after downloading.
No, stop being lame, huh? I understand, of course, that this echo was originally
not designed for any serious coding, but not that much...
AM> But look at the original letter :) AM> What addresses? The program must be monolithic (there are, of course, AM> exceptions) be a block and scatter everything among the banks... otherwise AM> it will turn out like KONEX's at FUNTOP'98 - I loaded it into jars for 10 minutes, and AM> then everything reset... HA-HA-HA! :) AM> Got it? AM> Everything should be a candy bar! :)
Brad.
Can you imagine how the same decrust works? He needs to be taken out of the flow
only a few bits at a time, well, you also need to store the already unpacked ones somewhere
data. The buffer for loading from disk /by sector/ can be length
256+some_small_constant bytes.
And through this buffer you can suck in the entire file and unpack it normally. But
because
The hardware disk drive is dumb and reads ahead into its internal buffer
produce
can’t, then it’s better to suck in at least 4 kilobytes.
And the way it is customary among spectrists is to load 16kb sectors, every
with my
depacker, but the same everywhere, and then unpack into a separate jar -
LAMERITY.
There are losses on the remaining sectors on average of 128 bytes per sector, plus depacker
about
256 bytes per jar.
2All:
Recently, in general, many programs consist of a bunch of segments that
you need to unpack it and organize it in memory. It would be nice if someone
got busy
a universal loader for such things. Well, at the same time we would like to decide on
format
downloaded files. You will also need a linker to assemble and package this heap
segments into a monoblock.
FromKirill Frolov→ToDmitriy Nesmachny7 September 2000
Press RESET immediately, Dmitriy!
05 Sep 00 23:28, Dmitriy Nesmachny wrote to Kirill Frolov:
DN> Good - good. I figured out how we can make peace! Just consider that DN> Alasm for real coders, and for the rest, something simpler: see there or DN> storm... ;-)))))))))))))))))
Yesterday, in a storm, I wrote purely by accident:
DB ".",#FF
:-( I then spent about 10 minutes looking for a bug in a 200-byte program!
FromKirill Frolov→ToAleksandr Majorov12 September 2000
Press RESET immediately, Aleksandr!
05 Sep 00 14:31, Aleksandr Majorov wrote to Dmitriy Nesmachny:
AM> It’s easier for me - I just entered it where needed AM> JR $ or entered the macro BREAK ( out (254),a: inc a: jr $-3) AM> and launched it. When everything is up, I go to the debugger...
@#$$!! REMOVE THIS MACRO!
NOW I UNDERSTAND WHAT THE HELL MMDA YOUR UNACCEPTABLE MISTAKES ARE MAKING
AND BEEPING IN THE PHONE! YOU HAVE XTR, AND SOME HAVE VICOMM!
Well, at least disguise bits 7,6,5,3 as zero!
FromKirill Frolov→ToDmitriy Nesmachny13 September 2000
Press RESET immediately, Dmitriy!
12 Sep 00 00:53, Dmitriy Nesmachny wrote to Kirill Frolov:
KF>> But this scheme does not exist. This ROM is just... Well, or Magic in the cache KF>> - I have 2 magic buttons. DN> Is there a 64 kb cache circuit that fully emulates all 4 ROMs? Let's! :-)
Down VVVV look, is this?
╔═══════════════════════════════ ═══════════════════════════════╗
║ ║
║ ROM emulator for the "ZX-Spectrum" computer. ║
║ Version 1.0. ║
║ ║
╚═══════════════════════════════ ═══════════════════════════════╝
This development is intended for debugging and testing embedded
computer software. This scheme replaces
Computer ROM on RAM size 64 kB. I am the owner of the computer
Profi, so all signals are indicated based on its circuit. Therefore
I will give an explanation of some of the names, because on the diagrams of different
car models may vary.
_____
TRDOS is one of two ROM page switching signals. When he
active, then the half of the ROM in which the
_____ are maintained by TR-DOS and the Profi start menu.
ROMCS - active when accessing addresses #0000 - #3FFF, if ROM
not blocked.ROM14 is the second signal for switching ROM pages. Coming from the port
#7FFD.
The emulator is controlled by software via port #F7. Conflicts with other
is not created by any devices, because address decryption
occurs over all 8 bits. The bit layout is as follows:
0 - connects RAM instead of ROM. Writing to RAM is only possible when
connecting it.
1 - blocking writing to RAM. Useful for full ROM emulation.
2 - device reset blocking. If this bit is clear, then
Pressing the reset button will reconnect the ROM. When tired
set bit, resetting will not affect the state of the device in any way.
swarms. You can get out of this state only by
programmatically clearing this bit or by turning off the pi-
tania. Introduced also for full ROM emulation.
3 - setting this bit to 1 will connect that page of RAM
or a ROM that contains TR-DOS and something else in the
depending on the specific machine. Selecting specifically TR-DOS or
The additional page is produced by bit 4 of port #7FFD.
Introduced to facilitate access to the TR-DOS page, as well as for
providing access to an additional page in machines, in
which it does not exist (Profi, GRM, Radon, etc.).
This device is designed to use ROM 27512.
Unfortunately, for many reasons I cannot make the device work.
stva with ProfPZU on Scorpio. Naturally, ProfPZU itself worked with himIt will work, but it’s impossible to replace all the pages. Therefore
To work, you must load old versions into page 4 of RAM
shadow monitor, working with regular ROM. Second similar
case is the interface "ZX-LPRINT". If his program is
placed in a separate ROM, and not in the fourth page of 27512, then
This ROM will also not be emulated. When installing the emulator
The ROM located in the computer must be moved to its
fee. The circuit is designed for connection to the system bus. and which
no additional signals are required.
and at the moment the emulator is assembled and working, therefore the circuit is not
must contain errors. The prototype showed brilliant performance
results. Now you can do whatever you want with your ROM.
For example, you can completely change the NMI processing routine
in TR-DOS - this hitherto useless button can really become
magical!
Tests of the prototype showed only one nuance, which
concerns the operation of TR-DOS in the device memory. On initialization
TR-DOS replaces the ROM. This phenomenon is a consequence of the work
subroutine from address 15672, the purpose of which is to check for
presence of Interface-1. To do this, she resets port #F7 in the hope
get a response from the interface. Below is its full text:
15672 XOR A; reset port #F7
OUT(247),A
IN A,(247) ;look at its state
CP 30; interface-1 responds?JR Z,15684 ;if yes, then create its system variables
CP 31
RET NZ ;if not, then return
15684 RST 8 ;create interface system variables-1
DEFB #31
LD A,1 ;on the SAVE command, write 1 copy
LD (23791),A
RET ;return
To ensure TR-DOS operation in the emulator memory, it is necessary
correct this subroutine by entering two zeros at addresses 15673 and
15674. After this, port #F7 will no longer be reset, and you can
work with TR-DOS in the emulator's RAM.
FromYura Nazarenko→ToDmitriy Nesmachny15 September 2000
Hello, Dmitriy!
On Tuesday street, and 12 Sep 2000 at 01:13:12
Dmitriy Nesmachny drew for Yura Nazarenko
on the topic "Assm in which you can create something..."...
[skiped]
YN>> Assembling into jars does not make it easier for “real onesYN>> coders". For real coders, this is see. All sortsYN>> editorsYN>> sprites, fonts, etc. etc. This is all for convenience!!! DN> Does it for me. I don't need sprites with convenience DN> edit in ASMA, and prog DN> debug. There is a special one for sprites and fonts. editors.
ALASM:
I saved the source, reset it, loaded the edit. fonts, created a font,
burned it to disk, loaded asm, loaded the source, continue
edit.
ZHASM:
Launched ed. fonts, created a font, burned it to disk, exited.
Can we finish the bazaars about “the best ASM”? Everyone sits on
what he likes. I'm tired of zxasm, someone is tired of alasm...
All the best to you, Dmitriy!
Yuri Nazarenko/Rezident/N-Discovery
FromAleksandr Majorov→ToGeorge Valnin19 September 2000
Hello George!
16 Sep 00 22:39, George Valnin -> Aleksandr Majorov:
[skipped]
AM>> And in the case of using out (254),a: inc a: jr $-3 GV> Ugh, what a bullshit... ;) OUT (#FE), A _nelamer_ write... ;)
SA-A-A-AM LAMER! ;))))))))))
What is the fastest way to dial 254 (three buttons side by side!)
Or stretch across the entire keyboard?
Shift+3, release Shift, F, E ...
Long!
Besides, I have an agreement with myself:
OUT (#FE),A means that it is needed in the program.
And OUT (254), A is a temporary breakpoint.
And then I do a search Find "out (254)" and remove all the breakpoints,
leaving the NECESSARY pins in the port untouched.
But the “nelamer” will clean everything with his hands!
Crawling with a search to each conclusion and looking/remembering
whether he needs it or not!
Alexand