Add full compiler toolchain, libc, examples and reference docs
First substantive commit: the entire Sprinter C compiler tree on top of
the bare README+gitignore initial commit.
What's in here:
bin/sprinter-cc — driver script invoking SDCC + linker + mkexe
libc/ — Sprinter-specific libc layer over ESTEX/BIOS
(conio, gfx, io, mem, stdio + headers)
runtime/ — crt0 variants (default/small/banked/minimal)
+ heap + bank trampolines
toolchain/ — mkexe (SprintEXE packer, C + tests)
examples/ — 30 demo programs (gfx, file I/O, env, time, …)
lib/Makefile — builds the libc archive (sprinter.lib)
docs/ — converted Sprinter manuals + asm reference samples
third_party/ — solid-c reference compiler dump + sdcc setup script
release_docs/ — packaging / release notes
gitignore overhaul:
• Drop dangerous blanket patterns: *.asm (would hide docs/samples/*.asm)
and *.exe (case-insensitive match was hiding third_party/solid-c/*.EXE
on macOS APFS). Replaced with examples/*/*.{asm,exe,…} and lib/*.lib.
• Restore tracking of toolchain/mkexe/tests/{one,big}.bin — those are
INPUT fixtures, not build outputs.
• Collapse the duplicated SDCC/C/Sdcc sections into one section per
concern (build outputs / vendored / OS-junk).
• Add .sprinter-cc-*/, build/ (catches lib/build/ too), .claude/.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
+66
-57
@@ -1,64 +1,73 @@
|
||||
# ---> C
|
||||
# Prerequisites
|
||||
*.d
|
||||
# ===========================================================================
|
||||
# Build outputs
|
||||
# ===========================================================================
|
||||
|
||||
# Object files
|
||||
# `build/` directories anywhere in the tree
|
||||
# (top-level build/, lib/build/, toolchain/*/build/, ...)
|
||||
build/
|
||||
|
||||
# sprinter-cc per-example intermediate directory
|
||||
.sprinter-cc-*/
|
||||
|
||||
# Per-example final/intermediate outputs landing alongside the source
|
||||
examples/*/*.exe
|
||||
examples/*/*.asm
|
||||
examples/*/*.lst
|
||||
examples/*/*.lk
|
||||
examples/*/*.ihx
|
||||
examples/*/*.noi
|
||||
examples/*/*.sym
|
||||
examples/*/*.map
|
||||
examples/*/*.rel
|
||||
examples/*/*.cdb
|
||||
examples/*/*.mem
|
||||
examples/*/*.rst
|
||||
|
||||
# libc archive (built from libc/, see lib/Makefile)
|
||||
lib/*.lib
|
||||
|
||||
# Host-built mkexe binary + test outputs (input fixtures *.bin/*.ihx kept)
|
||||
toolchain/mkexe/mkexe
|
||||
toolchain/mkexe/tests/*.exe
|
||||
toolchain/mkexe/tests/*.actual
|
||||
|
||||
# Host-C build artifacts (mkexe and similar tools compiled with native cc)
|
||||
*.o
|
||||
*.ko
|
||||
*.obj
|
||||
*.elf
|
||||
|
||||
# Linker output
|
||||
*.ilk
|
||||
*.map
|
||||
*.exp
|
||||
|
||||
# Precompiled Headers
|
||||
*.gch
|
||||
*.pch
|
||||
|
||||
# Libraries
|
||||
*.lib
|
||||
*.a
|
||||
*.la
|
||||
*.lo
|
||||
|
||||
# Shared objects (inc. Windows DLLs)
|
||||
*.dll
|
||||
*.so
|
||||
*.so.*
|
||||
*.dylib
|
||||
|
||||
# Executables
|
||||
*.exe
|
||||
*.out
|
||||
*.app
|
||||
*.i*86
|
||||
*.x86_64
|
||||
*.hex
|
||||
|
||||
# Debug files
|
||||
*.dSYM/
|
||||
*.su
|
||||
*.idb
|
||||
*.pdb
|
||||
|
||||
# Kernel Module Compile Results
|
||||
*.mod*
|
||||
*.cmd
|
||||
.tmp_versions/
|
||||
modules.order
|
||||
Module.symvers
|
||||
Mkfile.old
|
||||
dkms.conf
|
||||
# ===========================================================================
|
||||
# Vendored / downloaded
|
||||
# ===========================================================================
|
||||
|
||||
# ---> Sdcc
|
||||
# SDCC stuff
|
||||
*.lnk
|
||||
*.lst
|
||||
*.map
|
||||
*.mem
|
||||
*.rel
|
||||
*.rst
|
||||
*.sym
|
||||
# SDCC: extracted source tree + download tarballs
|
||||
# (only third_party/setup-sdcc.sh tracked)
|
||||
third_party/sdcc/
|
||||
third_party/sdcc-*/
|
||||
third_party/*.tar.bz2
|
||||
third_party/*.tar.gz
|
||||
|
||||
# MAME emulator install — ~1 GB binary + ROMs + CHDs
|
||||
mame/
|
||||
|
||||
# ===========================================================================
|
||||
# OS / editor / AI assistant
|
||||
# ===========================================================================
|
||||
|
||||
# macOS
|
||||
.DS_Store
|
||||
._*
|
||||
|
||||
# Editor swap / backup
|
||||
*~
|
||||
*.swp
|
||||
*.bak
|
||||
*.orig
|
||||
*.rej
|
||||
|
||||
# IDEs
|
||||
.vscode/
|
||||
.idea/
|
||||
|
||||
# Claude Code local settings (per-machine, not for the repo)
|
||||
.claude/
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2026 Sprinter C Compiler contributors
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
|
||||
================================================================================
|
||||
|
||||
Vendored third-party components are under their own licenses:
|
||||
|
||||
third_party/sdcc/ — SDCC 4.5 under GPL v2 with linking exception.
|
||||
See third_party/sdcc/COPYING.txt.
|
||||
third_party/solid-c/ — Original Sprinter Solid C, used only as a reference
|
||||
for compatibility. Licence not specified upstream;
|
||||
treat as reference material, do not redistribute
|
||||
original binaries.
|
||||
mame/v306/ — MAME (https://www.mamedev.org), GPL v2+.
|
||||
mame/v306/IMG/*.img *.chd *.iso — Sprinter ROM / DSS / sample disk images
|
||||
from Peters Plus. Redistribution policy: see
|
||||
Peters Plus documentation.
|
||||
|
||||
Documentation in docs/converted/, docs/reference/, docs/samples/, and
|
||||
docs/memory management/ contains material originally published by Peters Plus
|
||||
team (Иван Мак, Дмитрий Паринов and others). Used here for cross-compilation
|
||||
reference; original copyrights apply.
|
||||
@@ -0,0 +1,88 @@
|
||||
# Sprinter C Compiler — top-level Makefile
|
||||
#
|
||||
# make build host tools, libc archive, and all examples
|
||||
# make tools build only host tools (mkexe)
|
||||
# make lib build lib/sprinter.lib (libc archive used by sprinter-cc)
|
||||
# make examples build all examples
|
||||
# make floppy package every example + test files into mame/v306/IMG/mc.img
|
||||
# make check run mkexe unit tests
|
||||
# make clean remove all build artefacts
|
||||
# make sdcc download/extract vendored SDCC
|
||||
#
|
||||
# Most heavy lifting is delegated to sub-Makefiles.
|
||||
|
||||
EXAMPLES := hello banked bankedbg strtest cat seek malloc mem_test argv errno rt_test openenv ls conio attrprob timedir mouse banklocl stdlib assrtest ptime stattest filetest gfx_demo gfx_d16 gfx_text gfx_mous
|
||||
|
||||
MAME_DIR := mame/v306
|
||||
FLOPPY_IMG := $(MAME_DIR)/IMG/mc.img
|
||||
MAKE_DISK := $(MAME_DIR)/make_disk.py
|
||||
|
||||
EXE_FILES := \
|
||||
examples/hello/hello.exe \
|
||||
examples/banked/banked.exe \
|
||||
examples/bankedbg/bankedbg.exe \
|
||||
examples/strtest/strtest.exe \
|
||||
examples/cat/cat.exe \
|
||||
examples/seek/seek.exe \
|
||||
examples/malloc/malloc.exe \
|
||||
examples/mem_test/mem_test.exe \
|
||||
examples/argv/argv.exe \
|
||||
examples/errno/errno.exe \
|
||||
examples/rt_test/rt_test.exe \
|
||||
examples/openenv/openenv.exe \
|
||||
examples/ls/ls.exe \
|
||||
examples/conio/conio.exe \
|
||||
examples/attrprob/attrprob.exe \
|
||||
examples/timedir/timedir.exe \
|
||||
examples/mouse/mouse.exe \
|
||||
examples/banklocl/banklocl.exe \
|
||||
examples/stdlib/stdlib.exe \
|
||||
examples/assrtest/assrtest.exe \
|
||||
examples/ptime/ptime.exe \
|
||||
examples/stattest/stattest.exe \
|
||||
examples/filetest/filetest.exe \
|
||||
examples/gfx_demo/gfx_demo.exe \
|
||||
examples/gfx_d16/gfx_d16.exe \
|
||||
examples/gfx_text/gfx_text.exe \
|
||||
examples/gfx_mous/gfx_mous.exe
|
||||
|
||||
DATA_FILES := \
|
||||
examples/cat/test.txt \
|
||||
examples/seek/big.txt
|
||||
|
||||
.PHONY: all tools lib examples check clean sdcc floppy $(EXAMPLES)
|
||||
|
||||
all: tools lib examples
|
||||
|
||||
tools:
|
||||
$(MAKE) -C toolchain/mkexe
|
||||
|
||||
lib:
|
||||
$(MAKE) -C lib
|
||||
|
||||
check: tools
|
||||
$(MAKE) -C toolchain/mkexe check
|
||||
|
||||
examples: $(EXAMPLES)
|
||||
|
||||
$(EXAMPLES): tools lib
|
||||
$(MAKE) -C examples/$@
|
||||
|
||||
# Generate big.txt if missing (gen_bigfile.py creates 100 KB marker file).
|
||||
examples/seek/big.txt:
|
||||
cd examples/seek && python3 gen_bigfile.py big.txt 102400
|
||||
|
||||
# Re-pack the MAME floppy image with every built example + needed data files.
|
||||
floppy: examples examples/seek/big.txt
|
||||
python3 $(MAKE_DISK) $(FLOPPY_IMG) $(EXE_FILES) $(DATA_FILES)
|
||||
@echo
|
||||
@echo "Floppy ready: $(FLOPPY_IMG)"
|
||||
@echo "Run: cd $(MAME_DIR) && ./run_mame.sh"
|
||||
|
||||
clean:
|
||||
$(MAKE) -C toolchain/mkexe clean
|
||||
$(MAKE) -C lib clean
|
||||
@for e in $(EXAMPLES); do $(MAKE) -C examples/$$e clean; done
|
||||
|
||||
sdcc:
|
||||
bash third_party/setup-sdcc.sh
|
||||
@@ -1,2 +1,221 @@
|
||||
# Sprinter-SDCC
|
||||
# Sprinter C Compiler — v1.0
|
||||
|
||||
C toolchain for **Sprinter** — the Z80-based home computer by Peters Plus, running
|
||||
ESTEX DSS. Host: macOS / Linux. Target: `.EXE` files in SprintEXE format.
|
||||
|
||||
Built on top of **SDCC 4.5** (vendored in `third_party/sdcc/`). This repository adds
|
||||
everything Sprinter-specific: crt0, linker integration, libc wrappers over ESTEX,
|
||||
banked-call trampolines, graphics & accelerator API, mouse driver wrappers, and the
|
||||
`mkexe` utility for producing SprintEXE images.
|
||||
|
||||
## What you get
|
||||
|
||||
* **`bin/sprinter-cc`** — one-line driver: `sprinter-cc -o foo.exe foo.c`
|
||||
* **Memory modes**: `tiny`, `small`, `big`, `huge`, `manual` — see below.
|
||||
* **stdio + conio**: printf, puts, putchar, getchar, fopen/fread/..., cprintf, cputs, putch, textcolor/textbackground/textattr, gotoxy, kbhit/getch.
|
||||
* **Graphics**: 320×256×256 and 640×256×16 modes, accelerator-backed primitives (hline / vline / rect / fill_rect / line via Bresenham, plus clear), bitmap-font text in both modes via BIOS character generator.
|
||||
* **File I/O**: POSIX (`open`/`read`/`write`/`close`/`lseek`/`unlink`/`creat`), FILE\* streams (`fopen`/`fgets`/`fwrite`/...), directory listing (`ffirst`/`fnext`), `chdir`/`getcwd`/`mkdir`/`rmdir`, `stat`/`fstat`.
|
||||
* **Memory**: 32 KB heap (W2-resident), banking-aware page allocator (`mem_alloc_pages`/`bank_read`/`bank_write`), explicit memory modes for sub-16 KB programs.
|
||||
* **Mouse**: full Sprinter driver wrapper (14 functions including custom cursor bitmaps).
|
||||
* **Environment**: `getenv`/`putenv`/`sysenv` over ESTEX `$46`.
|
||||
* **Time**: `getdatetime`/`setdatetime` + POSIX `time`/`localtime`/`mktime`/`asctime`/`ctime`.
|
||||
* **Misc**: `errno`/`strerror`/`perror`, `atexit`, `setjmp`/`longjmp`, `sleep`, full argv parsing in crt0.
|
||||
|
||||
## Quick start
|
||||
|
||||
```sh
|
||||
git clone <this repo> sprinter-c
|
||||
cd sprinter-c
|
||||
make sdcc # one-time: fetch SDCC 4.5 binary (~25 MB)
|
||||
make all # build mkexe + libsprinter.lib + 27 examples
|
||||
make floppy # pack everything into mame/v306/IMG/mc.img
|
||||
cd mame/v306 && ./run_mame.sh # boot Sprinter in MAME
|
||||
```
|
||||
|
||||
Compile a single program:
|
||||
|
||||
```sh
|
||||
cat > hello.c <<EOF
|
||||
#include <stdio.h>
|
||||
int main(void) { puts("Hello, Sprinter!"); return 0; }
|
||||
EOF
|
||||
|
||||
bin/sprinter-cc -o hello.exe hello.c
|
||||
```
|
||||
|
||||
That's it — `hello.exe` is now a valid SprintEXE you can `RUN HELLO` from the ESTEX shell.
|
||||
|
||||
## Memory modes
|
||||
|
||||
Sprinter's address space is four 16 KB windows (W0 / W1 / W2 / W3). DSS allocates
|
||||
pages by program size — small programs get only one page. Pick a memory mode based
|
||||
on what your program needs:
|
||||
|
||||
| Mode | Code lives in | Banking | Use when |
|
||||
|---|---|---|---|
|
||||
| `tiny` (default) | W2 (0x8100+) | no | code+data < 14 KB |
|
||||
| `small` | W1 (0x4100+) | no | code+data < 30 KB |
|
||||
| `big` | W2 + W1 banks | yes (W1) | tiny + extra code modules |
|
||||
| `huge` | W1 + W3 banks | yes (W3) | small + extra code modules |
|
||||
| `manual` | user-specified | optional | special layouts |
|
||||
|
||||
```sh
|
||||
sprinter-cc --memory small -o big.exe bigprog.c
|
||||
sprinter-cc --memory huge -o app.exe main.c --bank 1=engine.c --bank 2=ai.c
|
||||
```
|
||||
|
||||
Banked functions are declared with `__banked`:
|
||||
|
||||
```c
|
||||
void engine_tick(int dt) __banked; // lives in BANK1, automatically swapped
|
||||
```
|
||||
|
||||
## Examples (27 total)
|
||||
|
||||
| Example | What it demonstrates |
|
||||
|---|---|
|
||||
| `hello` | Hello world with stdio + conio Turbo-C-style colors |
|
||||
| `argv` | argv parsing in crt0 |
|
||||
| `cat` | File I/O — read & print TEST.TXT |
|
||||
| `seek` | 32-bit lseek over a 100 KB file |
|
||||
| `ls` | Directory listing via ffirst/fnext |
|
||||
| `filetest` | FILE\* streams (fopen/fread/...) |
|
||||
| `stattest` | `stat`/`fstat` on files and directories |
|
||||
| `errno` | errno / strerror / perror |
|
||||
| `mem_test` | Page allocator + bank\_read/bank\_write |
|
||||
| `malloc` | Heap stress test (200+ allocations) |
|
||||
| `banked` | Banked code in W3 (huge mode) |
|
||||
| `bankedbg` | Banked code in W1 (big mode) |
|
||||
| `banklocl` | Bank-local static data and BSS |
|
||||
| `mouse` | Mouse driver in text mode |
|
||||
| `gfx_mous` | Mouse with custom bitmap cursor in graphics mode |
|
||||
| `gfx_demo` | 320×256×256 lines / rects / accelerator |
|
||||
| `gfx_d16` | 640×256×16 same primitives |
|
||||
| `gfx_text` | Bitmap-font text on graphics screen |
|
||||
| `timedir` | Date/time + directory listing |
|
||||
| `ptime` | POSIX time API |
|
||||
| `openenv` | open() flags + environment vars |
|
||||
| `conio` | conio API smoke test |
|
||||
| `attrprob` | Probe Sprinter text attribute byte layout |
|
||||
| `strtest` | string.h test (from SDCC's z80.lib) |
|
||||
| `stdlib` | stdlib.h test (qsort / rand / strtol / etc.) |
|
||||
| `assrtest` | assert() |
|
||||
| `rt_test` | Runtime helpers (sleep, setjmp, atexit) |
|
||||
|
||||
## Headers
|
||||
|
||||
Standard:
|
||||
* `<stdio.h>` — puts / printf / FILE\* + Sprinter-specific dec/hex helpers
|
||||
* `<stdlib.h>` — atoi / atof / malloc / qsort / ... (from SDCC z80.lib)
|
||||
* `<string.h>` / `<ctype.h>` / `<math.h>` — from SDCC z80.lib
|
||||
* `<unistd.h>` — read / write / close / lseek / unlink
|
||||
* `<fcntl.h>` — open / creat + O\_RDONLY / O\_CREAT / ...
|
||||
* `<errno.h>` — errno + error names + strerror
|
||||
* `<sys/stat.h>` — stat / fstat
|
||||
* `<setjmp.h>` / `<assert.h>` — from SDCC
|
||||
|
||||
Sprinter-specific:
|
||||
* `<conio.h>` — putch / cputs / cprintf, textcolor / textbackground / textattr, kbhit / getch, clrscr, gotoxy, wherex/y
|
||||
* `<gfx.h>` — gfx_init/done, palette, putpixel, hline/vline/rect/fill_rect/line, text — for both 320 and 640 modes (gfx_\*16 variants)
|
||||
* `<mouse.h>` — full 14-function driver wrapper + mouse_cursor_t with bitmap support
|
||||
* `<dir.h>` — chdir / getcwd / mkdir / rmdir / ffirst / fnext / ffblk
|
||||
* `<time.h>` — getdatetime / setdatetime + POSIX time / localtime / etc.
|
||||
* `<sprinter.h>` — raw ports, ESTEX/BIOS function numbers, env API
|
||||
* `<sprinter_exit.h>` — exit / \_exit / atexit
|
||||
* `<sprinter_mem.h>` — mem\_alloc\_pages / mem\_free\_block / bank\_read / bank\_write
|
||||
* `<sprinter_compat.h>` — Solid-C compatibility layer (aliases + BOOL/WORD/uint types)
|
||||
|
||||
## Toolchain commands
|
||||
|
||||
```sh
|
||||
make all # build mkexe + lib + every example
|
||||
make floppy # repack mame/v306/IMG/mc.img with all .exe files
|
||||
make check # 17 mkexe unit-tests
|
||||
make clean # remove all build artefacts
|
||||
make sdcc # one-time: fetch SDCC 4.5 binary
|
||||
```
|
||||
|
||||
### sprinter-cc options
|
||||
|
||||
```
|
||||
sprinter-cc -o foo.exe foo.c [more.c ...] [options]
|
||||
|
||||
--memory MODE tiny | small | big | huge | manual (default: tiny)
|
||||
--memory-manual SPEC explicit placement (CODE=W1|W2,DATA=W1|W2|SAME,BANKED=W1|W3)
|
||||
--stack-size N bytes reserved for the stack (default ~1278)
|
||||
--crt0=TYPE default | minimal | banked | small
|
||||
--bank N=FILE.c compile FILE.c into bank N (repeatable, max 15)
|
||||
--debug enable runtime diagnostics (defines DEBUG_RT)
|
||||
-I PATH extra include path
|
||||
-L 0xADDR / -E / -S override load / entry / stack addresses
|
||||
-Wl FLAG pass FLAG to sdldz80
|
||||
--mkexe FLAG pass FLAG to mkexe (e.g. --mkexe -p --mkexe 0 for bank padding)
|
||||
-v verbose
|
||||
```
|
||||
|
||||
## Status
|
||||
|
||||
What works in v1.0:
|
||||
* Compile / link / pack to SprintEXE — verified on all 27 examples
|
||||
* All five memory modes (tiny / small / big / huge / manual)
|
||||
* Graphics (both modes) with accelerator
|
||||
* Mouse (text + graphics cursor)
|
||||
* File I/O, directories, environment, time
|
||||
* All headers listed above
|
||||
|
||||
Deferred to v2.0 (see `docs/TODO.md`):
|
||||
* **IM2 interrupt handlers** — research complete (`docs/im2_isr_design.md`),
|
||||
implementation scheduled for v2
|
||||
* **Turbo-C-style BGI graphics API** — `initgraph` / `setcolor` / `circle` /
|
||||
`getimage` / `putimage` / etc. on top of our `gfx_*` primitives
|
||||
* **Audio API** (AY-3-8910 + COVOX) — requires IM2
|
||||
* **ISA-8 slot drivers** — requires IM2
|
||||
* Remaining Solid-C compatibility gaps (Phase 2/3) — see `docs/solid_c_compatibility.md`
|
||||
|
||||
## Documentation
|
||||
|
||||
* `docs/TODO.md` — roadmap and open work items
|
||||
* `docs/solid_c_compatibility.md` — gap analysis vs Solid-C 2004
|
||||
* `docs/im2_isr_design.md` — interrupt handler design (v2)
|
||||
* `docs/converted/` — source documentation (ESTEX, BIOS, architecture)
|
||||
converted to plain text for `grep`
|
||||
* `docs/reference/`, `docs/samples/`, `docs/memory management/` — original
|
||||
Russian docs and code samples from Peters Plus
|
||||
|
||||
## Repository layout
|
||||
|
||||
```
|
||||
bin/sprinter-cc one-line compiler driver (bash)
|
||||
toolchain/mkexe/ host-side tool: .ihx -> .exe SprintEXE
|
||||
toolchain/check_banks.py post-link bank size enforcer
|
||||
runtime/ crt0 variants (default, minimal, small, banked)
|
||||
bank trampolines, heap, heap_top
|
||||
libc/include/ headers
|
||||
libc/io|stdio|mem|gfx/ C and asm sources for libsprinter.lib
|
||||
lib/ Makefile that archives libsprinter.lib via sdar
|
||||
examples/ 27 example programs
|
||||
mame/v306/ MAME binary + Sprinter ROM/HDD images + floppy script
|
||||
third_party/sdcc/ vendored SDCC 4.5 (fetched via `make sdcc`)
|
||||
third_party/solid-c/ reference: original Sprinter native C (for compat target)
|
||||
docs/ documentation
|
||||
```
|
||||
|
||||
## License
|
||||
|
||||
This repository contains:
|
||||
* Original code in `bin/`, `toolchain/`, `runtime/`, `libc/`, `lib/`, `examples/` —
|
||||
MIT-licensed.
|
||||
* `third_party/sdcc/` — SDCC 4.5 under GPLv2 with linking exception
|
||||
(see `third_party/sdcc/COPYING.txt`)
|
||||
* `third_party/solid-c/` — original Sprinter Solid C, used only as a reference
|
||||
|
||||
## Credits
|
||||
|
||||
* **Sprinter / Peters Plus** — Иван Мак, Дмитрий Паринов and the original team
|
||||
* **SDCC** — for the underlying Z80 compiler
|
||||
* **z88dk +pps** — Дмитрий M. for paving the way with the first Sprinter target
|
||||
* **MAME** — for the Sprinter Sp2000 emulation
|
||||
|
||||
---
|
||||
|
||||
For questions / patches: see CONTRIBUTING.md (TBD) or open an issue.
|
||||
|
||||
@@ -0,0 +1,147 @@
|
||||
# Sprinter C Compiler — Release Notes
|
||||
|
||||
## v1.0 (2026-06-01)
|
||||
|
||||
First public release. Production-ready toolchain for writing C programs that
|
||||
target Sprinter / ESTEX DSS. Built on top of vendored SDCC 4.5; this repository
|
||||
adds everything Sprinter-specific.
|
||||
|
||||
### Highlights
|
||||
|
||||
* **One-line builds:** `sprinter-cc -o foo.exe foo.c` — pulls in crt0, libsprinter,
|
||||
packs the resulting .ihx into a SprintEXE.
|
||||
* **27 working examples** covering every API surface — used as regression tests
|
||||
while the toolchain was developed.
|
||||
* **Five memory modes** (`tiny / small / big / huge / manual`) handle programs
|
||||
from a few KB up to 32 KB of code + arbitrarily many 16 KB banks.
|
||||
* **Full Sprinter API coverage**: console, files & directories, environment,
|
||||
date/time, mouse, graphics (both 320×256×256 and 640×256×16 modes including
|
||||
the hardware accelerator), bitmap-font text, banking, paging.
|
||||
|
||||
### Component versions
|
||||
|
||||
* SDCC: 4.5.0 (vendored binary)
|
||||
* SprintEXE format: as documented in `docs/converted/ProgrammerManual.txt`
|
||||
* MAME: 0.283 with `sprinter` driver (vendored at `mame/v306/mame.arm`)
|
||||
* DSS / ESTEX: 1.71.57 (matches `mame/v306/IMG/dss171u.img`)
|
||||
|
||||
### What's included
|
||||
|
||||
Toolchain:
|
||||
* `bin/sprinter-cc` — Bash driver
|
||||
* `toolchain/mkexe/mkexe` — host C utility, packs `.ihx` → `.exe`
|
||||
* `toolchain/check_banks.py` — post-link bank size enforcement
|
||||
|
||||
Runtime (`runtime/`):
|
||||
* `crt0.s` — default startup for tiny / big modes, parses argv
|
||||
* `crt0_minimal.s` — opt-out for very small programs (no argv)
|
||||
* `crt0_small.s` — for small / huge modes, allocates W2 via ESTEX `$3A`
|
||||
* `crt0_banked.s` — parameterised: handles W3 banks (huge) or W1 banks (big)
|
||||
via assemble-time `BANK_W1` flag
|
||||
* `bank.s` — `___sdcc_bcall_ehl` trampoline (banking-aware,
|
||||
preserves uint8_t return value in A)
|
||||
* `heap.s` + `heap_top.s` — 32 KB W2-resident heap, configurable upper bound
|
||||
via `sprinter-cc --stack-size`
|
||||
|
||||
Libraries (`libc/`):
|
||||
* `libsprinter.lib` archives: io (open/read/lseek/close/unlink/stat/atexit/setjmp/
|
||||
errno/sleep/time/env/conio/fsdir/dir/mouse), stdio (putchar/puts/getchar/print_hex/
|
||||
file/cprintf/solid_helpers), mem (mem_alloc/bank_io), gfx (gfx_core/gfx_lines/
|
||||
gfx_16/gfx_text)
|
||||
|
||||
Headers (`libc/include/`):
|
||||
* Standard: `stdio.h`, `unistd.h`, `fcntl.h`, `errno.h`, `time.h`, `sys/stat.h`
|
||||
* Sprinter-specific: `conio.h`, `gfx.h`, `mouse.h`, `dir.h`, `sprinter.h`,
|
||||
`sprinter_exit.h`, `sprinter_mem.h`
|
||||
* Compatibility: `sprinter_compat.h` — Solid-C aliases and types
|
||||
|
||||
Examples (27 in `examples/`):
|
||||
* I/O: hello, argv, cat, seek, ls, filetest, stattest, errno
|
||||
* Memory & banking: mem_test, malloc, banked, bankedbg, banklocl
|
||||
* Mouse: mouse, gfx_mous
|
||||
* Graphics: gfx_demo, gfx_d16, gfx_text
|
||||
* Misc: timedir, ptime, openenv, conio, attrprob, strtest, stdlib, assrtest, rt_test
|
||||
|
||||
Documentation (`docs/`):
|
||||
* `TODO.md` — roadmap, v2 plans
|
||||
* `solid_c_compatibility.md` — Solid-C compatibility gap analysis
|
||||
* `im2_isr_design.md` — interrupt design (v2)
|
||||
* `converted/` — searchable plain-text copies of original Russian documentation
|
||||
|
||||
### Notable design decisions
|
||||
|
||||
* **DSS allocates pages by program size** — `< 16 KB` programs get only one
|
||||
16 KB page. Memory modes encode the four possible layouts.
|
||||
* **One libsprinter.lib for all modes** — SDCC's linker drops unused .rel members,
|
||||
so a `tiny` hello program only pulls in what it needs (~700 bytes overhead).
|
||||
* **Banking trampoline ABI**: 1-byte saved page + 2-byte bjump return between
|
||||
the bcall ret and the callee's stack arguments. `pop bc; out (c), b` on the
|
||||
way back preserves A (a previous version clobbered A and silently lost
|
||||
uint8_t return values).
|
||||
* **Text I/O is Turbo-C-style split**: `puts/printf/putchar` (fast, via PCHARS)
|
||||
ignore text attribute; `cputs/cprintf/putch` apply `g_text_attr`. Same
|
||||
convention as Borland C 2.x — programs port over with minimal changes.
|
||||
* **Graphics accelerator**: the `LD D,D / LD C,C / LD E,E / LD B,B` instruction
|
||||
trick is wrapped in self-modifying-code primitives in `gfx_lines.c` (the block
|
||||
length byte must literally follow `LD A,#imm`; we patch it at runtime).
|
||||
* **Mouse cursor format** (verified empirically): 1 byte per pixel, `0xFF =
|
||||
transparent`; the driver stores the bitmap in a dedicated video bank.
|
||||
* **Video mode bitmaps**: BIOS font is **interleaved** — `byte[r*256 + c]`,
|
||||
not `byte[c*8 + r]` as the obvious reading suggests.
|
||||
|
||||
### Limitations / known issues
|
||||
|
||||
* **No interrupt handlers in v1** — scheduled for v2. `examples/rt_test` uses
|
||||
busy-wait sleep via ESTEX `$30` instead.
|
||||
* **MAME's mouse driver stubs `$0E GET_SENSITIVE`** — returns 0 instead of the
|
||||
current value. Workaround: always call `mouse_set_sensitivity(h, v)` with
|
||||
known values at startup; don't trust `mouse_get_sensitivity_*()` reads.
|
||||
* **MAME's mouse driver `$0B RETURN_CURSOR`** — writes the bitmap to the IX
|
||||
buffer but does not update the H/L/D/E result registers, so
|
||||
`mouse_get_cursor()` returns width/height/hot_x/hot_y as 0.
|
||||
* **Several Solid-C functions not yet ported** — see
|
||||
`docs/solid_c_compatibility.md` for the categorised list.
|
||||
* **No fprintf / scanf family** — workaround: `sprintf(buf, ...) + fputs(buf, fp)`.
|
||||
* **No double-buffering wrapper** — Sprinter hardware supports it (port `0xC9`),
|
||||
the user-facing wrapper is part of the v2 BGI-style API.
|
||||
|
||||
### Migration notes from pre-1.0 trees
|
||||
|
||||
If you were tracking the project during development:
|
||||
* All example directories were renamed to satisfy 8.3 filenames on the floppy:
|
||||
`banked_big → bankedbg`, `seek_demo → seek`, `malloc_test → malloc`,
|
||||
`time_dir_test → timedir`, `bank_local_data → banklocl`,
|
||||
`gfx_demo16 → gfx_d16`, `gfx_text_demo → gfx_text`,
|
||||
`gfx_mouse_test → gfx_mous`, etc.
|
||||
* `puts` / `putchar` no longer apply `g_text_attr` (switched to fast PCHARS).
|
||||
Programs that depended on coloured stdio must use `cputs` / `cprintf` /
|
||||
`putch` instead, or call `textattr(...)` followed by clrscr.
|
||||
* `runtime/bank.s` is no longer bundled in `sprinter.lib` — it's assembled
|
||||
per-build by `sprinter-cc` with the right `BANK_W1` flag for the chosen
|
||||
memory mode.
|
||||
|
||||
### Acknowledgements
|
||||
|
||||
* **Peters Plus** team (Иван Мак, Дмитрий Паринов) for designing Sprinter and
|
||||
publishing the architecture / BIOS / DSS documentation that made this
|
||||
toolchain possible.
|
||||
* **Dmitry M.** for the z88dk `+pps` Sprinter target — first proof-of-concept
|
||||
for cross-compiling C to SprintEXE; several conventions were borrowed.
|
||||
* **The SDCC team** for the Z80 backend that does the heavy lifting.
|
||||
* **The MAME team** for emulating the Sprinter Sp2000 well enough for
|
||||
full toolchain regression testing without hardware.
|
||||
|
||||
---
|
||||
|
||||
## v2.0 (planned)
|
||||
|
||||
Scope:
|
||||
1. IM2 interrupt handlers (`irq_install` / `irq_remove`) — design in
|
||||
`docs/im2_isr_design.md`
|
||||
2. Turbo-C-style BGI graphics API (`initgraph` / `setcolor` / `circle` /
|
||||
`getimage` / `putimage` / `setviewport` / `setlinestyle` / ...)
|
||||
3. Audio API (AY-3-8910 + COVOX, requires IM2)
|
||||
4. ISA-8 slot drivers (sound, network — requires IM2)
|
||||
5. Remaining Solid-C compatibility (Phase 2/3 in `docs/solid_c_compatibility.md`):
|
||||
`ungetc`, `getdate/gettime/setdate/settime`, `absread/abswrite`,
|
||||
`scanf` family, `fdopen` / `freopen` / `fclosall`
|
||||
Executable
+347
@@ -0,0 +1,347 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
# sprinter-cc — wrapper around SDCC for building Sprinter .EXE files.
|
||||
#
|
||||
# Usage:
|
||||
# sprinter-cc -o foo.exe foo.c [more.c ...] [options]
|
||||
#
|
||||
# Options:
|
||||
# -o NAME output executable name (required)
|
||||
# --crt0=TYPE crt0 variant: default | minimal | banked (default: default)
|
||||
# --memory MODE memory layout: tiny | small | big | huge | manual
|
||||
# tiny (default): CODE+DATA+stack in W2 (single page, ≤14 KB)
|
||||
# small: CODE in W1, DATA+BSS continue into W2, heap spans
|
||||
# remainder, stack in W2. crt0_small reads port
|
||||
# 0xA2 to auto-detect whether DSS already mapped W2
|
||||
# (program > 16 KB) or whether we need to allocate
|
||||
# it ourselves (program < 16 KB). Covers 0..30 KB.
|
||||
# big: tiny + banked code in W1 [TODO]
|
||||
# huge: small + banked code in W3 [TODO]
|
||||
# manual: explicit via --memory-manual / --code-loc / --data-loc
|
||||
# --memory-manual SPEC placement spec, only with --memory manual.
|
||||
# SPEC = comma-separated KEY=VAL list:
|
||||
# CODE=W1|W2 DATA=W1|W2|SAME BANKED=W1|W3
|
||||
# Example: --memory-manual CODE=W2,DATA=W2,BANKED=W3
|
||||
# -I PATH additional include path (repeatable)
|
||||
# -L 0xADDR code load address (default: derived from --memory mode)
|
||||
# -E 0xADDR entry address (default: same as -L)
|
||||
# -S 0xADDR stack address (default: 0xBFFE)
|
||||
# --stack-size N bytes reserved for the stack (default: ~1278, sets
|
||||
# HEAP_TOP = stack_top + 1 - N to constrain heap growth)
|
||||
# --code-loc 0xN override SDCC --code-loc (default: derived from --memory)
|
||||
# --data-loc 0xN override SDCC --data-loc (default: derived from --memory)
|
||||
# -Wl FLAG extra linker flag (repeatable)
|
||||
# --bank N=FILE.c compile FILE.c as bank N; repeatable; pulls crt0_banked
|
||||
# automatically and adds -Wl-b_BANKN=0x{N}C000
|
||||
# --mkexe FLAG extra mkexe flag (repeatable; e.g. --mkexe -p --mkexe 0)
|
||||
# --debug enable runtime diagnostics — defines DEBUG_RT for both
|
||||
# sdcc (-DDEBUG_RT) and the crt0 assembly (prepended
|
||||
# `DEBUG_RT = 1`). Exposes runtime introspection symbols
|
||||
# such as `_w2_self_allocated` (see <sprinter.h>).
|
||||
# -v verbose (echo every command)
|
||||
# -h, --help show this help
|
||||
#
|
||||
# Example:
|
||||
# sprinter-cc -o hello.exe hello.c
|
||||
# sprinter-cc -o app.exe main.c --bank 1=engine.c
|
||||
# sprinter-cc -o tiny.exe tiny.c --crt0=minimal
|
||||
|
||||
set -eo pipefail
|
||||
|
||||
# ------- Locate the toolchain ------------------------------------------------
|
||||
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
PROJ_ROOT="$( cd "$SCRIPT_DIR/.." && pwd )"
|
||||
|
||||
SDCC_BIN="$PROJ_ROOT/third_party/sdcc/bin"
|
||||
SDCC="$SDCC_BIN/sdcc"
|
||||
SDASZ80="$SDCC_BIN/sdasz80"
|
||||
MKEXE="$PROJ_ROOT/toolchain/mkexe/mkexe"
|
||||
CHECK_BANKS="$PROJ_ROOT/toolchain/check_banks.py"
|
||||
|
||||
RUNTIME="$PROJ_ROOT/runtime"
|
||||
LIB_DIR="$PROJ_ROOT/lib"
|
||||
INC_DIR="$PROJ_ROOT/libc/include"
|
||||
|
||||
# ------- Defaults ------------------------------------------------------------
|
||||
OUT=""
|
||||
CRT0_TYPE="default"
|
||||
MEMORY_MODE="tiny"
|
||||
MEMORY_MANUAL=""
|
||||
# CODE_LOC / DATA_LOC are derived from MEMORY_MODE unless overridden via
|
||||
# explicit --code-loc / --data-loc; capture user intent in USER_*.
|
||||
USER_CODE_LOC=""
|
||||
USER_DATA_LOC=""
|
||||
LOAD_ADDR=""
|
||||
ENTRY_ADDR=""
|
||||
STACK_ADDR="0xBFFE"
|
||||
STACK_SIZE="" # if set, used to compute HEAP_TOP = STACK_ADDR + 1 - STACK_SIZE
|
||||
DEBUG_RT=0 # if 1, prepend `DEBUG_RT = 1` to crt0 + pass -DDEBUG_RT to sdcc
|
||||
VERBOSE=0
|
||||
USER_INCS=()
|
||||
SOURCES=()
|
||||
LD_EXTRA=()
|
||||
MKEXE_EXTRA=()
|
||||
BANK_SPECS=() # entries like "1=engine.c"
|
||||
|
||||
# ------- Parse args ----------------------------------------------------------
|
||||
usage() {
|
||||
sed -n '3,28p' "$0" | sed 's/^# \{0,1\}//'
|
||||
exit "${1:-0}"
|
||||
}
|
||||
|
||||
while [[ $# -gt 0 ]]; do
|
||||
case "$1" in
|
||||
-o) OUT="$2"; shift 2;;
|
||||
--crt0=*) CRT0_TYPE="${1#*=}"; shift;;
|
||||
-I) USER_INCS+=("-I" "$2"); shift 2;;
|
||||
-L) LOAD_ADDR="$2"; shift 2;;
|
||||
-E) ENTRY_ADDR="$2"; shift 2;;
|
||||
-S) STACK_ADDR="$2"; shift 2;;
|
||||
--code-loc) USER_CODE_LOC="$2"; shift 2;;
|
||||
--data-loc) USER_DATA_LOC="$2"; shift 2;;
|
||||
--memory) MEMORY_MODE="$2"; shift 2;;
|
||||
--memory-manual) MEMORY_MANUAL="$2"; shift 2;;
|
||||
--stack-size) STACK_SIZE="$2"; shift 2;;
|
||||
-Wl) LD_EXTRA+=("$2"); shift 2;;
|
||||
--bank) BANK_SPECS+=("$2"); shift 2;;
|
||||
--mkexe) MKEXE_EXTRA+=("$2"); shift 2;;
|
||||
--debug) DEBUG_RT=1; shift;;
|
||||
-v) VERBOSE=1; shift;;
|
||||
-h|--help) usage 0;;
|
||||
-*) echo "sprinter-cc: unknown option: $1" >&2; usage 1;;
|
||||
*) SOURCES+=("$1"); shift;;
|
||||
esac
|
||||
done
|
||||
|
||||
[[ -z "$OUT" ]] && { echo "sprinter-cc: -o NAME is required" >&2; exit 1; }
|
||||
[[ ${#SOURCES[@]} -eq 0 ]] && { echo "sprinter-cc: no input files" >&2; exit 1; }
|
||||
|
||||
# ------- Resolve memory mode → CODE_LOC / DATA_LOC ---------------------------
|
||||
# tiny : CODE in W2 (0x8100), DATA auto after code (= W2)
|
||||
# small : CODE in W1 (0x4100), DATA in W2 (0x8000) — crt0 must alloc W2
|
||||
# big : tiny + banked code in W1 (--bank stays in HOME-style trampolines)
|
||||
# huge : small + banked code in W3 — same as today's crt0_banked layout
|
||||
# manual: parsed from --memory-manual SPEC
|
||||
case "$MEMORY_MODE" in
|
||||
tiny)
|
||||
MODE_CODE_LOC="0x8100"; MODE_DATA_LOC="0"
|
||||
;;
|
||||
small)
|
||||
# CODE at 0x4100; DATA/BSS/HEAP chained auto by linker. Supports
|
||||
# any size up to ~30 KB code+data combined. crt0_small reads port
|
||||
# 0xA2 at startup to detect if DSS already mapped W2 (program > 16
|
||||
# KB) and skips SETWIN2 in that case; otherwise it allocates W2
|
||||
# itself via ESTEX $3D + $3A.
|
||||
MODE_CODE_LOC="0x4100"; MODE_DATA_LOC="0"
|
||||
;;
|
||||
big)
|
||||
# tiny layout (CODE+DATA in W2) + banked code in W1. crt0_banked
|
||||
# gets BANK_W1=1 prepended so its trampoline + bank loader use
|
||||
# port 0xA2 (W1) and load address 0x4000. mkexe gets -B 0x4000.
|
||||
MODE_CODE_LOC="0x8100"; MODE_DATA_LOC="0"
|
||||
;;
|
||||
huge)
|
||||
# small layout + banked code in W3. crt0_banked auto-detects W2
|
||||
# the same way crt0_small does, then loads banks from the .EXE.
|
||||
MODE_CODE_LOC="0x4100"; MODE_DATA_LOC="0x8000"
|
||||
;;
|
||||
manual)
|
||||
# Defaults if SPEC omits a key.
|
||||
MODE_CODE_LOC="0x4100"
|
||||
MODE_DATA_LOC="0"
|
||||
IFS=',' read -ra _parts <<< "$MEMORY_MANUAL"
|
||||
for _p in "${_parts[@]}"; do
|
||||
[[ -z "$_p" ]] && continue
|
||||
_k="${_p%%=*}"; _v="${_p#*=}"
|
||||
case "$_k=$_v" in
|
||||
CODE=W1) MODE_CODE_LOC="0x4100";;
|
||||
CODE=W2) MODE_CODE_LOC="0x8100";;
|
||||
DATA=W1) MODE_DATA_LOC="0x4000";;
|
||||
DATA=W2) MODE_DATA_LOC="0x8000";;
|
||||
DATA=SAME) MODE_DATA_LOC="0";;
|
||||
BANKED=W1|BANKED=W3) : ;; # recorded; banked window only matters for --bank trampolines
|
||||
*)
|
||||
echo "sprinter-cc: bad --memory-manual entry: $_p" >&2
|
||||
echo " valid: CODE=W1|W2, DATA=W1|W2|SAME, BANKED=W1|W3" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
done
|
||||
;;
|
||||
*)
|
||||
echo "sprinter-cc: unknown --memory mode: $MEMORY_MODE" >&2
|
||||
echo " valid: tiny | small | big | huge | manual" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
# Explicit --code-loc / --data-loc win over the mode defaults.
|
||||
CODE_LOC="${USER_CODE_LOC:-$MODE_CODE_LOC}"
|
||||
DATA_LOC="${USER_DATA_LOC:-$MODE_DATA_LOC}"
|
||||
|
||||
LOAD_ADDR="${LOAD_ADDR:-$CODE_LOC}"
|
||||
ENTRY_ADDR="${ENTRY_ADDR:-$LOAD_ADDR}"
|
||||
|
||||
[[ $VERBOSE -eq 1 ]] && echo " memory: mode=$MEMORY_MODE code=$CODE_LOC data=$DATA_LOC load=$LOAD_ADDR"
|
||||
|
||||
# Pick crt0 source. Memory mode drives default crt0 selection; explicit
|
||||
# --crt0=TYPE still wins (e.g. --crt0=minimal for tiny w/o argv).
|
||||
case "$MEMORY_MODE" in
|
||||
small|huge) DEFAULT_CRT0="small";;
|
||||
*) DEFAULT_CRT0="default";;
|
||||
esac
|
||||
if [[ "$CRT0_TYPE" == "default" && "$DEFAULT_CRT0" != "default" ]]; then
|
||||
CRT0_TYPE="$DEFAULT_CRT0"
|
||||
fi
|
||||
|
||||
case "$CRT0_TYPE" in
|
||||
default) CRT0_SRC="$RUNTIME/crt0.s"; ;;
|
||||
minimal) CRT0_SRC="$RUNTIME/crt0_minimal.s";;
|
||||
small) CRT0_SRC="$RUNTIME/crt0_small.s"; ;;
|
||||
banked) CRT0_SRC="$RUNTIME/crt0_banked.s"; ;;
|
||||
*) echo "sprinter-cc: bad --crt0 type: $CRT0_TYPE" >&2; exit 1;;
|
||||
esac
|
||||
|
||||
# Banked builds always need crt0_banked, regardless of what the user asked.
|
||||
if [[ ${#BANK_SPECS[@]} -gt 0 ]] && [[ "$CRT0_TYPE" != "banked" ]]; then
|
||||
[[ $VERBOSE -eq 1 ]] && echo " --bank present → switching to crt0_banked"
|
||||
CRT0_SRC="$RUNTIME/crt0_banked.s"
|
||||
fi
|
||||
|
||||
# ------- Build in a per-output workdir ---------------------------------------
|
||||
WORK="$(dirname "$OUT")/.sprinter-cc-$(basename "$OUT" .exe)"
|
||||
mkdir -p "$WORK"
|
||||
|
||||
run() {
|
||||
[[ $VERBOSE -eq 1 ]] && echo " $*"
|
||||
"$@"
|
||||
}
|
||||
|
||||
# Decide whether the build needs the W1 banking window (BIG mode). This
|
||||
# affects crt0_banked.s and bank.s — both honour `BANK_W1 = 1` prepended
|
||||
# by us. HUGE / default (no BANK_W1) → banks live in W3 at port 0xE2.
|
||||
BANK_W1=0
|
||||
[[ "$MEMORY_MODE" == "big" ]] && BANK_W1=1
|
||||
|
||||
# Helper: assemble a runtime .s with optional `DEBUG_RT = 1` and/or
|
||||
# `BANK_W1 = 1` prepended. No-op prefix path keeps the original source
|
||||
# (zero overhead for hot non-debug, non-banked builds).
|
||||
asm_runtime() {
|
||||
local src="$1" out="$2"
|
||||
local prefix=""
|
||||
[[ $DEBUG_RT -eq 1 ]] && prefix+="DEBUG_RT = 1"$'\n'
|
||||
[[ $BANK_W1 -eq 1 ]] && prefix+="BANK_W1 = 1"$'\n'
|
||||
if [[ -n "$prefix" ]]; then
|
||||
local patched="$WORK/$(basename "$src" .s)_patched.s"
|
||||
{ printf "%s" "$prefix"; cat "$src"; } > "$patched"
|
||||
run "$SDASZ80" -o "$out" "$patched"
|
||||
else
|
||||
run "$SDASZ80" -o "$out" "$src"
|
||||
fi
|
||||
}
|
||||
|
||||
# 1. crt0 — patched with DEBUG_RT / BANK_W1 if requested.
|
||||
CRT0_REL="$WORK/$(basename "$CRT0_SRC" .s).rel"
|
||||
asm_runtime "$CRT0_SRC" "$CRT0_REL"
|
||||
|
||||
# 1b. heap_top — either default from runtime/, or generate custom if user
|
||||
# specified --stack-size. HEAP_TOP = stack_top + 1 - stack_size, e.g.
|
||||
# --stack-size 2048 with default stack=0xBFFE → HEAP_TOP = 0xB7FF.
|
||||
HEAP_TOP_REL="$WORK/heap_top.rel"
|
||||
if [[ -n "$STACK_SIZE" ]]; then
|
||||
# Resolve numeric values (accept hex 0xNNN or decimal).
|
||||
_stack_top=$(( STACK_ADDR )) # bash auto-detects 0x prefix
|
||||
_stack_sz=$(( STACK_SIZE ))
|
||||
_heap_top=$(( _stack_top + 1 - _stack_sz ))
|
||||
printf " .module sprinter_heap_top\n ___sdcc_heap_end = 0x%04X\n .globl ___sdcc_heap_end\n" \
|
||||
"$_heap_top" > "$WORK/heap_top.s"
|
||||
HEAP_TOP_SRC="$WORK/heap_top.s"
|
||||
[[ $VERBOSE -eq 1 ]] && echo " heap_top: custom HEAP_TOP=$(printf '0x%04X' $_heap_top) (stack reserve $_stack_sz bytes)"
|
||||
else
|
||||
HEAP_TOP_SRC="$RUNTIME/heap_top.s"
|
||||
fi
|
||||
run "$SDASZ80" -o "$HEAP_TOP_REL" "$HEAP_TOP_SRC"
|
||||
|
||||
# 2. user sources → .rel (HOME)
|
||||
USER_RELS=()
|
||||
CC_FLAGS=(-mz80 --no-std-crt0 --std-c99 --opt-code-size -I "$INC_DIR" "${USER_INCS[@]}")
|
||||
[[ $DEBUG_RT -eq 1 ]] && CC_FLAGS+=(-DDEBUG_RT)
|
||||
for src in "${SOURCES[@]}"; do
|
||||
rel="$WORK/$(basename "$src" .c).rel"
|
||||
run "$SDCC" "${CC_FLAGS[@]}" -c -o "$rel" "$src"
|
||||
USER_RELS+=("$rel")
|
||||
done
|
||||
|
||||
# 3. bank sources + trampoline (bank.s). In BIG mode banks live in W1 at
|
||||
# low16 = 0x4000; in HUGE / default mode they live in W3 at low16 = 0xC000.
|
||||
BANK_RELS=()
|
||||
BANK_LD_FLAGS=()
|
||||
if [[ ${#BANK_SPECS[@]} -gt 0 ]]; then
|
||||
if [[ $BANK_W1 -eq 1 ]]; then
|
||||
BANK_LOW16=0x4000
|
||||
else
|
||||
BANK_LOW16=0xC000
|
||||
fi
|
||||
# Trampoline — depends on BANK_W1 so we assemble it here, not from the lib.
|
||||
BANK_TRAMP_REL="$WORK/bank_trampoline.rel"
|
||||
asm_runtime "$RUNTIME/bank.s" "$BANK_TRAMP_REL"
|
||||
BANK_RELS+=("$BANK_TRAMP_REL")
|
||||
for spec in "${BANK_SPECS[@]}"; do
|
||||
bank_n="${spec%%=*}"
|
||||
bank_src="${spec#*=}"
|
||||
rel="$WORK/bank${bank_n}_$(basename "$bank_src" .c).rel"
|
||||
run "$SDCC" "${CC_FLAGS[@]}" \
|
||||
--codeseg "BANK${bank_n}" --constseg "BANK${bank_n}" --dataseg "BANK${bank_n}" \
|
||||
-c -o "$rel" "$bank_src"
|
||||
BANK_RELS+=("$rel")
|
||||
# Virtual address: bank_n in upper byte, BANK_LOW16 in low half.
|
||||
addr=$(printf "0x%X" $(( (bank_n << 16) | BANK_LOW16 )))
|
||||
BANK_LD_FLAGS+=("-Wl-b_BANK${bank_n}=${addr}")
|
||||
done
|
||||
fi
|
||||
|
||||
# 4. link → .ihx
|
||||
IHX="$WORK/$(basename "$OUT" .exe).ihx"
|
||||
LINK_FLAGS=(-mz80 --no-std-crt0 --std-c99 --opt-code-size
|
||||
--code-loc "$CODE_LOC" --data-loc "$DATA_LOC")
|
||||
LINK_FLAGS+=("${BANK_LD_FLAGS[@]}")
|
||||
for f in "${LD_EXTRA[@]}"; do LINK_FLAGS+=("$f"); done
|
||||
# libsprinter.lib via -l/-L (sdcc passes -lsprinter through to sdldz80).
|
||||
#
|
||||
# Filter benign "?ASlink-Warning-Definition ... found more than once"
|
||||
# warnings. These come from intentional sprinter.lib overrides of the
|
||||
# SDCC z80.lib defaults (puts, ___sdcc_heap, asctime/localtime, etc.).
|
||||
# Linker picks the first found = our version, so behaviour is correct;
|
||||
# the warning is just noise. In verbose mode show everything.
|
||||
if [[ $VERBOSE -eq 1 ]]; then
|
||||
run "$SDCC" "${LINK_FLAGS[@]}" -o "$IHX" \
|
||||
"$CRT0_REL" "$HEAP_TOP_REL" "${USER_RELS[@]}" "${BANK_RELS[@]}" \
|
||||
"-L$LIB_DIR" "-lsprinter"
|
||||
else
|
||||
# Drop the warning line + its two follow-up "Library:" lines.
|
||||
run "$SDCC" "${LINK_FLAGS[@]}" -o "$IHX" \
|
||||
"$CRT0_REL" "$HEAP_TOP_REL" "${USER_RELS[@]}" "${BANK_RELS[@]}" \
|
||||
"-L$LIB_DIR" "-lsprinter" 2>&1 \
|
||||
| awk '
|
||||
/^\?ASlink-Warning-Definition of public symbol/ { skip = 3 }
|
||||
skip > 0 { skip--; next }
|
||||
{ print }
|
||||
'
|
||||
fi
|
||||
|
||||
# Quick bank-size check (only meaningful if there are banks).
|
||||
if [[ ${#BANK_SPECS[@]} -gt 0 ]] && [[ -f "${IHX%.ihx}.map" ]]; then
|
||||
python3 "$CHECK_BANKS" "${IHX%.ihx}.map" || true
|
||||
fi
|
||||
|
||||
# 5. mkexe → .exe. In BIG mode tell mkexe banks live at 0x4000 (W1).
|
||||
# IHX is the positional input — it must come last. Build the prefix
|
||||
# (options + extras) first, then append the positional.
|
||||
MK_PREFIX=()
|
||||
[[ $VERBOSE -eq 1 ]] && MK_PREFIX+=(-v)
|
||||
[[ $BANK_W1 -eq 1 ]] && MK_PREFIX+=(-B 0x4000)
|
||||
MK_PREFIX+=("${MKEXE_EXTRA[@]}")
|
||||
MK_PREFIX+=(-L "$LOAD_ADDR" -E "$ENTRY_ADDR" -S "$STACK_ADDR" -o "$OUT")
|
||||
run "$MKEXE" "${MK_PREFIX[@]}" "$IHX"
|
||||
|
||||
echo "sprinter-cc: wrote $OUT"
|
||||
+399
@@ -0,0 +1,399 @@
|
||||
# TODO / Roadmap
|
||||
|
||||
Открытые задачи в порядке убывания приоритета. По мере появления реальных программ — приоритеты будут смещаться.
|
||||
|
||||
## Этап 5 — malloc / free + banking-aware page allocator ✅ ГОТОВО
|
||||
|
||||
- [x] SDCC's `malloc`/`free` + наш `runtime/heap.s` (полностью заменяет library heap.rel, 14000-байтный heap в окне 2)
|
||||
- [x] `libc/mem/mem_alloc.c` — page allocator: `mem_alloc_pages`/`mem_free_block`/`mem_get_page`/`mem_info` через ESTEX `$3C/$3D/$3E` + BIOS `$C4`
|
||||
- [x] `libc/mem/bank_io.c` — HOME-резидентные `bank_read`/`bank_write`/`bank_load_byte`/`bank_store_byte` со свопом W3 внутри
|
||||
- [x] `examples/malloc_test/` — проверка SDCC's malloc (~210 64-байтных allocations через всю heap)
|
||||
- [x] `examples/mem_test/` — проверка page allocator: 3 страницы, разные паттерны через bank_write, верификация через bank_read
|
||||
|
||||
## Этап 6 — argv parsing + sprinter-cc wrapper ✅ ГОТОВО
|
||||
|
||||
- [x] crt0 парсит ESTEX command-line из IX-prefix (inline asm в `runtime/crt0.s`)
|
||||
- [x] Strip leading CP/M-style space (DSS quirk)
|
||||
- [x] Передача `argc`/`argv` в main() через HL/DE (SDCC __sdcccall(1) ABI)
|
||||
- [x] argv[0] = basename .EXE через ESTEX APPINFO ($47 subfn 2)
|
||||
- [x] `runtime/crt0_minimal.s` — opt-out для очень маленьких программ
|
||||
- [x] `runtime/crt0_banked.s` — теперь тоже парсит argv (parse_argv + get_progname скопированы из crt0.s; будет factored в argv.s когда возьмёмся за libsprinter.lib)
|
||||
- [x] Bash-обёртка `bin/sprinter-cc`: `sprinter-cc -o foo.exe foo.c` одной строкой
|
||||
- [x] Поддержка опций: `--memory`, `--memory-manual`, `--stack-size`, `--crt0=`, `--bank N=FILE.c`, `--debug`, `-I`, `-L`/`-E`/`-S`, `-Wl`, `--mkexe`
|
||||
|
||||
## Этап 8 — графика (320×256×256 + 640×256×16 + accel + bitmap font) ✅ ГОТОВО
|
||||
|
||||
- [x] **8a** Graphics core: `gfx_init`/`gfx_done`/`gfx_clear`/`gfx_putpixel`/`gfx_pal_load`/`gfx_pal_set` (libc/gfx/gfx_core.c). Палитра через BIOS PIC_SET_PAL ($A4). Verified 320×256×256.
|
||||
- [x] **8b** Линии/прямоугольники/fill через accelerator (libc/gfx/gfx_lines.c): `gfx_hline`/`gfx_vline` через accel Fill (LD C,C / LD E,E + SMC block-size), `gfx_rect`/`gfx_fill_rect` с heuristic выбором ориентации (h/v bursts count), `gfx_line` с Bresenham для диагоналей. `gfx_clear` тоже переписан на column-major accel (~4× быстрее).
|
||||
- [x] **8c** 640×256×16 mode (libc/gfx/gfx_16.c): `gfx_*16` API, HIGH nibble = LEFT pixel (документация misleading), per-row RMW для vline (один байт = 2 горизонтальных пикселя).
|
||||
- [x] **8d** Bitmap font + gfx_text (libc/gfx/gfx_text.c): шрифт через BIOS WIN_GET_ZG ($B8), interleaved layout `font[row*256+char]`, `gfx_text`/`gfx_putchar` для 320 mode, `gfx_text16`/`gfx_putchar16` для 640 mode с pair-table lookup.
|
||||
|
||||
См. memory/sprinter_graphics.md, sprinter_accelerator.md, sprinter_graphics_16.md, sprinter_font_format.md.
|
||||
|
||||
Открытые мелочи (не блокируют):
|
||||
- [ ] Шрифт-quad для 640: per-cell палитра (mode 0x82 разрешает 1 из 4 палитр per 16×8 cell) — через прямой доступ к area-описания экрана 0x0300..0x039F
|
||||
|
||||
## Auto-banking (см. `memory/banking_roadmap.md` для деталей)
|
||||
|
||||
Phase 1 — file-level bin-packing — реализовывать когда проект перерастёт ~30 KB кода.
|
||||
|
||||
- [ ] `toolchain/auto_bank.py`:
|
||||
- Парсит размеры из `.rel`-файлов (или из .map после dry-run link'а)
|
||||
- First-fit-decreasing bin-packing
|
||||
- Уважает `#pragma codeseg BANKn` как manual override
|
||||
- Перелинковывает с новыми `-Wl-b_BANKn=...` параметрами
|
||||
- Печатает план распределения
|
||||
|
||||
Phase 2-5: incremental rebalance, declarative `banks.toml`, function-level, call-graph-aware. Только если/когда понадобится.
|
||||
|
||||
## Bank-local static data (mutable data в том же банке что и код) — ✅ ГОТОВО
|
||||
|
||||
- [x] Пример `examples/bank_local_data/` — функция в BANK1 со своим writable BSS array + const table + malloc-тест
|
||||
- [x] `mkexe -p 0` для нулевого padding банков (BSS-storage обнуляется при загрузке)
|
||||
- [x] Канонический рецепт: `--codeseg BANK1 --constseg BANK1 --dataseg BANK1` для bank1.c + `-Wl-b_BANK1=0x1C000` для линковки. **`--dataseg BANK1` РАБОТАЕТ** — раньше казалось обратное из-за trampoline bug который маскировал результат.
|
||||
- [x] **Критичный фикс trampoline'a в runtime/bank.s** — старый `pop af; out (n), a` клобберил A → все banked-функции возвращающие uint8_t тихо возвращали мусор. Новый `pop bc; out (c), b` сохраняет A.
|
||||
- [x] **malloc из banked-функции работает прозрачно** — heap живёт в W2 (HOME), W2 никогда не свапается trampoline'ом, pointer валиден из любого контекста. См. memory/bank_local_data_pattern.md.
|
||||
- [x] Документация в memory: `memory/bank_local_data_pattern.md` (полный рецепт + malloc + nuances), `memory/sdcc_banking.md` (trampoline fix)
|
||||
- [ ] Опционально — расширить `check_banks.py` чтобы показывать разбивку size = code + const + bss per bank (cosmetic)
|
||||
|
||||
Зачем: для модулей с большим private state (level loader, audio engine, scene data). Экономит W2 heap для динамики, а статика остаётся в бэке.
|
||||
|
||||
## Подсказки из solid-c (нативный Sprinter C — `third_party/solid-c/`)
|
||||
|
||||
После анализа solid-c'овской libc (см. `memory/solid_c_findings.md`) выявлены готовые паттерны для следующих недостающих функций. Приоритет от **высокого** к низкому:
|
||||
|
||||
### High-priority gaps (легко портировать, большая польза)
|
||||
- [x] **`errno` + `strerror`/`perror`** — табличка 32 ошибок (libc/io/errno.c)
|
||||
- [x] **Расширенный `open()`** для O_CREAT/O_TRUNC/O_APPEND/O_EXCL state machine
|
||||
- [x] **`atexit`** — 8-callback LIFO + `exit()` + `_exit()` (libc/io/atexit.c)
|
||||
- [x] **`setjmp`/`longjmp`** — 6-байт jmp_buf={sp,ix,pc} (libc/io/setjmp.c)
|
||||
- [x] **`sleep(seconds)`** — 50Hz halt-loop (libc/io/sleep.c)
|
||||
- [x] **ESTEX ENV API** ($46, getenv/putenv) — libc/io/env.c. Учли doc-bug: реально A=0 это NOT FOUND
|
||||
|
||||
### Medium-priority (нужно для shell-like утилит)
|
||||
- [ ] **Mouse driver** — `rst $30h`, 17 функций. **Сначала тест что работает в MAME**.
|
||||
- [x] **`ffirst`/`fnext` + ffblk_t struct** для directory listing — реализовано, demo: ls.exe
|
||||
- [x] **`getdatetime`/`setdatetime`** через ESTEX $21/$22 — libc/io/time.c, demo: time_dir_test
|
||||
- [x] **`chdir`/`getcwd`/`mkdir`/`rmdir`** — wrappers для ESTEX $1B-$1E — libc/io/fsdir.c
|
||||
- [x] **conio: `kbhit`/`getch`/`getche`/`cputs`/`clrscr`/`gotoxy`** — реализовано
|
||||
- [x] **conio extras**: `wherex`/`wherey` ($53), `wrchar`/`rdchar` ($58/$57), `textmode_get/set` ($50/$51), `clrscr_attr` ($56) + COLOR macros
|
||||
|
||||
### Low-priority — ✅ FILE* stack ГОТОВО
|
||||
|
||||
- [x] **Минимальный unbuffered FILE\*** — `libc/stdio/file.c` + `libc/include/stdio.h`. fopen/fclose/fputs/fgets/fread/fwrite/fseek/ftell/rewind/feof/ferror/clearerr/fflush + stdin/stdout/stderr как pseudo-streams. См. `memory/file_star_design.md` и `examples/filetest`.
|
||||
- [ ] fprintf / fscanf — нужна printf-через-callback machinery. Пока пользователь может `sprintf(buf, ...) + fputs(buf, fp)`.
|
||||
- [ ] Опциональный buffered mode (setvbuf, line/block buffering) — если когда-то понадобится.
|
||||
|
||||
### POSIX time API — ✅ ГОТОВО
|
||||
- [x] `libc/io/posix_time.c` — time/localtime/gmtime/mktime/asctime/ctime поверх getdatetime. SDCC's time.rel избегаем (нельзя override _RtcRead). См. `examples/ptime`.
|
||||
|
||||
### sys/stat — ✅ ГОТОВО
|
||||
- [x] `libc/io/stat.c` — POSIX stat/fstat. Гибрид open+fstat для файлов, ffirst+iter для папок (включая "."/".."). См. `examples/stattest` и `memory/estex_ffirst_dotdot.md`.
|
||||
|
||||
### assert — ✅ ГОТОВО (используем SDCC's __assert через fallback include path)
|
||||
|
||||
## libc/stdlib — ✅ не нужно делать (см. memory/sdcc_stdlib_works.md)
|
||||
|
||||
Проверено через `examples/stdlib_test/`: SDCC z80.lib содержит работающие реализации:
|
||||
- `atoi/atol/atof, strtol/strtoul, rand/srand, qsort/bsearch, abs/labs, div/ldiv`
|
||||
- Полный `<string.h>` (memchr/cmp/set/cpy, strcat/cmp/cpy/len/chr/spn/etc.)
|
||||
- `<ctype.h>` (toupper/tolower)
|
||||
- `<math.h>` (sinf/cosf/sqrtf/etc.)
|
||||
|
||||
Линкер автоматически тянет из z80.lib когда нужно. **НЕ переписывать**.
|
||||
|
||||
Наши Sprinter-specific обязательные модули остаются: atexit, env, errno, setjmp, putchar/puts/getchar, conio, fsdir, time, mouse, open/read/lseek/close.
|
||||
|
||||
## Build-system: libsprinter.lib + sprinter-cc — ✅ ГОТОВО
|
||||
|
||||
- [x] `lib/Makefile` — собирает каждый libc/*.c в `.rel`, архивирует через sdar в `lib/sprinter.lib`
|
||||
- [x] Включает runtime/bank.s и runtime/heap.s (auto-pulled при __banked/malloc)
|
||||
- [x] `bin/sprinter-cc` — bash-wrapper: `sprinter-cc -o foo.exe foo.c` одной строкой
|
||||
- [x] Поддержка опций `--crt0=default|minimal|banked`, `--bank N=FILE.c`, `-I`, `-L`/`-E`/`-S`, `-Wl`, `--mkexe`
|
||||
- [x] `examples/hello_sccc/` — демо: `hello.c` собирается за один shell-вызов, размер совпадает с ручным Makefile (925 байт)
|
||||
- [x] Split `putchar.c` → `putchar.c` + `puts.c` для per-function granularity (puts override SDCC's z80.lib version)
|
||||
- [x] Включён в `make all` (зависимость `lib` перед `examples`)
|
||||
|
||||
Возможные улучшения (опционально):
|
||||
- [ ] Мигрировать остальные examples на sprinter-cc вместо ручных Makefile (косметика)
|
||||
- [ ] Дальнейшая декомпозиция libc/*.c per-function (но текущая granularity уже даёт нужный размер — линкер пакетует .rel целиком, и для большинства файлов это одна функция)
|
||||
|
||||
## Этап 9 — memory modes для sprinter-cc
|
||||
|
||||
DSS выделяет страницы памяти по размеру приложения: < 16 KB → одна страница, в остальные окна подключается «страница #FF» (read=0xFF, write игнорится). Из-за этого CODE-в-W1 + DATA-в-W2 для маленькой программы молча ломается. См. [memory/sprinter_memory_modes.md](../../.claude/projects/-Volumes-SAM8-Projects-DIY-Z80-Sprinter-C-Compiler/memory/sprinter_memory_modes.md).
|
||||
|
||||
- [x] **`tiny`**: всё (CODE+DATA+стек) в W2. Default. Verified hello/argv/conio/malloc/file/etc.
|
||||
- [x] **`--memory MODE` флаг в sprinter-cc**: parser + per-mode дефолты CODE_LOC/DATA_LOC, override через явные `--code-loc`/`--data-loc`. tiny работает; small/big/huge компилируются с warning'ом (runtime не готов). Реализовано 2026-05-30.
|
||||
- [x] **`--memory-manual SPEC`**: парсит `CODE=W1|W2,DATA=W1|W2|SAME,BANKED=W1|W3`. Реализовано 2026-05-30.
|
||||
- [x] **`small` runtime**: `runtime/crt0_small.s` использует ESTEX `$3D GETMEM` + `$3A SETWIN2` чтобы выделить и замапить W2-страницу ДО gsinit. **НЕ** BIOS `$C4` — стек на этом этапе в W1 (boot_stack в HOME), а BIOS требует стек в W2. После маппинга SP переключается на 0xBFFE, дальше стандартный flow. Реализовано 2026-05-30, verified hello.exe.
|
||||
- [x] **`small` auto-detect для >16 KB программ**: `crt0_small.s` читает порт `0xC2` (текущая страница в W2 — не `0xA2`! это W1). Если 0xFF — выделяет page; иначе DSS уже сделала это (программа сама вылезла в W2). Один crt0 покрывает 0..30 KB. mkexe также разрешает HOME span W1+W2 (0x4000..0xBFFF). Verified hello: small (5 KB файл, SETWIN2 path) + 32 KB файл (auto-skip). Реализовано 2026-05-30.
|
||||
- [x] **`big` runtime** (tiny + banked code в W1): параметризовали `crt0_banked.s` + `bank.s` через `.ifdef BANK_W1` — другой banking port (0xA2 vs 0xE2), другой load-addr (0x4000 vs 0xC000). sprinter-cc prepend'ит `BANK_W1 = 1` при `--memory big`, передаёт `mkexe -B 0x4000`. Пример `examples/banked_big/`. Реализовано 2026-05-30.
|
||||
- [x] **`huge` runtime** (small + banked code в W3): merge W2-detect логики из `crt0_small.s` в `crt0_banked.s`. Существующий пример `examples/banked/` теперь использует MEMORY=huge. Реализовано 2026-05-30.
|
||||
- [x] **`--debug` флаг**: prepend `DEBUG_RT = 1` в crt0 + `-DDEBUG_RT` в sdcc. Открывает symbol `_w2_self_allocated` (uint8_t) — runtime diagnostic кто аллоцировал W2. Реализовано 2026-05-30.
|
||||
|
||||
### Дизайн-решения по libc и crt0
|
||||
|
||||
**Одна `sprinter.lib`** работает для всех memory mode — `.rel`-члены relocatable, SDLD делает dead-code elimination per-member (без графики не подтягивает `gfx_core.rel` и т.д.). Verified hello vs malloc_test через map-файлы.
|
||||
|
||||
**`gfx.lib` отдельно — НЕ нужен**: dead-code elimination уже работает.
|
||||
|
||||
**`libc_banked` (libc в bank вместо HOME)** — идея на потом, когда HOME (16 KB) забит user-кодом + libc в `huge` mode. Реализуется через `--codeseg BANK0` при компиляции libc; trade-off: trampoline ~30 циклов на каждый libc-вызов. Триггер: реальная программа упрётся в HOME budget.
|
||||
|
||||
**HW-зависимые модули — `sprinter_home.lib` отдельно.** Часть libc физически не может быть забанкована в W3, потому что она РАБОТАЕТ с W3:
|
||||
- `gfx_*` — пишет в видеопамять `0xC000+` после swap W3 на video page
|
||||
- `bank_io` (mem_alloc_pages/bank_read/bank_write) — swap'ит W3 через `OUT (0xE2)`
|
||||
- Будущие ISR — прерывание может прийти когда W3 на чём угодно
|
||||
|
||||
В huge mode эти модули ДОЛЖНЫ остаться в HOME (W1). Когда будем делать `libc_banked`, **одновременно** выделяем `sprinter_home.lib` (HOME-only) из `sprinter.lib` (bankable). Финальная схема:
|
||||
```
|
||||
sprinter_home.lib HOME-only: gfx, bank_io, ISR shims
|
||||
sprinter.lib bankable: printf, malloc, string, conio, stdio, env, ...
|
||||
sprinter_banked.lib тот же sprinter.lib но --codeseg BANK0 (для huge)
|
||||
```
|
||||
Триггер: реализация `--memory huge` runtime.
|
||||
|
||||
**crt0 — по одному на mode:**
|
||||
- `crt0.s` — текущий, для **tiny/big**: SP=0xBFFE, парсит argv (W2-ресурс уже выделен DSS).
|
||||
- `crt0_minimal.s` — текущий, для tiny без argv.
|
||||
- `crt0_small.s` — **новый, step 3**: для **small/huge**, аллоцирует W2 через `mem_alloc_pages` ДО gsinit, маппит в порт `0xA2`, потом стандартный flow.
|
||||
- `crt0_banked.s` — текущий, для **big**: trampoline-таблица для W3 банков, CODE в W2.
|
||||
- `crt0_banked_small.s` — **новый**: huge = small (W2-alloc) + banked (W3 trampolines).
|
||||
|
||||
sprinter-cc подбирает crt0 по `--memory` mode (сейчас `--crt0=` это override).
|
||||
- [x] **Настраиваемый размер стека**: флаг `sprinter-cc --stack-size BYTES`. Wrapper генерирует `heap_top.s` с `___sdcc_heap_end = stack_top + 1 - stack_size`, отдельный .rel линкуется per-program. Default ≈1278 байт (heap_top=0xBB00) из `runtime/heap_top.s`. Реализовано 2026-05-30.
|
||||
|
||||
Интерфейс: `sprinter-cc --memory [tiny|small|big|huge|manual] [--memory-manual SPEC] [--stack-size N] foo.c`. `--memory-manual` имеет смысл только с `--memory manual`.
|
||||
|
||||
## Known issues / quirks
|
||||
|
||||
- **ESTEX $46 ENV API**: ✅ работает. Док-ция в `DiskSyscalls.txt v1.6` ошибочно описывает return-status — A=0 это NOT FOUND, не FOUND. Зафиксировано в `memory/sprinter_platform.md`.
|
||||
|
||||
## ОБЯЗАТЕЛЬНЫЕ ЗАДАЧИ ДЛЯ V2 (после релиза v1)
|
||||
|
||||
### Turbo-C-style graphics API (BGI-like) — **MUST для v2**
|
||||
|
||||
Расширить наш `gfx_*` API до уровня **Turbo-C `<graphics.h>`** (BGI) для MS-DOS.
|
||||
Программисты привыкшие к Turbo-C должны переносить графический код 1-в-1.
|
||||
|
||||
**Что должно быть** (на основе Borland BGI):
|
||||
|
||||
Setup/teardown:
|
||||
- `initgraph()` / `closegraph()` — у нас сейчас `gfx_init`/`gfx_done`, добавить alias
|
||||
- `getmaxx()` / `getmaxy()` — макрос на GFX_WIDTH-1 / GFX_HEIGHT-1
|
||||
- `cleardevice()` — alias to gfx_clear
|
||||
- `getgraphmode()` / `setgraphmode()` — у нас get_videomode/set_videomode
|
||||
|
||||
Color/palette:
|
||||
- `setcolor(c)`, `getcolor()` — current draw color
|
||||
- `setbkcolor(c)`, `getbkcolor()` — background color
|
||||
- `setpalette(idx, c)` — палитра entry
|
||||
- `getpalette(&info)` — read all palette
|
||||
|
||||
Primitives (мы уже имеем эквиваленты — добавить BGI-имена как aliases):
|
||||
- `putpixel(x, y, c)` — есть как gfx_putpixel
|
||||
- `getpixel(x, y)` — нужно реализовать (RMW обратное — IN)
|
||||
- `moveto(x, y)`, `lineto(x, y)`, `linerel(dx, dy)` — current point + line drawing
|
||||
- `line(x1, y1, x2, y2)` — есть как gfx_line
|
||||
- `rectangle(x1, y1, x2, y2)` — есть как gfx_rect (но другой API: x1,y1,x2,y2 vs x,y,w,h!)
|
||||
- `bar(x1, y1, x2, y2)` — есть как gfx_fill_rect
|
||||
- `bar3d(x1, y1, x2, y2, depth, topflag)` — новое: rect + 3d edges
|
||||
- `circle(x, y, r)`, `arc(...)`, `ellipse(...)`, `pieslice(...)` — новые primitives
|
||||
- `fillpoly()`, `drawpoly()` — полигоны
|
||||
- `floodfill(x, y, border_color)` — заливка
|
||||
|
||||
Text on graphics screen:
|
||||
- `outtext(s)` / `outtextxy(x, y, s)` — есть как gfx_text (alias)
|
||||
- `settextstyle(font, dir, size)` — multiple bitmap fonts
|
||||
- `gettextsettings(&info)`
|
||||
- `textwidth(s)` / `textheight(s)` — measure
|
||||
|
||||
Image manipulation:
|
||||
- `imagesize(x1, y1, x2, y2)` — bytes needed for getimage
|
||||
- `getimage(x1, y1, x2, y2, buf)` — save rect to buffer
|
||||
- `putimage(x, y, buf, op)` — paste back with COPY_PUT/XOR_PUT/AND_PUT/OR_PUT/NOT_PUT
|
||||
|
||||
Clipping/viewport:
|
||||
- `setviewport(x1, y1, x2, y2, clip)` — drawing clip rect
|
||||
- `getviewsettings(&info)`
|
||||
- `clearviewport()`
|
||||
- `setactivepage(p)` / `setvisualpage(p)` — двойная буферизация (Sprinter имеет 2 screen)
|
||||
|
||||
Line style:
|
||||
- `setlinestyle(style, pattern, thickness)` — SOLID_LINE / DOTTED_LINE / etc.
|
||||
- `getlinesettings(&info)`
|
||||
|
||||
**Acceptance:** перенос типичной Turbo-C BGI программы (рисующей с использованием
|
||||
moveto/lineto/circle/bar/setcolor) должен работать без существенных правок.
|
||||
|
||||
**Notes:**
|
||||
- BGI fonts (TRIPLEX/SANS_SERIF/GOTHIC) — у нас один BIOS font, остальные нужно
|
||||
добавить (как bitmap data в lib)
|
||||
- imagesize/getimage/putimage — самые востребованные для game/animation
|
||||
- Active/visual page (двойная буферизация) — Sprinter поддерживает 2 graphics pages,
|
||||
нужен API switching
|
||||
|
||||
См. также `examples/` Turbo C 2.x BGIDEMO как reference что нужно.
|
||||
|
||||
### IM2 Interrupt Handlers — **MUST для v2**
|
||||
|
||||
User-задаваемые ISR через Z80 IM 2 mode. Нужны для:
|
||||
- Timer ticks (50 Hz frame counter, плавная анимация)
|
||||
- Music playback (AY, COVOX)
|
||||
- Real-time games (input + game logic + render в interrupt-driven)
|
||||
- Async keyboard / mouse handling
|
||||
|
||||
**Status:** ОТЛОЖЕНО до v2. Полный research + design в `docs/im2_isr_design.md`.
|
||||
|
||||
**Решение по архитектуре:** реализовать как отдельный memory mode `--memory im2`
|
||||
(вместо того чтобы лезть во все существующие crt0). Detail'и в design-doc.
|
||||
|
||||
**Резюме research'а** (полный текст в `docs/im2_isr_design.md`):
|
||||
- Vector 0xFF — frame + keyboard + CBL. Disambiguation по портам 0x19 / 0xFE
|
||||
- Mouse hardware-IRQ не приходит (на текущей плате)
|
||||
- Vector table / ISR / stack ОБЯЗАНЫ быть в W2 (0x8000..0xBFFF)
|
||||
- DSS имеет свой IM 2 handler — нужно chain'иться (иначе клавиатура / SYSTIME ломаются)
|
||||
|
||||
### Прочие крупные пункты для v2
|
||||
|
||||
- [ ] **Audio API** — AY-3-8910 + COVOX через прерывания (требует IM2)
|
||||
- [ ] **ISA-8 slot support** — ZX-Bus карты (sound, network, etc.) — требует IM2 + чтения portов
|
||||
|
||||
## Прочие задачи (v1 backlog, не блокирующие)
|
||||
|
||||
- [x] **#9: text I/O split (Turbo-C style)** — stdio (puts/printf/putchar) теперь fast no-attr через PCHARS/PUTCHAR. conio (cputs/cprintf/putch) применяет attr через textcolor/textbackground/textattr. KEEP_EXIST_ATTR → conio fallback на fast path. Verified в hello.exe. См. `memory/text_output_api_split.md`. Реализовано 2026-05-31.
|
||||
- [x] **Mouse API полный** (резидентный driver, RST 30h) — все 14 функций обёрнуты (init/show/hide/refresh/read/goto/bounds/text_cursor/load_cursor/get_cursor/get/set_sensitivity/video_mode_changed). См. `memory/mouse_api.md`. Verified в MAME 2026-05-31. Sensitivity = divider (меньше = быстрее).
|
||||
- [ ] Interrupt handlers — IM 2 vector table в HOME для user ISR'ов
|
||||
- [ ] Поддержка `restore SP on EXIT` (паттерн из z88dk +pps) — проверить нужно ли
|
||||
- [ ] CI: автоматически запускать MAME с `-aviwrite` для screenshot-сравнения, чтобы тесты примеров проходили без человека
|
||||
|
||||
## Идеи на потом
|
||||
|
||||
- Поддержка `<setjmp.h>` (есть в SDCC stdlib — нужно протестировать что наш crt0 совместим)
|
||||
- `<time.h>` через ESTEX SYSTIME (`$21`) и CMOS BIOS-функции
|
||||
- ZX Spectrum-совместимый режим как отдельный target (для портирования спектрумовских программ)
|
||||
- Поддержка ZX-Bus карт (sound, network, etc.) — нужны драйверы
|
||||
- Profile-guided optimization tools (hot/cold detection) для крупных программ
|
||||
|
||||
## Linker duplicate-symbol warnings (благоприятные, отфильтрованы)
|
||||
|
||||
Когда мы сознательно overrides'им SDCC z80.lib функции собственной версией в `sprinter.lib`, `sdldz80` пишет `?ASlink-Warning-Definition of public symbol '...' found more than once`. Линкер берёт первое найденное определение (наше), поэтому поведение корректное — warning только noise.
|
||||
|
||||
Текущие overrides:
|
||||
- `_puts` — наша версия через PCHARS+\r\n vs SDCC posix puts
|
||||
- `___sdcc_heap` — наш heap в W2 vs SDCC's стандартный
|
||||
- `_asctime`, `_localtime` (и возможно другие из time) — наш `posix_time.c` через ESTEX SYSTIME vs SDCC's `time.rel` который зависит от `_RtcRead`
|
||||
|
||||
**Текущее решение:** `bin/sprinter-cc` отфильтровывает warning-блок (warning + 2 follow-up `Library:` строки) из вывода `sdc
|
||||
|
||||
c`. Через `-v` (verbose) всё показывается. Реализовано через awk-pipe.
|
||||
|
||||
**Возможные улучшения:**
|
||||
- Перейти на explicit `--nostdlib` + ручной список нужных модулей из z80.lib (string, math, stdlib без override'нутых) — убрать ИСТОЧНИК warning'ов, не маскировать
|
||||
- Или: переименовать наши `_puts` → `_puts_sprinter` + alias через linker flag (не уверен что SDCC поддерживает)
|
||||
- Или: оставить как сейчас (рабочее и benign) — приоритет низкий
|
||||
|
||||
## TODO: проверить на реальном железе
|
||||
|
||||
- [ ] **Port_Y banking trick** (`docs/part2/SprinterGraphics programming.txt`):
|
||||
доку утверждает что после `OUT (0x89), Y` адреса 0xC000+0x400*N в окне W3
|
||||
маппятся на строки Y..Y+15 (одно программирование → 16 строк).
|
||||
Empirical 2026-06-01 в MAME 0.283 этот trick **не работает** — пиксели
|
||||
по адресам выше 0xC000+row_width уходят в невидимую область. Канонический
|
||||
`docs/samples/plasma2.asm` тоже не использует banking, переустанавливает
|
||||
Port_Y per row.
|
||||
План:
|
||||
1. Получить доступ к реальному Sprinter
|
||||
2. Запустить тест dual-write (`_gfx_putpixel_raw` + второй write в `0xD000+x`)
|
||||
3. Если на железе видны двойные линии → бага MAME, открыть issue с
|
||||
минимальным репро
|
||||
4. Если на железе тоже одна линия → документ неверный, удалить упоминание
|
||||
из доки и просто оставить текущую реализацию (Port_Y per pixel)
|
||||
5. Если banking работает на железе → внедрить кэширование Port_Y в
|
||||
`_gfx_putpixel_raw` (sentinel out-of-range, см. memory/gfx_port_y_banking.md)
|
||||
|
||||
Связанный выигрыш для Bresenham (60-pixel диагональ) — около 8× меньше
|
||||
OUT (0x89) операций, для `gfx_fill_rect 320x256` — 16× меньше. Не блокирует
|
||||
release v1.
|
||||
|
||||
## GFX: расширения по `docs/part2/accelerator_doc.txt`
|
||||
|
||||
После прочтения детального accelerator doc выявлены незакрытые направления.
|
||||
Сейчас в коде используется только горизонтальный/вертикальный Fill mode.
|
||||
|
||||
### Quick wins для текущих primitives
|
||||
|
||||
- [ ] **Заменить SMC на `LD A, (var)` для block-size**. Документ явно
|
||||
разрешает `LD A, (HL)`, `LD A, (BC)`, `LD A, (DE)` (но не `LD A, r`).
|
||||
Это уберёт SMC complexity в `gfx_lines.c:hfill_chunk/vfill_chunk` и
|
||||
`gfx_16.c:g16_hfill_chunk`. Запрещено только register-to-register.
|
||||
- [ ] **Кэширование block-size**. Документ показывает что accel запоминает
|
||||
block size между bursts (см. `Horizontal_Line_Fill`: устанавливают
|
||||
size + `LD B,B` отключение, потом включают Fill mode и используют
|
||||
сохранённый size). Для `gfx_fill_rect` с 100 одинаковыми
|
||||
строками — установить size 1 раз, а не 100.
|
||||
|
||||
### Bank-prefix modes (port 0xE2 bits)
|
||||
|
||||
Документ показывает три варианта банка видеостраницы помимо стандартного 0x50:
|
||||
|
||||
| Bank byte | Effect |
|
||||
|---|---|
|
||||
| 0x50 | Normal write — пишется в shadow + видимый |
|
||||
| 0x54 | "no copy in main shadow RAM" |
|
||||
| 0x58 | **"FF is transparent"** — байт 0xFF при write оставляет background |
|
||||
| 0x5C | both |
|
||||
|
||||
Bank 0x58 объясняет почему mouse cursor рисуется с 0xFF-прозрачностью.
|
||||
Это путь к **sprite-blending через accel block copy**:
|
||||
|
||||
- [ ] **`gfx_set_bank_transparent(on)`** или флаг в `gfx_set_bank` для
|
||||
выбора 0x50/0x58 при отрисовке sprite'ов
|
||||
- [ ] Использовать в новом `gfx_blit()` чтобы по факту получать
|
||||
transparent sprites через accel-копию
|
||||
|
||||
### Block copy mode (sprite blit'ы)
|
||||
|
||||
`LD L,L` (horizontal) и `LD A,A` (vertical) — режим копирования блока через
|
||||
256-байтную accel memory. Это базис для blit'ов.
|
||||
|
||||
- [ ] **`gfx_blit(src_data, x, y, w, h)`** — копирование sprite'а
|
||||
(произвольный размер, через accel)
|
||||
- [ ] **`gfx_blit_transparent(src, x, y, w, h)`** — с использованием bank 0x58
|
||||
|
||||
См. `Draw_Restangle_Data` в accelerator_doc.txt как референс.
|
||||
|
||||
### AND / OR / XOR operations через accel
|
||||
|
||||
Документ показывает что accel поддерживает логические операции с блоками
|
||||
данных. Применения:
|
||||
- XOR — инверсия области (выделение selection в UI)
|
||||
- OR / AND — masking, alpha-style blending
|
||||
- См. пример в accelerator_doc.txt: "256 bytes block coding via XOR"
|
||||
|
||||
- [ ] **`gfx_xor_rect`** / **`gfx_or_rect`** / **`gfx_and_rect`** —
|
||||
примитивы логических операций над прямоугольником
|
||||
- [ ] **`gfx_invert_rect(x, y, w, h)`** — alias на xor с 0xFF
|
||||
|
||||
### Bitmap fonts разных размеров
|
||||
|
||||
Сейчас `gfx_text` / `gfx_putchar` хардкоженно работают с 8×8 шрифтом
|
||||
(BIOS WIN_GET_ZG возвращает 256×8 байт). Для будущих UI / титульников
|
||||
нужны:
|
||||
- [ ] **`gfx_set_font_size(w, h)`** — переключить ширину/высоту glyph'а
|
||||
- [ ] **`gfx_set_font_data(ptr, w, h, advance)`** — заменить указатель
|
||||
на пользовательский шрифт + размеры
|
||||
- [ ] Поддержка **proportional** (advance != w) шрифтов — добавить
|
||||
array advance[256] на ширину каждого glyph'а
|
||||
- [ ] **Big-font режимы**: 8×16, 16×16, 16×8 (для титульников)
|
||||
- [ ] Возможно отдельный API `gfx_text_ex(x, y, str, font_id)` где
|
||||
font_id выбирает один из загруженных шрифтов
|
||||
- [ ] **Anti-alias 2-bit шрифты** (бит фон / бит граница / 2-бит alpha?)
|
||||
— far future, для smooth UI
|
||||
|
||||
## Финальный этап оптимизаций (не сейчас)
|
||||
|
||||
- **`gfx_line` через accel для пологих диагоналей** — Bresenham для линии с |dy| << |dx| (или наоборот) выдаёт длинные runs одинакового Y (или X): пиксель, пиксель, пиксель, шаг Y, пиксель, пиксель... Каждый такой run — это готовый аргумент для `gfx_hline` (или `vline`).
|
||||
План исследования: посчитать длину runs как функцию от наклона; решить минимальный run length, при котором выгоднее accel hline чем N×putpixel (overhead accel ~20µs, putpixel ~5µs — accel выгоднее при run ≥ 4-5 px); для крутых диагоналей (dx ≈ dy) оставить Bresenham, для пологих — run-length-based fill.
|
||||
Сейчас `gfx_line` orthogonal cases уже через accel — оптимизировать только косые.
|
||||
|
||||
- **`gfx_fill_rect` с одним W3-swap на всю операцию** — сейчас каждый внутренний `gfx_hline`/`gfx_vline` делает свой DI/save-W3/restore-W3/EI. Можно сделать internal `_fill_rect_inner` который держит W3 замапленным и DI весь цикл; ~20µs × количество строк/столбцов экономии. Применимо ко всем композитным примитивам.
|
||||
@@ -0,0 +1,219 @@
|
||||
▄▄▄▄▄▄
|
||||
▄█░░░░░░
|
||||
█░░ █░░
|
||||
█░░▄▄▄█░░
|
||||
█░░░░░░░░
|
||||
█░░ █░░
|
||||
█░░ █░░ рхитектура компьютера Sprinter.
|
||||
▀░░ ▀░░
|
||||
|
||||
Введение.
|
||||
|
||||
Данное описание предполагает наличие определенных знаний читателя,
|
||||
а именно знание архитектуры компьютера ZX-Spectrum и их разновидностей, в
|
||||
частности Pentagon-128 и Scorpion-256, а так же знание языка BASIC и
|
||||
некоторое знакомство с языком ассемблера Z80.
|
||||
Здесь я буду называть конфигурацией машины - конкретную реализацию
|
||||
конкретной схемы в перепрограммируемой логической микросхеме (ППЛМ).
|
||||
Это означает, что машина имеет множество конфигураций, каждая из которых
|
||||
имеет свою схему.
|
||||
Я так же использую понятие КЭШ-ОЗУ. Это не КЭШ в формальном
|
||||
смысле, а быстрое ОЗУ, в котором процессор может работать на высокой
|
||||
частоте без ожидания. КЭШ-ем это ОЗУ называется только по традиции,
|
||||
подобно КЭШ-у на КР537РУ10 в компьютерах Pentagon-128.
|
||||
|
||||
|
||||
Краткие данные компьютера Sprinter.
|
||||
|
||||
Пpоцессоp . . . . . . . . . . . Z84C15
|
||||
Тактовая частота . . . . 21MHz/3.5MHz
|
||||
ОЗУ . . . . . . . . . . . . . . 4096Kb
|
||||
КЭШ ОЗУ . . . . . . . . . . . . . 64Kb
|
||||
ПЗУ . . . . . . . . . . . . . . .128Kb
|
||||
Видео-ОЗУ . . . . . . . . . 256Kb(512)
|
||||
Контpоллеp дисков . . . . . Кp1818ВГ93
|
||||
Поддеpжка 1.44Mb фоpмата . . 3.5"диска
|
||||
Контpоллеp винчестеpа . . . . . IDE/AT
|
||||
Контpоллеp клавиатуpы . . . 101key/AT
|
||||
Контpоллеp мыши . . . . . . . MS-Mouse
|
||||
Два слота . . . . . . . стандаpт ISA-8
|
||||
Железная эмуляция AY-3-8910 стерео-OUT
|
||||
COVOX . . . . . . . . . 8bit x 4chanel
|
||||
Видео-pежимы: . . . Spectrum standart
|
||||
GRAF 320x256x256,640x256x16, TXT 80x32
|
||||
Выход видео на TV или CGA монитоp, RGB
|
||||
|
||||
|
||||
Техническая реализация.
|
||||
|
||||
Ядром машины являются процессор Z84C15 и ППЛМ EPF10K10QC208.
|
||||
Кроме них на плате присутствуют микросхемa ПЗУ, 72х-пиновый SIMM
|
||||
на 4Mb, 256Kb видео-ОЗУ, 64Kb КЭШ-ОЗУ, схема контроллера дисковода на
|
||||
БИС КР1818ВГ93, буферы для подключения джойстика, магнитофона, принтера,
|
||||
клавиатуры, дисководов, винчестера, мыши, буферные микросхемы шины ISA-8
|
||||
и еще одна ППЛМ фирмы ALTERA - EPM7032LC44. Эта ППЛМ не меняет своей
|
||||
конфигурации и предназначена для обеспечения синхронизации и начального
|
||||
запуска компьютера. На плате так же предусмотрена возможность подключения
|
||||
CMOS часов на основе микросхемы DALLAS. Кроме периферии и буферов имеются
|
||||
микросхемы дешифрации, входы которых подключаются к процессору через ППЛМ.
|
||||
Это позволяет легко менять адресацию устройств без какого либо изменения
|
||||
разводки печатной платы.
|
||||
|
||||
|
||||
Возможности архитектуры машины.
|
||||
|
||||
Схема компьютеpа основана на большой пеpепpогpаммиpуемой логической
|
||||
микpосхеме. Подключение периферийных устройств через ППЛМ позволяет получить
|
||||
высокую гибкость машины по конфигурациям.
|
||||
Пpогpаммиpование ППЛМ осуществляется непосpедственно в момент
|
||||
включения, а так же пpи пеpезагpузке, что позволяет каpдинально менять
|
||||
схему в ППЛМ непосpедственно во вpемя pаботы. Это сильно выделяет
|
||||
архитектуру компьютера из ряда существующих компьютеров и поэтому многие
|
||||
понятия, присущие обычным машинам, меняют свой смысл. Фактически компьютер
|
||||
имеет изменяемую архитектуру, в которой возможны изменения во многих частях
|
||||
схемы. Так, например, нельзя говорить о конкретных адресах портов
|
||||
подключения периферии, так как они могут быть изменены в одну секунду
|
||||
путем перепрограммирования ППЛМ и данных в ОЗУ, отвечающих за конфигурацию
|
||||
портов. Конкретные адреса появляются только в конкретных конфигурациях,
|
||||
например, такой как конфигурация ZX-Spectrum.
|
||||
Перепрограммируемость схемы дает довольно большую свободу
|
||||
фантазии программиста по конфигурации машины. Задумывая конкретную
|
||||
работу программист может определить в какой конфигурации ее можно
|
||||
сделать лучше, а, возможно, и придумать свою конфигурацию, которую
|
||||
затем можно реализовать в ППЛМ и включить перед запуском этой программы.
|
||||
|
||||
|
||||
Блочная схема компьютера Sprinter.
|
||||
|
||||
┌───────┐ ┌──────────────────────────────┐ ┌────────────>Sinc
|
||||
│Принтер│ │ 2 ISA SLOTS │ │ ┌───────>R
|
||||
├───────┤ └───┬─┬─┬─┬─┬───────┬─┬─┬─┬─┬──┘ │ │ ┌─────>G
|
||||
│ Мышь │ ┌───┴─┴─┴─┴─┴───────┴─┴─┴─┴─┴──┐ │ │ │ ┌───>B
|
||||
└─┬─┬─┬─┘ │ Буферы и дешифраторы │ │ ┌─┴─┴─┴─┐
|
||||
│ │ │ └───┬──────────┬─┬──┬─┬────┬─┬─┘ │ │ ЦАП │
|
||||
│ │ │ │INT │ │ │ │ │ │ │ │ буфер │
|
||||
┌──┴─┴─┴┬─┐ │ │ │ │ │ ┌┴─┴──────┴─┐└──┬─┬──┘ ┌────────┐
|
||||
│ Внутр │ ├────│──────────┘ └──│ │───┤ EPF10K10 ├───┘ └──────┤ видео │
|
||||
│ порты │ ├────│──────────DATA─│ │───┤ ├──V_DATA────┤ │
|
||||
├───────┘ ├────│───┐ ┌─────────│ │───┤ ├────────────┤ ОЗУ │
|
||||
│ ├<───┘ │ │ │ │ │ │ │ │
|
||||
│ ├────────────────────┘ └───┤ ├────────────┤ │
|
||||
│ Z84C15 ├───────────────ADRESS─────┤ ├─V_ADRESS───┤ │
|
||||
│ ├────┐ ┌───────────────────┤ ├────────────┤ │
|
||||
│ │ │ │ │ │ │ │ │ │
|
||||
│ ├<───│ │─│ │──────────────>┤ ├──WE,CSi───>┤ │
|
||||
│ ├<───│ │─│ │────DIR───────>┤ │ └────────┘
|
||||
│ ├<───│ │─│ │──────────────>┤ ├───────> Audio OUTs
|
||||
│ │ │ │ │ │ │ │ ┌────────┐
|
||||
│ │ ┌─┴─┴─┴─┴───────┐ │ ├────────────┤ MAIN │
|
||||
│ │ │ ПЗУ и КЭШ-ОЗУ ├<─ADR'─┤ ├──DATA──────┤ RAM │
|
||||
└─┬─┬─┬──┬┘ │ CS ├<─CS───┤ ├────────────┤ │
|
||||
│ │ │ │ └───────────────┘ │ │ │ SIMM │
|
||||
│ D │ │ ┌──────────────┐ │ ├────────────┤ │
|
||||
│ A │ │ │ EPM7032 ├───────>┤ ├──ADRESS────┤ │
|
||||
│ T │ └──>┤ Sinchro │ │ ├────────────┤ │
|
||||
│ A │ │ HDD_DIR ├<───────┤ │ │ │
|
||||
│ │ │ │ ФАПЧ ├<───────┤ ├─RAS,CAS,WE─┤ │
|
||||
│ │ │ └─┬─┬─┬─┬─┬────┘ │ │ └────────┘
|
||||
│ │ │ │ │ │ │ │ │ │
|
||||
┌─┴─┴─┴────────┴─┴─┴─┴─┴───────┐ │ │
|
||||
│ Периферийные устройства ├<────┤ │
|
||||
│ FDD,HDD,KEMPSTON ├<DIR─┤ │
|
||||
│ ├<────┤ │
|
||||
└──────────────────────────────┘ │ │
|
||||
┌────────────────────>┤ │
|
||||
┌────────┐ │ ┌────────┐ │ │
|
||||
│ TAPE ├<──┘ │Keyboard├─────────>┤ │
|
||||
│ in/out │ ├┬┬┬┬┬┬┬┬┤ │ │
|
||||
└────────┘ └┴┴┴┴┴┴┴┴┘ └───────────┘
|
||||
|
||||
Рисунок 1.
|
||||
|
||||
|
||||
|
||||
Для простоты некоторые буферы и дешифраторы на схеме не указаны.
|
||||
Количество Проводов в шинах так же условны. Часть сигналов управления
|
||||
устройств с ППЛМ смультиплицированы с адресами SIMM-а.
|
||||
|
||||
|
||||
Дальнейшее описание архитектуры является описанием конкретных
|
||||
конфигураций и частей конфигураций. Но перед этим следует сказать несколько
|
||||
слов о переключении самих конфигураций.
|
||||
|
||||
Загрузка конфигураций.
|
||||
|
||||
В момент включения компьютера, а так же после нажатия на RESET вся
|
||||
информация, находившаяся в ППЛМ отвечающая за конкретную конфигурацию,
|
||||
стирается. ППЛМ переходит в режим ожидания загрузки блока данных схемы.
|
||||
В этот момент процессор полностью отключен от какой либо периферии.
|
||||
В его адресное пространство памяти оказывается включена одна страница ПЗУ и
|
||||
одна страница ОЗУ КЭШ-памяти. Любая запись в адресное пространство памяти
|
||||
процессора в этот момент приводит к записи данных в ППЛМ и программа в
|
||||
подключенной странице ПЗУ имеет только одну единственную цель - загрузить
|
||||
в ППЛМ данные конфигурации. В этой же странице ПЗУ находятся данные
|
||||
начальной конфигурации. (В данный момент это конфигурация Sprinter-1.)
|
||||
Программа загрузки конфигурации проверяет флаг в КЭШ-памяти и, если он
|
||||
установлен, загружает в ППЛМ данные из ОЗУ, если сброшен, то данные из
|
||||
ПЗУ. На этом основано переконфигурирование схемы компьютера.
|
||||
Для изменения схемы надо загрузить в последнюю страницу КЭШ-памяти
|
||||
блок данных конфигурации со смещения #100 и выставить флаг, которым является
|
||||
текстовая строка "FLEX_10K_LOADING", записанная по смещению #80 в этой же
|
||||
странице КЭШ-а. После этого надо произвести полный сброс, который
|
||||
осуществляется программно записью в специальную страницу памяти RESET_PAGE.
|
||||
Программа в ПЗУ, запускаемая по сбросу находит флаг FLEX_10K_LOADING и
|
||||
начинает загрузку данных в ППЛМ. При этом она одновременно затирает флаг,
|
||||
что предотвращает повторную загрузку новой конфигурации при нажатии на
|
||||
кнопку RESET и позволяет вернуться после "ручного" сброса в начальную
|
||||
конфигурацию. Затирание флага так же избавляет от мучений в случае
|
||||
подключения неправильной конфигурации во время экспериментов с программами.
|
||||
Нажатие на RESET всегда вернет схему в начальную конфигурацию.
|
||||
|
||||
Примечание:
|
||||
Внутренняя информация блока данных ППЛМ является закрытой
|
||||
информацией фирмы ALTERA. Кроме самих микросхем ППЛМ ALTERA поставляет
|
||||
и программное обеспечение для разводки схем внутри ППЛМ. К сожалению, эта
|
||||
программа не может работать на компьютере типа ZX-Spectrum и в ближайшем
|
||||
обозримом будущем не предвидится ее версия для Sprinter-а. Поэтому
|
||||
разработка новых конфигураций может производится только при наличии
|
||||
достаточно мощной машины (все делалось на Pentium-166) и программы разводки
|
||||
схем в ППЛМ, цена на которую составляет сотни долларов США.
|
||||
В связи с этим, в данный момент Sprinter имеет несколько конкретных
|
||||
конфигураций, две из которых записаны в ПЗУ, а остальные могут быть
|
||||
подгружены с дискеты или винчестера. Постоянно ведется совершенствование
|
||||
конкретных конфигураций и разработка новых.
|
||||
|
||||
Конфигурация Sprinter-1.
|
||||
|
||||
Включает в себя конфигурацию Spectrum-128/256, распределение памяти
|
||||
до 4Mb, расширенный экран с режимами Spectrum, Text-80x32, Graf-320x256x256,
|
||||
контроллер дисковода, контроллер IDE винчестера, контроллер клавиатуры AT,
|
||||
подключенной как ZX-Keyboard, 8-bit COVOX.
|
||||
Эта конфигурация максимально приближена к конфогурации ZX-Spectrum
|
||||
и позволяет работать на обычных спектрумовских программах и постепенно
|
||||
менять их под расширенные режимы экрана и памяти, а так же для работы с
|
||||
новыми устройствами.
|
||||
|
||||
Конфигурация Sprinter-2.
|
||||
|
||||
Включает в себя конфигурацию Spectrum-128/256, распределение памяти
|
||||
до 4Mb, расширенный экран с режимами Spectrum, Text-80x32, Graf-320x256x256,
|
||||
контроллер дисковода, контроллер IDE винчестера, контроллер клавиатуры AT,
|
||||
подключенной как ZX-Keyboard, Accelerator.
|
||||
Конфигурация, как и Sprinter-1 приближена к спектрумовской, но
|
||||
имеет более жесткие требования к программам по совместимости. Позволяет
|
||||
использовать акселератор операций с основным и видео-ОЗУ. Акселератор
|
||||
ускоряет операции пересылки блоков данных и заполнения ОЗУ одним байтом
|
||||
до физического предела скорости основного ОЗУ.
|
||||
В последней версии конфигурация Sprinter-2 не имеет Spectrum-овской
|
||||
клавиатуры. Вместо нее из порта 0FEh считывается сканкод пришедший с
|
||||
AT-клавиатуры.
|
||||
|
||||
Конфигурация ZX-Spectrum-256/AY.
|
||||
|
||||
Эта конфигурация максимально приближена к ZX-Spectrum-128/256
|
||||
и включает в себя схему музыкального сопроцессора AY-3-8910. В этой
|
||||
конфигурации отсутствуют расширенные режимы экрана.
|
||||
Вторая версия схемы AY включает в себя три генератора голосов,
|
||||
генератор шума и регуляторы амплитуды. Генератор огибающей отсутствует.
|
||||
Так же отсутствует возможность чтения из портов данных сопроцессора.
|
||||
В третьей версии AY предполагается данные недостатки исключит
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,357 @@
|
||||
Функции BIOS v3.00
|
||||
Вызов функций BIOS осуществляется из ассемблерного кода.
Номер функции задается в регистре C процессора. В остальные регистры, при необходимости, загружаются входные параметры функции. После исполнения функции происходит возврат в программу, из которой произошел вызов функции. Установленный флаг CF (CF=1) означает, что работа функции произошла с ошибкой. В некоторых регистрах передаются выходные параметры.
Ниже приведены таблицы входных и выходных параметров для каждой функции:
|
||||
HYPERLINK "" \l "t01" Функции работы с памятью
|
||||
HYPERLINK "" \l "t04" Функции управления 'железом'
|
||||
HYPERLINK "" \l "t06" Функции управления окнами и режимами экрана
|
||||
HYPERLINK "" \l "t07" Функции вывода текста на экран
|
||||
HYPERLINK "" \l "t08" Графические функции
|
||||
HYPERLINK "" \l "t11" Функции работы с жесткими дисками и дисководами
|
||||
При работе функций BIOS необходимо что бы стек находился в области 8000h..0BFFFh, так как часть функций использует переключение страниц PAGE1 и PAGE3.
Вызов функций BIOS возможен в различных конфигурациях компьютера Sprinter.
Конфигурация Spectrum: вызов функций BIOS осуществляется через 3D13h. При этом работают и все функции TR-DOS.
Конфигурации Sprinter: вызов функций BIOS осуществляется через RST 18h при подключенном системном ПЗУ.
Для постоянного подключения системного ПЗУ можно воспользоваться такой последовательностью команд:
|
||||
|
||||
LD A,0
|
||||
OUT (07Ch),A
|
||||
После ее исполнения в 0-м окне Z80 будет включено ПЗУ BIOSа и программа может вызывать функции BIOSа через RST 18h.
Отключение ПЗУ BIOSа из нулевого окна Z80 производится следующей последовательностью команд:
|
||||
|
||||
LD A,0
|
||||
OUT (03Ch),A
|
||||
При необходимости, функции BIOSа могут быть вызваны программой, находящейся в ОЗУ непосредственно в нулевом окне Z80. Для этого надо установить в адресе 0008h следующий код:
|
||||
|
||||
ADDRESS_0008h:
|
||||
PUSH AF
|
||||
LD A,0
|
||||
OUT (7Ch),A
|
||||
POP AF
|
||||
RET
|
||||
После этого BIOS можно вызывать командой RST 8. (Функции TR-DOS, так же как и в случае RST 18 остаются недоступны.) Вызывая программы таким образом, через RST 8, следует помнить что адреса 3FFFh..0000h после входа в BIOS будут содержать код ПЗУ, поэтому, если фунция использует данные в ОЗУ, они должны находиться в других адресах.
Оптимизация программы для RST 8 недопустима, так как в ПЗУ, для обратного переключения, стоит такая же программа, только порт 3Ch для отключения ПЗУ BIOSа.
Вызов функций BIOS в exe-файлах, вызываемых с помощью операционной системы Estex, производится командой RST 8. Необходимая программа в адресе 0008h уже имеется в блоке кода ОС Estex.
|
||||
Функции работы с памятью
|
||||
|
||||
0C0h (192) EMM_FN0 Определение объемов ОЗУ
|
||||
|
||||
Значение регистров на входе:
C=0C0h
|
||||
Значение регистров на выходе:
HL - общий объем ОЗУ в страницах по 16k
BC - объем свободного ОЗУ в страницах по 16k
|
||||
|
||||
0C1h (193) EMM_FN1 Инициализация распределения памяти.
Стирается вся информация о выделенных ранее блоках ОЗУ.
Блоки с системной информацией и первые 256K ОЗУ объявляются занятыми.
|
||||
|
||||
Значение регистров на входе:
C=0C1h
|
||||
Значение регистров на выходе:
нет
|
||||
|
||||
0C2h (194) EMM_FN2 Выделение блока ОЗУ
|
||||
|
||||
Значение регистров на входе:
C=0C2h
B - число запрашиваемых страниц
|
||||
Значение регистров на выходе:
CF=0 - нормальное завершение - A - идентификатор блока
CF=1 - ошибка - A=1 - не хватает памяти
|
||||
|
||||
0C3h (195) EMM_FN3 Освободить блок ОЗУ
|
||||
|
||||
Значение регистров на входе:
C=0C3h
A - идентификатор блока
|
||||
Значение регистров на выходе:
CF=0 - нормальное завершение
C - неправильный идентификатор
идентификатор не всегда отслеживается правильно
|
||||
|
||||
0C4h (196) EMM_FN4 Получить физический номер страницы из блока памяти
|
||||
|
||||
Значение регистров на входе:
C=0C4h
A - идентификатор блока
B - логическая номер страницы в блоке
|
||||
Значение регистров на выходе:
CF=0 - A - логический номер страницы
CF=1 - ошибка:
A=0 - блок не существует
A=255 - запрашиваемый номер страницы слишком велик
|
||||
|
||||
0C5h (197) EMM_FN5 Получить список физических страниц блока
|
||||
|
||||
Значение регистров на входе:
C=0C5h
A - идентификатор блока
HL - буфер 256 байт для размещения списка страниц
|
||||
Значение регистров на выходе:
CF=0 - нормальное завершение:
B - число страниц в блоке
HL - тот же адрес буфера, в буфере список физических страниц по порядку, заканчивающийся байтом 0FFh
CF=1 - неверный идентификатор блока; старая информация в буфере может быть затерта
|
||||
|
||||
0C6h (198) EMM_FN6 Получение адресов портов окон
HYPERLINK "" \l "02" примечание по использованию
|
||||
|
||||
Значение регистров на входе:
C=0C6h
A - номер окна процессора - 0,1,2 или 3
|
||||
Значение регистров на выходе:
CF=0 - нормальное завершение
C - 8-битный адрес порта окна
B - физический номер подключенной в окно страницы
CF=1 - ошибка - неверный номер окна
|
||||
|
||||
0C7h (199) EMM_FN7 Получить номер следующей страницы блока
HYPERLINK "" \l "03" примечание по использованию
|
||||
|
||||
Значение регистров на входе:
C=0C7h
A - физическая страница
|
||||
Значение регистров на выходе:
CF=0 - нормальное завершение
A - следуюшая физическая страница блока
A=0FFh - индицирует конец блока
CF=1 - ошибка - страница не принадлежит никакому блоку. фактически, это означает, что она свободна.
|
||||
|
||||
09Eh (158) EMM_FN8 Слияние блоков
|
||||
|
||||
Значение регистров на входе:
A - идентификатор блока 1
B - идентификатор блока 2
|
||||
Значение регистров на выходе:
CF=0 - нормальное завершение
A - идентификатор объединенного блока
CF=1 - ошибка - неверный идентификатор блока
|
||||
|
||||
09Dh (157) EMM_FN9 Разделение блока
|
||||
|
||||
Значение регистров на входе:
C=09Dh
A - идентификатор блока
B - новая длина блока
|
||||
Значение регистров на выходе:
CF=0 - нормальное завершение
A - идентификатор блока результата
B - идентификатор блока остатка
CF=1 - ошибка - неверный идентификатор блока
|
||||
|
||||
Функции управления 'железом'
|
||||
|
||||
0EFh (239) FN_VERSION Выдача информации о версии BIOSа и железа.
|
||||
|
||||
Значение регистров на входе:
C=0EFh
HL - буфер, куда будет помещена ASCII строка с несколькими полями, номером версии BIOS и названием модели компьютера. Конец строки отмечен двойным нулем.
|
||||
Значение регистров на выходе:
CF=0 - нормальное завершение
HL - тот же буфер с записанной строкой.
DE - версия BIOSа
BC - версия железа HYPERLINK "" \l "04" подробности ниже
A - количество полей в буфере (в данный момент - 2)
Первое поле - версия BIOS.
Второе - название модели компьютера.
CF=1 - ошибка - Очень старая версия,
не имеющая данной функции
|
||||
|
||||
0F2h (242) FN_SICF=0 Установка синхронизации, очистка страницы режима экрана
|
||||
|
||||
Значение регистров на входе:
C=0F2h
A - режим синхронизации
|
||||
Значение регистров на выходе:
CF=0 - нормальное завершение
CF=1 - неверный номер режима синхронизации
|
||||
|
||||
0F5h (245) CMOS_TEST Проверить наличие CMOS
HYPERLINK "" \l "08" комментарий
|
||||
|
||||
Значение регистров на входе:
C=0F5h
|
||||
Значение регистров на выходе:
CF=0 - часы есть
CF=1 - часов нет
|
||||
|
||||
0F6h (246) CMOS_RD Читать из регистра CMOS
HYPERLINK "" \l "08" комментарий
|
||||
|
||||
Значение регистров на входе:
C=0F6h
D - номер регистра CMOS
|
||||
Значение регистров на выходе:
A - считанные данные
CF=0 - часы есть
CF=1 - часов нет
|
||||
|
||||
0F7h (247) CMOS_WR Писать в регистр CMOS
HYPERLINK "" \l "08" комментарий
|
||||
|
||||
Значение регистров на входе:
C=0F7h
D - номер регистра CMOS
A - записываемые данные
|
||||
Значение регистров на выходе:
CF=0 - часы есть
CF=1 - часов нет
|
||||
|
||||
08Fh (143) FN_TURBO Функция управления турбо режимом.
HYPERLINK "" \l "09" комментарий
|
||||
|
||||
Значение регистров на входе:
C=08Fh
A - режим турбо: 2 - off, 3 - on
A - режим FDD: 12h - 720, 13h - 1.44
|
||||
Значение регистров на выходе:
CF=0 - нормальное завершение
CF=1 - неверный режим турбо
|
||||
|
||||
Функции управления окнами и режимами экрана
|
||||
|
||||
0B0h (176) WIN_OPEN Функция открытия окна.
|
||||
|
||||
Значение регистров на входе:
C=0B0h
IX - HYPERLINK "" \l "10" описатель окна
E - флаги окна:
бит 0 указывает какую страницу режима включать после исполнения функции;
бит 4 указывает на какой странице режима открывать окно
|
||||
Значение регистров на выходе:
CF=0 - нормальное завершение:
A - HYPERLINK "" \l "17" идентификатор окна
CF=1 - ошибка слишком много окон
|
||||
|
||||
0B1h (177) WIN_CLOSE закрытие окна
|
||||
|
||||
Значение регистров на входе:
C=0B1h
A - идентификатор окна
|
||||
Значение регистров на выходе:
CF=0 - успешное завершение
CF=1 - ошибка - неверный идентификатор
Окно с номером 0 никогда не закрывается и попытка закрытия приводит к ошибке
|
||||
|
||||
0B2h (178) WIN_COPY_WIN Копирование данных текстового окна в память (запоминание окна)
При работе этой функции через RST 18h или RST 8, обязателен запрет прерываний, так как функция пользуется стеком для ускорения своей работы.
|
||||
|
||||
Значение регистров на входе:
C=0B2h
A - HYPERLINK "" \l "17" идентификатор глобального окна
H - размер окна в символах по вертикали
L - размер окна в символах по горизонтали
D - вертикальное положение окна в глобальном окне
E - горизонтальное положение окна в глобальном окне
IX - адрес буфера для запоминания данных
адрес буфера указывается для окна 0C000h если адрес указан с 8000h, номер страницы буфера не действителен ниже 8000h адрес указывать нельзя
A' - страница буфера для данных окна
эта страница должна принадлежать программе
|
||||
Значение регистров на выходе:
CF=0 - нормальное завершение
CF=1 - ошибка - неверный идентификатор окна
|
||||
|
||||
0B3h (179) WIN_RESTORE_WIN Копирование из памяти в текстовое окно (восстановление окна)
При работе этой функции через RST 18h или RST 8, обязателен запрет прерываний, так как функция пользуется стеком для ускорения своей работы.
|
||||
|
||||
Значение регистров на входе:
C=0B2h
A - HYPERLINK "" \l "17" идентификатор глобального окна
H - размер окна в символах по вертикали
L - размер окна в символах по горизонтали
D - вертикальное положение окна в глобальном окне
E - горизонтальное положение окна в глобальном окне
IX - адрес буфера для запоминания данных
адрес буфера указывается для окна 0C000h если адрес указан с 8000h, номер страницы буфера не действителен ниже 8000h адрес указывать нельзя
A' - страница буфера для данных окна
эта страница должна принадлежать программе
|
||||
Значение регистров на выходе:
CF=0 - нормальное завершение
CF=1 - ошибка - неверный идентификатор окна
|
||||
|
||||
0B4h (180) WIN_GET_SYM Взять символ с экрана
|
||||
|
||||
Значение регистров на входе:
C=0B4h
A - идентификатор окна
DE - положение символа в окне:
D - вертикаль, E - горизонталь
|
||||
Значение регистров на выходе:
CF=0 - нормальное завершение
L - символ, H - атрибут,
B - знакогенератор
CF=1 - ошибка неверный идентификатор окна
|
||||
|
||||
0B5h (181) WIN_PUT_SYM Положить символ на экран
|
||||
|
||||
Значение регистров на входе:
C=0B5h
A - идентификатор окна
DE - положение символа в окне:
D - вертикаль, E - горизонталь
L - символ, H - атрибут символа
B - знакогенератор
|
||||
Значение регистров на выходе:
CF=0 - нормальное завершение
CF=1 - ошибка неверный идентификатор окна
|
||||
|
||||
0B6h (182) WIN_SET_ZG установка знакогенератора
|
||||
|
||||
Значение регистров на входе:
C=0B6h
A - системный номер знакогенератора
DE - указатель на 2Kb блок данных знакогенератора
|
||||
Значение регистров на выходе:
CF=0 - нормальное завершение
CF=1 - ошибка (старая версия, нет функции)
|
||||
|
||||
0B7h (183) WIN_MOVE_WIN Перемещение окна
При работе этой функции через RST 18h или RST 8, обязателен запрет прерываний, так как функция пользуется стеком для ускорения своей работы.
|
||||
|
||||
Значение регистров на входе:
C=0B7h
A - HYPERLINK "" \l "17" идентификатор глобального окна
H - размер HYPERLINK "" \l "15" локального окна по вертикали в символах
L - размер локального окна по горизонтали в символах
D - положение локального окна по вертикали в символах
E - положение локального окна по горизонтали в символах
IX - новое положение локального окна (подобно DE)
|
||||
Значение регистров на выходе:
CF=0 - нормальное завершение
CF=1 - ошибка - неверный идентификатор окна
|
||||
|
||||
0B8h (184) WIN_GET_ZG Получение знакогенератора
|
||||
|
||||
Значение регистров на входе:
C=0B8h
DE - адрес, куда будет загружено 2kb знакогенератора
|
||||
Значение регистров на выходе:
CF=0 - нормальное завершение
CF=1 - ошибка (старая версия, нет функции)
|
||||
|
||||
Функции вывода текста на экран
|
||||
|
||||
081h (129) LP_PRINT_ALL Печать символов с атрибутом
На экран выводится строка из B одинаковых символов
|
||||
|
||||
Значение регистров на входе:
C=081h
A - символ
E - атрибут
B - число выводимых символов
регистры HL,IX - сохраняются
|
||||
Значение регистров на выходе:
CF=0 - всегда
|
||||
|
||||
082h (131) LP_PRINT_SYM Вывод символов на экран без атрибута
На экран выводится строка из B одинаковых символов атрибут остается тот, который был на экране
|
||||
|
||||
Значение регистров на входе:
C=082h
A - символ
B - число выводимых символов
регистры HL,IX - сохраняются
|
||||
Значение регистров на выходе:
CF=0 - всегда
|
||||
|
||||
083h (131) LP_PRINT_ATR печать атрибутов
На экран выводится строка из B одинаковых атрибутов.
Символы не меняются.
|
||||
|
||||
Значение регистров на входе:
C=083h
E - атрибут
B - число выводимых символов
регистры HL,IX - сохраняются
|
||||
Значение регистров на выходе:
CF=0 - всегда
|
||||
|
||||
084h (132) LP_SET_PLACE Установка текущего знакоместа в окне
Позиция печати устанавливается в соответстии с регистром DE
|
||||
|
||||
Значение регистров на входе:
C=084h
E - положение символа по горизонтали
D - номер символа по вертикали
Превышение границ приводит не к ошибке, а к переустановке сначала, за вычетом полного размера окна
|
||||
Значение регистров на выходе:
CF=0 - всегда
|
||||
|
||||
085h (133) LP_PRINT_LN Вывод строки символов на экран с текущего знакоместа
|
||||
|
||||
Значение регистров на входе:
C=085h
HL - адрес строки должен быть между 04000h и 0BFFFh
E - атрибут, с которым будет выведена строка
B - длина выводимой строки
|
||||
Значение регистров на выходе:
CF=0 - всегда
|
||||
|
||||
086h (134) LP_PRINT_LN2 Вывод строки символов на экран без атрибутов
|
||||
|
||||
Значение регистров на входе:
C=086h
HL - адрес строки должен быть между 04000h и 0BFFFh
B - длина выводимой строки
|
||||
Значение регистров на выходе:
CF=0 - всегда
|
||||
|
||||
087h (135) LP_PRINT_LN3 Вывод строки символов до разделителя
После разделителя выводятся пробелы, что бы вывести B символов
|
||||
|
||||
Значение регистров на входе:
C=087h
HL - адрес строки должен быть между 04000h и 0BFFFh
E - атрибут, с которым будет выведена строка
B - длина выводимой строки
D - символ-разделитель, указывающий конец строки
|
||||
Значение регистров на выходе:
CF=0 - всегда
|
||||
|
||||
088h (136) LP_PRINT_LN4 Вывод строки символов до разделителя, без атрибутов
символы из выводятся на экран, пока не встретится символ равный D, далее печатаются пробелы, как дополнение строки до B символов. Атрибуты не изменяются.
|
||||
|
||||
Значение регистров на входе:
C=088h
HL - адрес строки должен быть между 04000h и 0BFFFh
B - длина выводимой строки
D - символ-разделитель, указывающий конец строки
|
||||
Значение регистров на выходе:
CF=0 - всегда
|
||||
|
||||
089h (137) LP_CLS_WIN Очистка экрана
Выполнение произворится выводом пробелов с заданным атрибутом
|
||||
|
||||
Значение регистров на входе:
C=089h
DE положение HYPERLINK "" \l "15" локального окна
H - размер в символах локального окна по вертикали
L - размер в символах локального окна по горизонтали
B - атрибут очистки
|
||||
Значение регистров на выходе:
CF=0 - всегда
|
||||
|
||||
08Ah (138) LP_SCROLL_UD Скроллинг части глобального окна вверх/вниз
Скроллируются полные строки глобального окна
|
||||
|
||||
Значение регистров на входе:
C=08Ah
B - тип скроллинга: 1 - вверх; 2 - вниз
D - начальная строка скроллинга
E - число скроллируемых строк
|
||||
Значение регистров на выходе:
CF=0 - всегда
|
||||
|
||||
08Bh (139) LP_PRINT_LN5 Вывод строки символов на экран до разделителя
После разделителя вывод останавливается
|
||||
|
||||
Значение регистров на входе:
HL - адрес строки должен быть между 04000h и 0BFFFh
E - атрибут, с которым будет выведена строка
B - максимальная длина выводимой строки
D - символ-разделитель, указывающий конец строки
|
||||
Значение регистров на выходе:
CF=0 - всегда
|
||||
|
||||
08Ch (140) LP_PRINT_LN6 Вывод строки символов на экран до разделителя без атрибутов
После разделителя вывод останавливается.
|
||||
|
||||
Значение регистров на входе:
C=08Ch
HL - адрес строки должен быть между 04000h и 0BFFFh
B - максимальная длина выводимой строки
D - символ-разделитель, указывающий конец строки
|
||||
Значение регистров на выходе:
CF=0 - всегда
|
||||
|
||||
08Dh (141) LP_CLS_WIN2 Очистка экрана с указанием символа заполнения
|
||||
|
||||
Значение регистров на входе:
C=08Dh
DE положение HYPERLINK "" \l "15" локального окна
H - размер в символах локального окна по вертикали
L - размер в символах локального окна по горизонтали
B - атрибут очистки
A - символ очистки
|
||||
Значение регистров на выходе:
CF=0 - всегда
|
||||
|
||||
08Eh (142) LP_GET_PLACE Получить текущее положение вывода на экран
|
||||
|
||||
Значение регистров на входе:
C=08Eh
|
||||
Значение регистров на выходе:
CF=0 - всегда
DE - координаты, в которых будет напечатан
следующий символ:
D - вертикаль, E - горизонталь
|
||||
|
||||
Графические функции
|
||||
|
||||
0A1h (161) PIC_POINT Установить точку
|
||||
|
||||
Значение регистров на входе:
C=0A1h
DE - координата по вертикали (пиксели)
HL - координата по горизонтали (пиксели)
Координаты считаются от верхнего левого угла экрана
A - идентификатор окна
B - цвет точки
|
||||
Значение регистров на выходе:
CF=0 - нормальное завершение
CF=1 - неверный идентификатор окна
|
||||
|
||||
0A4h (164) PIC_SET_PAL Установка палитры
|
||||
|
||||
Значение регистров на входе:
C=0A4h
HL - HYPERLINK "" \l "18" данные палитры
E - номер начального цвета
D - количество устанавливаемых цветов
B - маска при установке палитры.
Для нормального режима должнa быть 0FFh
A - 0..3 биты:
- значения 0..7 - номер палитры
- значения 8..15 - зарезервированы
- 4..6 биты - зарезервированы (установить в 0)
- 7 бит:
- значение 0 - установить
- значение 1 - загрузить палитру в память
|
||||
Значение регистров на выходе:
CF=0 - всегда
|
||||
|
||||
0A6h (166) SET_PAL_INIT Установка внутренней палитры
|
||||
|
||||
Значение регистров на входе:
C=0A6h
A - страница палитры
B - номер палитры:
B=1 - установка графической палитры
B=2 - установка спектрумовской палитры
B=3 - установка текстовой палитры CGA
|
||||
Значение регистров на выходе:
CF=0 - нормальное завершение
CF=1 - неверный номер палитры
|
||||
|
||||
Функции работы с жесткими дисками и дисководами
|
||||
|
||||
50h,52h,53h (80,82,83) Зарезервированы
|
||||
|
||||
Значение регистров на входе:
нет
|
||||
Значение регистров на выходе:
нет
|
||||
|
||||
51h (81) DRV_RESET Сброс контроллера и настройка на диск
|
||||
|
||||
Значение регистров на входе:
C=51h
A - номер и HYPERLINK "" \l "22" тип устройства
бит 7..4 - тип устройства:
#0x - FDD
#6x - RAM-DISK
#8x - HDD
#Cx - CD-ROM
бит 3..0 - номер устройства
|
||||
Значение регистров на выходе:
CF=0 - нормальное завершение
CF=1 - ошибка, нет диска или нет устройства
|
||||
|
||||
54h (84) DRV_VERIFY Проверка секторов
Проверка внутренняя на совпадение ECC
|
||||
|
||||
Значение регистров на входе:
C=54h
A - номер и HYPERLINK "" \l "22" тип устройства (см. выше)
HL:IX - номер сектора (IX - младшая часть номера сектора)
B - количество проверяемых секторов
|
||||
Значение регистров на выходе:
CF=0 - нормальное завершение
CF=1 - проверка с ошибкой
|
||||
|
||||
55h (85) DRV_READ Чтение с устройства
|
||||
|
||||
Значение регистров на входе:
C=55h
A - номер и HYPERLINK "" \l "22" тип устройства (см. выше)
HL:IX - номер сектора (IX - младшая часть номера сектора)
B - количество секторов
DE - адрес буфера для данных
|
||||
Значение регистров на выходе:
CF=0 - нормальное завершение
CF=1 - ошибка чтения
HL:IX - номер сектора + кол-во прочитанных секторов
DE - адрес буфера для данных + (кол-во прочитанных секторов * размер сектора)
|
||||
|
||||
56h (86) DRV_WRITE Запись на устройства
|
||||
|
||||
Значение регистров на входе:
C=56h
A - номер и HYPERLINK "" \l "22" тип устройства (см. выше)
HL:IX - номер сектора (IX - младшая часть номера сектора)
B - количество секторов
DE - адрес буфера данных для записи
|
||||
Значение регистров на выходе:
CF=0 - нормальное завершение
CF=1 - ошибка записи
HL:IX - номер сектора + кол-во прочитанных секторов
DE - адрес буфера для данных + (кол-во прочитанных секторов * размер сектора)
|
||||
|
||||
57h (87) DRV_DETECT Определение параметров устройства
|
||||
|
||||
Значение регистров на входе:
C=57h
A - номер и HYPERLINK "" \l "22" тип устройства (см. выше)
|
||||
Значение регистров на выходе:
CF=0 - нормальное завершение
A - bit7=0 диск 720Кb
Bit7=1 диск 1.44Mb
CF=1 - нет устройства или нет носителя
|
||||
|
||||
58h (88) DRV_GET_PAR Получить параметры носителя
|
||||
|
||||
Значение регистров на входе:
C=58h
A - номер и HYPERLINK "" \l "22" тип устройства (см. выше)
|
||||
Значение регистров на выходе:
CF=0 - нормальное завершение
L - число секторов
H - число головок
DE - количество цилиндров
если HL=DE=0FFFFh - устройства нет
IX - размер сектора в байтах
B - доп. параметры для дискет:
бит7 - тип 1.44/720
CF=1 - нет устройства
|
||||
|
||||
59h (89) DRV_SET_PAR Установить параметры носителя
|
||||
|
||||
Значение регистров на входе:
A - номер и HYPERLINK "" \l "22" тип устройства (см. выше)
L - число секторов
H - число головок
DE - количество цилиндров
IX - размер сектора в байтах
B - доп. параметры для дискет
бит7 - тип 1.44/720
|
||||
Значение регистров на выходе:
CF=0 - нормальное завершение
|
||||
|
||||
5Ah (90) EXT_VERSION Номер версии дисковой спецификации.
|
||||
|
||||
Значение регистров на входе:
C=5Ah
|
||||
Значение регистров на выходе:
CF=0 - нормальное завершение
D - версия
E - модификация
CF=1 - ошибка
|
||||
|
||||
5Fh (95) DRV_LIST Список дисковых устройств
|
||||
|
||||
Значение регистров на входе:
C=5Fh
IX - буфер для списка устройств
|
||||
Значение регистров на выходе:
CF=0 - нормальное завершение
В буфере список дисков в формате:
IX+0 - размер заполненого буфера
IX+1 - кол-во устройств FDD
IX+2 - кол-во устройств HDD
IX+3 - кол-во устройств CD DRIVE
IX+4 - #00 - конец списка, иначе кол-во устройств нового типа
|
||||
|
||||
|
||||
Примечания и комментарии.
Примечание по использованию функции получения адресов портов окон (0C6h).
Cледует хотя бы один раз вызвать эти функции и сравнить адреса портов с теми, что используются в программе и, если они не совпадают, выдать соответствующее предупреждение. В данный момент эти порты таковы: PAGE0=82h, PAGE1=0A2h, PAGE2=0C2h, PAGE3=0E2h
Примечание по использованию функции EMM_FN7 (0C7h).
Информация о распределении памяти хранится в виде RAM Allocation Table, похожей на дисковый FAT. Поэтому нахождение физического номера следующей страницы по предыдущему физическому номеру происходит значительно быстрее, чем поиск по увеличенному на единицу логическому номеру.
Комментарий к функции FN_VERSION (0EFh).
Значения регистра BC на выходе и соответствующая ему конфигурация
|
||||
|
||||
BC=FFFF - Не определено
|
||||
BC=FFFE - Конфигурация Spectrum, режим Sprinter ZX
|
||||
BC=FFFD - Конфигурация Sprinter
|
||||
BC=FFFC - Зарезервировано
|
||||
BC=FFFB - Зарезервировано
|
||||
BC=FFFA - Зарезервировано
|
||||
BC=FFF9 - Зарезервировано
|
||||
Иные значения BC - новые прошивки.
Комментарий к функциям CMOS (0F5h-0F7h)
Функции CMOS_RD, CMOS_WR, CMOS_TEST работают всегда. Если в машине нет микросхемы CMOS, то эмулируется ее память. Наличие микросхемы определяется функцией CMOS_TEST.
Комментарий к функции FN_TURBO (08Fh)
Переключение режима турбо может не произойти, если прошивка не поддерживает это переключение. При этом ошибки не происходит. Так же, переключение режима TURBO блокируется кнопкой "Turbo" в режиме Turbo-OFF
Комментарий к функциям печати текста.
Эти функции работают с текущим окном, которым всегда является последнее открытое окно. К графическому экрану функции печати текста не применимы.
Описатель окна.
Для открытия окон используется 32-хбайтовый описатель окна (дескриптор), адрес которого указывается в регистре IX.
|
||||
|
||||
IX - 32-хбайтовый описатель окна
|
||||
(IX+0) - горизонтальный размер окна в знакоместах
|
||||
(IX+1) - вертикальный размер в знакоместах
|
||||
(IX+2) - положение окна по горизонтали на экране в знакоместах
|
||||
(IX+3) - положение окна по вертикали на экране в знакоместах
|
||||
(IX+4) - режим знакоместа
|
||||
bit4=1 - text_mode bit4=0 - graf_mode
|
||||
bit5=0 - 16, bit5=1 - 8 точек в знакоместе
|
||||
graf_mode bit3..0 - не существенны
|
||||
bit7..6 - номер палитры
|
||||
text_mode bit7..6,3..0 - номер знакогенератора
|
||||
исключение: bit7..6=B"11" - бордер
|
||||
(IX+5) - дополнительный режим знакоместа
|
||||
bit0=1 - указывает на включение спектрумовской
|
||||
адресации экрана
|
||||
(IX+6) - положение по X в поле графики (по знакоместам)
|
||||
(IX+7) - положение по Y в поле графики (по знакоместам)
|
||||
разъяснения о положении в поле графики - ниже
|
||||
(IX+8..31) - зарезервировано (переменные окна)
|
||||
в этих байтах должны быть нули
|
||||
При открытии окна описатель копируется в системную страницу ОЗУ и программа может не сохранять его. Что бы описатель окна не потерялся, программа получает идентификатор окна. Он же идентификатор глобального окна. В функциях запоминания, восстановления, перемещения, а так же функциях стирания, скроллинга и т.п. идентификатор окна определяет область экрана, относительно которой производится работа с локальными окнами. Подразумеваются локальные окна в смысле "окно в окне". Идентификатор окна определяет глобальное окно, отнoсительно которого адресуются локальные. В части функций глобальное окно определяется по умолчанию, как последнее, с которым производились действия с явным указанием идентификатора.
В данный момент BIOS хранит только один описатель окна - последний, с которым была произведена функция открытия. Идентификатор окна выставляется в 0. В дальнейшем планитруется разработка функций со множеством окон, потому, во избежание неприятностей в будущем, при работе с окнами, программисту следует запоминать идентификатор окна и пользоваться этим значением при работе с ним.
Типы стандартных окон:
|
||||
|
||||
0 - окно 32x24 в формате ZX Spectrum
|
||||
1 - текстовое окно 64x24
|
||||
2 - текстовое окно 40x32
|
||||
3 - текстовое окно 80x32
|
||||
4 - окно в формате ZX Spectrum, HL - положение окна на экране в знакоместах
|
||||
5 - текстовое окно 64x24, HL - положение окна на экране в знакоместах
|
||||
6 - текстовое окно 40x32, HL - положение окна на экране в знакоместах
|
||||
7 - текстовое окно 80x32, HL - положение окна на экране в знакоместах
|
||||
8 - графическое окно 0, HL - положение окна на экране
|
||||
9 - графическое окно 1, HL - положение окна на экране
|
||||
Данные палитры должны представлять собой список приблизительно такого вида:
|
||||
|
||||
DB blue1,green1,red1,0
|
||||
DB blue2,green2,red2,0
|
||||
.....................
|
||||
DB blueN,greenN,redN,0
|
||||
N - количество цветов. Значеное равное 0 соответствует 256-ти цветам. При записи в видео-ОЗУ все данные предварительно проходят функцию AND со значением регистра маски - B.
Страницы палитры 0..3 соответствуют графическим режимам. Для вывода в соответствующей палитре нужно задать соответствующее значение bit7..6 в байте HYPERLINK "" \l "19" режима знакоместа
Страницы 4..7 соответствуют текстовому режиму и спектрумовскому режиму. В странице 4 задается цвет PAPER для каждого атрибута. В странице 5 задается цвет INK для каждого атрибута. В странице 6 задается цвет PAPER, которым он будет моргать в режиме FLASH В странице 7 задается цвет INK, которым он будет моргать в режиме FLASH. Таким образом, для каждого из 256-ти атрибутов задается четыре цвета если цвета 4,5 совпадают с цветами 6,7 то режим FLASH оказывается отключенным. Для его включения в спектрумовском режиме надо поменять местами цвета 6 и 7. Если надо включить FLASH в режим IBM-CGA, следует установить цвета 6 и 7 одинаковыми и равными цвету 4. По сути режим FLASH всегда включен, и на экране постоянно меняются цвета PAPER с 4-го на 6-й, а цвета INK с 5 на 7-й. Если эти пары цветов для атрибута знакоместа устанавливаются одинаковыми, то FLASH в этом месте не виден.
Комментарий к функциям работы с устройствами хранения информации.
В этих функциях в регистре A обычно задается номер и тип устройства:
|
||||
|
||||
бит 0..3 - номер устройства
|
||||
бит 4..7 - тип устройства:
|
||||
0 - дисковод
|
||||
6 - ram-disk
|
||||
8 - HDD
|
||||
C - CD-ROM
|
||||
остальные номера не используются
|
||||
А так же задаются: старшая часть номера сектора в регисте HL, младшая часть номера сектора в регистре IX.
|
||||
@@ -0,0 +1,421 @@
|
||||
Системные вызовы дисковой подсистемы (DSS) v1.6
|
||||
Системные вызовы
|
||||
|
||||
|
||||
Если программа выполняет не только некую математическую задачу на ассемблере, то в ней придется столкнуться с такими вещами, как получение ввода пользователя, выполнение вывода результатов и завершение своей работы. Для этого, необходимо обратиться к сервисам DSS. Фактически, программирование на языке ассемблера одинаково для любых систем, если не пользоваться их сервисами.
Вызов функций DSS в системе Estex выполняется из ассемблера. Необходимые параметры указываются в различных регистрах, регистр C используется для указания номера функции.
Так, наша программа для Estex будет выглядеть наподобие:
|
||||
|
||||
ORG #8100 ;адрес точки входа
|
||||
|
||||
LD HL,MSG ;сообщение для вывода
|
||||
LD C,5Ch ;номер системного вызова (PCHARS)
|
||||
RST 10h ;вызов подсистемы
|
||||
|
||||
LD C,41h ;номер системного вызова (EXIT)
|
||||
RST 10h ;вызов подсистемы
|
||||
|
||||
MSG db "Hello, world!",0Dh,0Ah ;наша стока
|
||||
db 0 ;конец строки
|
||||
|
||||
Следом за таблицей есть пояснение по двум новым функциям 0Ch и 0Dh.
|
||||
Далее идет список категорий функций DSS для системы Estex
|
||||
HYPERLINK "" \l "version" Функции идентификации системы
|
||||
HYPERLINK "" \l "disk_io" Функции для работы с диском
|
||||
HYPERLINK "" \l "file_io" Функции для работы с файлами
|
||||
HYPERLINK "" \l "date_time" Функции для работы с датой и временем
|
||||
HYPERLINK "" \l "memory" Функции управления памятью
|
||||
HYPERLINK "" \l "keyboard" Функции ввода с клавиатуры
|
||||
HYPERLINK "" \l "execute" Функции для исполнения программ
|
||||
HYPERLINK "" \l "cmdline" Функции для работы со строками и командной строкой
|
||||
HYPERLINK "" \l "var" Функции для работы с переменными
|
||||
HYPERLINK "" \l "screen" Функции работы с экраном
|
||||
HYPERLINK "" \l "printer" Функции для печати на принтере
|
||||
HYPERLINK "" \l "tocversion" Функции идентификации системы
|
||||
|
||||
00h (00) VERSION (Версия DSS)
|
||||
|
||||
Входные значения:
C - 00h
|
||||
Выходные значения:
D - номер версии
E - модификация
|
||||
|
||||
HYPERLINK "" \l "tocdisk_io" Функции для работы с диском
|
||||
|
||||
01h (01) CHDISK (Смена текущего диска)
|
||||
|
||||
Входные значения:
A - номер диска (0-A,1-B...)
C - 01h
|
||||
Выходные значения:
A - код ошибки, если CF=1
A - максимальный номер диска, если CF=0
|
||||
|
||||
02h (02) CURDISK (Номер текущего диска)
|
||||
|
||||
Входные значения:
C - 02h
|
||||
Выходные значения:
A - код ошибки, если CF=1
A - текущий номер диска (0-A,1-B...), если CF=0
|
||||
|
||||
03h (03) DSKINFO (Информация о диске)
|
||||
|
||||
Входные значения:
A - номер диска (0-A,1-B...0FFh-текущий)
C - 03h
|
||||
Выходные значения:
A - код ошибки, если CF=1
A - размер кластера в секторах, если CF=0
HL - общее кол-во кластеров
DE - свободных кластеров
BC - размер сектора в байтах
|
||||
|
||||
09h (09) BOOTDSK (Номер системного диска)
|
||||
|
||||
Входные значения:
C - 09h
B = 0
|
||||
Выходные значения:
A - код ошибки, если CF=1
A - номер системного диска (0-A,1-B...), если CF=0
|
||||
|
||||
HYPERLINK "" \l "tocfile_io" Функции для работы с файлами
|
||||
|
||||
0Ah (10) CREATE (Создание файла)
|
||||
|
||||
Входные значения:
HL - указатель на файловую спецификацию
A - атрибут файла
C - 0Ah
|
||||
Выходные значения:
A - код ошибки, если CF=1
A - файловый манипулятор, если CF=0
|
||||
|
||||
0Bh (11) CREATE NEW FILE (Создание нового файла)
|
||||
|
||||
Входные значения:
HL - указатель на файловую спецификацию
A - атрибут файла
C - 0Bh
|
||||
Выходные значения:
A - код ошибки, если CF=1
A - файловый манипулятор, если CF=0
|
||||
|
||||
0Eh (14) DELETE (Удаление файла)
|
||||
|
||||
Входные значения:
HL - указатель на файловую спецификацию
C - 0Eh
|
||||
Выходные значения:
A - код ошибки, если CF=1
|
||||
|
||||
10h (16) RENAME (Переименование файла)
|
||||
|
||||
Входные значения:
HL - указатель на старое имя файла
DE - указатель на новое имя файла
C - 10h
|
||||
Выходные значения:
A - код ошибки, если CF=1
|
||||
|
||||
11h (17) OPEN (Открытие файла)
|
||||
|
||||
Входные значения:
HL - указатель на файловую спецификацию
A - режим доступа
A=0 чтение/запись
A=1 чтение
A=2 запись
C - 11h
|
||||
Выходные значения:
A - код ошибки, если CF=1
A - файловый манипулятор, если CF=0
|
||||
|
||||
12h (18) CLOSE (Закрытие файла)
|
||||
|
||||
Входные значения:
A - файловый манипулятор
C - 12h
|
||||
Выходные значения:
A - код ошибки, если CF=1
|
||||
|
||||
|
||||
13h (19) READ (Чтение из файла)
|
||||
|
||||
Входные значения:
A - файловый манипулятор
HL - адрес в памяти
DE - количество читаемых байт
C - 13h
|
||||
Выходные значения:
A - код ошибки, если CF=1
DE - реальное количество прочитанных байт
если CF=0:
A = 0 прочитаны все байты
A = 0FFh прочитано меньшее число байт
|
||||
|
||||
14h (20) WRITE (Запись в файл)
|
||||
|
||||
Входные значения:
A - файловый манипулятор
HL - адрес в памяти
DE - количество записываемых байт
C - 14h
|
||||
Выходные значения:
A - код ошибки, если CF=1
DE - реальное количество записанных байт
|
||||
|
||||
15h (21) MOVE_FP (Перемещение указателя в файле)
|
||||
|
||||
Входные значения:
A - файловый манипулятор
HL:IX - смещение указателя в файле
B - способ перемещения:
B=0 от начала файла
B=1 от текущего значения указателя
B=2 от конца файла
C - 15h
|
||||
Выходные значения:
A - код ошибки
|
||||
если CF=1
HL:IX - новое значение указателя
|
||||
|
||||
16h (22) ATTRIB (Получение/изменение атрибута файла)
|
||||
|
||||
Входные значения:
HL - указатель на файловую спецификацию
B - режим доступа
B = 0 получить атрибут
B = 1 установить атрибут
A - атрибут файла
C - 16h
|
||||
Выходные значения:
A - код ошибки, если CF=1
A - атрибут файла, если CF=0
|
||||
|
||||
17h (23) GET_D_T (Информация о дате и времени файла)
|
||||
|
||||
Входные значения:
A - файловый манипулятор
C - 17h
|
||||
Выходные значения:
A - код ошибки, если CF=1
D - день
E - месяц
IX - год
H - час
L - минуты
B - секунды
|
||||
|
||||
18h (24) PUT_D_T (Изменение даты и времени файла)
|
||||
|
||||
Входные значения:
A - файловый манипулятор
D - день
E - месяц
IX - год
H - час
L - минуты
B - секунды
C - 18h
|
||||
Выходные значения:
A - код ошибки, если CF=1
|
||||
|
||||
19h (25) F_FIRST (Поиск первого совпадающего файла)
|
||||
|
||||
Входные значения:
HL - указатель на файловую спецификацию
DE - рабочий буфер 44 байта, если B=0, иначе 256 байт
A - атрибуты, используемые при поиске
B = 0 - имя найденного файла в формате 11 байт "FilenameExt"
B = 1 - имя найденного файла в формате DOS "filename.ext",0
C - 19h
|
||||
Выходные значения:
A - код ошибки, если CF=1
|
||||
|
||||
1Ah (26) F_NEXT (Поиск следующего совпадающего файла)
|
||||
|
||||
Входные значения:
DE - указатель на рабочий буфер
C - 1Ah
|
||||
Выходные значения:
A - код ошибки, если CF=1
|
||||
|
||||
|
||||
|
||||
|
||||
1Bh (27) MKDIR (Создание каталога)
|
||||
|
||||
Входные значения:
HL - указатель на файловую спецификацию
C - 1Bh
|
||||
Выходные значения:
A - код ошибки, если CF=1
|
||||
|
||||
1Ch (28) RMDIR (Устранение каталога)
|
||||
|
||||
Входные значения:
HL - указатель на файловую спецификацию
C - 1Ch
|
||||
Выходные значения:
A - код ошибки, если CF=1
|
||||
|
||||
1Dh (29) CHDIR (Смена текущего каталога)
|
||||
|
||||
Входные значения:
HL - указатель на файловую спецификацию
C - 1Dh
|
||||
Выходные значения:
A - код ошибки, если CF=1
|
||||
|
||||
1Eh (30) CURDIR (Информация о текущем каталоге)
|
||||
|
||||
Входные значения:
HL - буфер в памяти 256 байт
C - 1Eh
|
||||
Выходные значения:
A - код ошибки, если CF=1
|
||||
|
||||
HYPERLINK "" \l "tocdate_time" Функции для работы с датой и временем
|
||||
|
||||
21h (33) SYSTIME (Текущая дата и время)
|
||||
|
||||
Входные значения:
C - 21h
|
||||
Выходные значения:
D - день
E - месяц
IX - год
H - час
L - минуты
B - секунды
C - день недели
|
||||
|
||||
22h (34) SETTIME (Установить текущую дату и время)
|
||||
|
||||
Входные значения:
D - день
E - месяц
IX - год
H - час
L - минуты
B - секунды
C - 22h
|
||||
Выходные значения:
A - код ошибки, если CF=1
|
||||
|
||||
HYPERLINK "" \l "tocmemory" Функции управления памятью
|
||||
|
||||
38h (56) SETWIN (Подключение страницы памяти)
|
||||
|
||||
Входные значения:
A - идентификатор блока памяти
B - номер страницы в блоке (0,1,2...)
H - биты 6 и 7 задают номер окна, в которое будет подключена страница
C - 38h
|
||||
Выходные значения:
A - код ошибки, если CF=1
A - номер замещенной страницы, если CF=0
|
||||
|
||||
39h (57) SETWIN1 (Подключение страницы памяти в первое окно)
|
||||
|
||||
Входные значения:
A - идентификатор блока памяти
B - номер страницы в блоке (0,1,2...)
C - 39h
|
||||
Выходные значения:
A - код ошибки, если CF=1
A - номер замещенной страницы, если CF=0
|
||||
|
||||
3Ah (58) SETWIN2 (Подключение страницы памяти во второе окно)
|
||||
|
||||
Входные значения:
A - идентификатор блока памяти
B - номер страницы в блоке (0,1,2...)
C - 39h
|
||||
Выходные значения:
A - код ошибки, если CF=1
A - номер замещенной страницы, если CF=0
|
||||
|
||||
3Bh (59) SETWIN3 (Подключение страницы памяти в третье окно)
|
||||
|
||||
Входные значения:
A - идентификатор блока памяти
B - номер страницы в блоке (0,1,2...)
C - 3Bh
|
||||
Выходные значения:
A - код ошибки, если CF=1
A - номер замещенной страницы, если CF=0
|
||||
|
||||
3Ch (60) INFOMEM (Информация о памяти)
|
||||
|
||||
Входные значения:
C - 3Ch
|
||||
Выходные значения:
HL - общее количество страниц
BC - количество свободных страниц
|
||||
|
||||
3Dh (61) GETMEM (Выделение блока памяти)
|
||||
|
||||
Входные значения:
B - размер блока в страницах по 16 килобайт
C - 3Dh
|
||||
Выходные значения:
A - код ошибки, если CF=1
A - идентификатор блока памяти, если CF=0
|
||||
|
||||
3Eh (62) FREEMEM (Освобождение блока памяти)
|
||||
|
||||
Входные значения:
A - идентификатор блока памяти
C - 3Eh
|
||||
Выходные значения:
A - код ошибки, если CF=1
|
||||
|
||||
3Fh (63) SETMEM (Изменение блока памяти)
|
||||
|
||||
Входные значения:
A - идентификатор блока памяти
B - новый размер блока
C - 3Fh
|
||||
|
||||
Выходные значения:
A - код ошибки, если CF=1
|
||||
|
||||
HYPERLINK "" \l "tockeyboard" Функции ввода с клавиатуры
|
||||
|
||||
30h (48) WAITKEY (Ожидание символа с клавиатуры)
|
||||
|
||||
Входные значения:
C - 30h
|
||||
Выходные значения:
A - код символа
D - позиционный код
Е - ASCII код
C - режим клавиатуры:
bit7 - RUS/LAT
bit3 - Num Lock
bit2 - Scroll Lock
bit1 - Insert
bit0 - Caps Lock
B - состояние shift'ов:
bit7 - Left Shift
bit6 - Right Shift
bit5 - Ctrl
bit4 - Alt
bit3 - Left Ctrl
bit2 - Left Alt
bit1 - Right Ctrl
bit0 - Right Alt
|
||||
31h (49) SCANKEY (Опрос клавиатуры без ожидания)
|
||||
|
||||
Входные значения:
C - 31hВыходные значения:
ZF = 1 - нет клавиш
A - код символа
D - позиционный код
Е - ASCII код
C - режим клавиатуры:
bit7 - RUS/LAT
bit3 - Num Lock
bit2 - Scroll Lock
bit1 - Insert
bit0 - Caps Lock
B - состояние shift'ов:
bit7 - Left Shift
bit6 - Right Shift
bit5 - Ctrl
bit4 - Alt
bit3 - Left Ctrl
bit2 - Left Alt
bit1 - Right Ctrl
bit0 - Right Alt
|
||||
32h (50) ECHOKEY (Ожидание символа с клавиатуры с печатью)
|
||||
|
||||
Входные значения:
C - 32h
|
||||
Выходные значения:
A - код символа
D - позиционный код
Е - ASCII код
C - режим клавиатуры:
bit7 - RUS/LAT
bit3 - Num Lock
bit2 - Scroll Lock
bit1 - Insert
bit0 - Caps Lock
B - состояние shift'ов:
bit7 - Left Shift
bit6 - Right Shift
bit5 - Ctrl
bit4 - Alt
bit3 - Left Ctrl
bit2 - Left Alt
bit1 - Right Ctrl
bit0 - Right Alt
|
||||
33h (51) CTRLKEY (Получить состояние клавиатуры)
|
||||
|
||||
Входные значения:
C - 33h
|
||||
Выходные значения:
A = 0 - нет символов в буфере
C - режим клавиатуры:
bit7 - RUS/LAT
bit3 - Num Lock
bit2 - Scroll Lock
bit1 - Insert
bit0 - Caps Lock
B - состояние shift'ов:
bit7 - Left Shift
bit6 - Right Shift
bit5 - Ctrl
bit4 - Alt
bit3 - Left Ctrl
bit2 - Left Alt
bit1 - Right Ctrl
bit0 - Right Alt
|
||||
35h (53) K_CLEAR (Очистить буфер клавиатуры и выполнить функцию)
|
||||
|
||||
Входные значения:
B - номер фун
|
||||
ции 30h, 31h, 32h, 33h или 34h
C - 35h
|
||||
Выходные значения:
В зависимости от указанной функции в регистре B.
|
||||
|
||||
36h (54) K_SETUP (Управление настройками клавиатуры)
|
||||
|
||||
Входные значения:
B - номер подфункции
C - 36h
B = 0, установить раскладку клавиатуры
A - номер раскладки
|
||||
0 - normal
1 - shift
2 - caps lock
3 - caps lock + shift
4 - normal (альтернативная кл.)
5 - shift (альтернативная кл.)
6 - caps lock (альтернативная кл.)
7 - caps lock + shift (альтернативная кл.)
|
||||
B = 1, получить состояние звуковых переменных
B = 2, установить звуковые переменные
A - значение переменной
bit0 - сигнал переполнения буфера клавиатуры
bit1 - сигнал переключения на альтернативную раскладку клавиатуры
|
||||
Выходные значения:
В зависимости от указанной функции в регистре B.
|
||||
|
||||
37h (55) TESTKEY (Опрос буфера клавиатуры)
|
||||
|
||||
Входные значения:
C - 37h
|
||||
Выходные значения:
ZF = 1 - нет символов в буфере
A - код символа
D - позиционный код
Е - ASCII код
C - режим клавиатуры:
bit7 - RUS/LAT
bit3 - Num Lock
bit2 - Scroll Lock
bit1 - Insert
bit0 - Caps Lock
B - состояние shift'ов:
bit7 - Left Shift
bit6 - Right Shift
bit5 - Ctrl
bit4 - Alt
bit3 - Left Ctrl
bit2 - Left Alt
bit1 - Right Ctrl
bit0 - Right Alt
|
||||
|
||||
HYPERLINK "" \l "tocexecute" Функции для исполнения программ
|
||||
|
||||
40h (64) EXEC (Выполнить файл)
|
||||
|
||||
Входные значения:
HL - указатель на файловую спецификацию
B = 0 - загрузить и выполнить программу
C - 40h
|
||||
Выходные значения:
A - код ошибки, если CF=1
A - код завершения, если CF=0
|
||||
|
||||
41h (65) EXIT (Завершение программы)
|
||||
|
||||
Входные значения:
B - код завершения
C - 41h
|
||||
Выходные значения:
A - код ошибки, если CF=1
A - код завершения, если CF=0
|
||||
|
||||
42h (66) WAIT (Получить код завершения программы)
|
||||
|
||||
Входные значения:
C - 42h
|
||||
Выходные значения:
A - код завершения
|
||||
|
||||
HYPERLINK "" \l "toccmdline" Функции для работы со строками и командной строкой
|
||||
|
||||
43h (67) GSWITCH (Выделить параметр командной строки)
|
||||
|
||||
Входные значения:
HL - указатель командной строки
DE - буфер для выделяемого параметра
C - 43h
|
||||
Выходные значения:
HL - указатель на следующий параметр командной строки
CF = 0 - конец строки не достигнут (есть другие параметры)
CF = 1 - конец строки (в буфер перенесён последний параметр или ноль)
|
||||
|
||||
44h (68) DOSNAME (Преобразовать имя файла)
|
||||
|
||||
Входные значения:
C - 44h
B = 0, преобразовать из 11 символьного формата в формат ДОС
HL - 11 символов имени файла
DE - буфер для имени в формате ДОС
B = 1, преобразовать из формата ДОС в 11 символьный формат
HL - имя файла в формате ДОС
DE - 11 символов имени файла
|
||||
Выходные значения:
A - код ошибки, если CF=1
|
||||
|
||||
45h (69) EXCMDLN (Разбор командной строки)
|
||||
|
||||
Входные значения:
HL - указатель командной строки
DE - указатель на буфер пользователя
C - 45h
B - номер подфункции:
|
||||
0 - Разобрать строку;
1 - Выделить имя диска;
2 - Выделить директорию;
3 - Выделить имя файла;
4 - Выделить расширение файла;
5 - Выделить имя диска, путь к файлу, имя файла и расширение файла;
6 - Зарезервирована;
7 - Выделить параметр командной строки;
8 - Преобразовать из 11 символьного формата в формат ДОС;
9 - Преобразовать из формата ДОС в 11 символьный формат;
|
||||
|
||||
Подфункция 0 - Разобрать строку:
|
||||
|
||||
Входные значения:
HL - указатель командной строки
C - 45h
B = 0 - Разобрать строку
|
||||
Выходные значения:
A - код ошибки, если CF=1
A - результат разбора, если CF=0
bit7 - В строке обнаружены символы ? или *
bit3 - В строке указано имя диска;
bit2 - В строке указан путь к файлу;
bit1 - В строке указано расширение файла;
bit0 - В строке указано имя файла;
|
||||
|
||||
Подфункция 1 - Выделить имя диска:
|
||||
|
||||
Входные значения:
HL - указатель командной строки
DE - буфер (макс. 13 байт)
C - 45h
B = 1 - Выделить имя диска
|
||||
Выходные значения:
A - код ошибки, если CF=1
A - номер диска (0 - A, 1 - B, 2 - C и т.д.), если CF=0
буфер - имя диска "A:",0
|
||||
|
||||
Подфункция 2 - Выделить директорию:
|
||||
|
||||
Входные значения:
HL - указатель командной строки
DE - буфер (макс. 256 байт)
C - 45h
B = 2 - Выделить директорию
|
||||
Выходные значения:
A - код ошибки, если CF=1
A - результат разбора, если CF=0
bit7 - В строке обнаружены символы ? или *
bit3 - В строке указано имя диска;
bit2 - В строке указан путь к файлу;
bit1 - В строке указано расширение файла;
bit0 - В строке указано имя файла;
буфер - директория "DIR1\DIR2\DIR3\",0
|
||||
|
||||
Подфункция 3 - Выделить имя файла:
|
||||
|
||||
Входные значения:
HL - указатель командной строки
DE - буфер (макс. 13 байт)
C - 45h
B = 3 - Выделить имя файла
|
||||
Выходные значения:
A - код ошибки, если CF=1
A - результат разбора, если CF=0
bit7 - В строке обнаружены символы ? или *
bit3 - В строке указано имя диска;
bit2 - В строке указан путь к файлу;
bit1 - В строке указано расширение файла;
bit0 - В строке указано имя файла;
буфер - имя файла "FILE.EXT",0
|
||||
|
||||
Подфункция 4 - Выделить расширение файла:
|
||||
|
||||
Входные значения:
HL - указатель командной строки
DE - буфер (макс. 4 байт)
C - 45h
B = 4 - Выделить расширение файла
|
||||
Выходные значения:
A - код ошибки, если CF=1
A - результат разбора, если CF=0
bit7 - В строке обнаружены символы ? или *
bit3 - В строке указано имя диска;
bit2 - В строке указан путь к файлу;
bit1 - В строке указано расширение файла;
bit0 - В строке указано имя файла;
буфер - расширение "TXT",0 или "C ",0
|
||||
|
||||
Подфункция 5 - Выделить имя диска, путь к файлу, имя файла и расширение файла:
|
||||
|
||||
Входные значения:
HL - указатель командной строки
DE - буфер (макс. 8 байт)
DE+0 адрес буфера для имени диска (макс. 13 байт)
DE+2 адрес буфера для директории (макс. 256 байт)
DE+3 адрес буфера для имени файла (макс. 13 байт)
DE+4 адрес буфера для расширения файла (макс. 4 байта)
C - 45h
B = 5 - Выделить имя диска, путь к файлу, имя файла и расширение файла
|
||||
Выходные значения:
A - код ошибки, если CF=1
A - результат разбора, если CF=0
bit7 - В строке обнаружены символы ? или *
bit3 - В строке указано имя диска;
bit2 - В строке указан путь к файлу;
bit1 - В строке указано расширение файла;
bit0 - В строке указано имя файла;
|
||||
|
||||
Подфункция 7 - Выделить параметр командной строки
|
||||
|
||||
Входные значения:
HL - указатель командной строки
DE - буфер для выделяемого параметра
C - 45h
B = 7 - Выделить параметр командной строки
|
||||
Выходные значения:
HL - указатель на следующий параметр командной строки
CF = 0 - конец строки не достигнут (есть другие параметры)
CF = 1 - конец строки (в буфер перенесён последний параметр или ноль)
|
||||
|
||||
Подфункция 8 - Преобразовать из 11 символьного формата в формат ДОС
|
||||
|
||||
Входные значения:
C - 45h
B = 8 - преобразовать из 11 символьного формата в формат ДОС
HL - 11 символов имени файла
DE - буфер для имени в формате ДОС
|
||||
Выходные значения:
A - код ошибки, если CF=1
|
||||
|
||||
Подфункция 9 - Преобразовать из формата ДОС в 11 символьный формат
|
||||
|
||||
Входные значения:
C - 45h
B = 9 - преобразовать из формата ДОС в 11 символьный формат
HL - имя файла в формате ДОС
DE - буфер для 11 символов имени файла
|
||||
Выходные значения:
A - код ошибки, если CF=1
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
HYPERLINK "" \l "tocvar" Функции для работы с переменными
|
||||
|
||||
46h (70) ENVIRON (Системное окружение)
|
||||
|
||||
Входные значения:
B - номер подфункции
C - 46h
B=0 Получение системного окружения
HL - буфер
B=1 Получить переменную окружения
HL - имя переменной
DE - буфер для значения переменной
B=2 Установить/удалить переменную окружения
HL - имя переменной и значение, разделенные символом '=', (ПЕРЕМЕННАЯ=ЗНАЧЕНИЕ)
|
||||
Выходные значения:
A - состояние, если CF=0
A=0 - переменная обнаружена
A=0FFh - переменная не обнаружена
DE - указывает на конец буфера
A - код ошибки, если CF=1
|
||||
|
||||
47h (71) APPINFO (Получение информации приложения)
|
||||
|
||||
Входные значения:
B - номер подфункции
C - 47h
HL - буфер данных
B=0 - получение параметров командной строки
B=1 - получение полного пути к каталогу программы
B=2 - получение полного пути и имени файла программы
|
||||
Выходные значения::
A - код ошибки, если CF=1
|
||||
|
||||
HYPERLINK "" \l "tocscreen" Функции работы с экраном
|
||||
|
||||
50h (80) SETVMOD (Выбор режима экрана)
|
||||
|
||||
Входные значения:
A - режим экрана
02h - текстовый 40x32x16 цветов
03h - текстовый 80x32x16 цветов
81h - графический 320x256x256 цветов
82h - графический 640x256x16 цветов
B - страница экрана 0/1
C - 50h
|
||||
Выходные значения:
A - код ошибки, если CF=1
|
||||
|
||||
51h (81) GETVMOD (Получить текущий режим экрана)
|
||||
|
||||
Входные значения:
C - 51h
|
||||
Выходные значения:
A - код ошибки, если CF=1
A - текущий режим экрана, если CF=0
B - страница экрана 0/1
|
||||
|
||||
52h (82) LOCATE (Установить позицию курсора)
|
||||
|
||||
Входные значения:
D - строка курсора
E - столбец курсора
C - 52h
|
||||
Выходные значения:
нет
|
||||
|
||||
53h (83) CURSOR (Получить текущую позицию курсора)
|
||||
|
||||
Входные значения:
C - 53h
|
||||
Выходные значения:
D - строка курсора
E - столбец курсора
|
||||
|
||||
54h (84) SELPAGE (Выбрать активную страницу экрана)
|
||||
|
||||
Входные значения:
B - страница экрана 0/1
C - 54h
|
||||
Выходные значения:
A - код ошибки, если CF=1
|
||||
|
||||
55h (85) SCROLL (Прокрутка окна)
|
||||
|
||||
Входные значения:
D - строка левого верхнего угла окна
E - столбец левого верхнего угла окна
H - высота окна
L - ширина окна
B = 1 - прокрутка вверх
B = 2 - прокрутка вниз
A = 0 - очищать строку
C - 55h
|
||||
Выходные значения:
нет
|
||||
|
||||
56h (86) CLEAR (Очистка окна)
|
||||
|
||||
Входные значения:
D - строка левого верхнего угла окна
E - столбец левого верхнего угла окна
H - высота окна
L - ширина окна
B - атрибут заполнитель
A - символ заполнитель
C - 56h
|
||||
Выходные значения:
нет
|
||||
|
||||
57h (87) RDCHAR (Считать символ с экрана)
|
||||
|
||||
Входные значения:
D - строка
E - столбец
C - 57h
|
||||
Выходные значения:
A - символ
B - атрибут
|
||||
|
||||
58h (88) WRCHAR (Напечатать символ на экране)
|
||||
|
||||
Входные значения:
D - строка
E - столбец
A - символ
B - атрибут
C - 58h
|
||||
Выходные значения:
нет
|
||||
|
||||
59h (89) WINCOPY (Запомнить окно экрана)
|
||||
|
||||
Входные значения:
D - строка
E - столбец левого верхнего угла окна
H - высота окна
L - ширина окна
B - страница буфера
IX - адрес буфера
C - 59h
|
||||
Выходные значения:
нет
|
||||
|
||||
5Ah (90) WINREST (Восстановить окно экрана)
|
||||
|
||||
Входные значения:
D - строка
E - столбец левого верхнего угла окна
H - высота окна
L - ширина окна
B - страница буфера
IX - адрес буфера
C - 5Ah
|
||||
Выходные значения:
нет
|
||||
|
||||
5Bh (91) PUTCHAR (Напечатать символ в текущей позиции курсора)
|
||||
|
||||
Входные значения:
A - символ
C - 5Bh
|
||||
Выходные значения:
нет
|
||||
|
||||
5Ch (92) PCHARS (Напечатать строку символов в текущей позиции курсора)
|
||||
|
||||
Входные значения:
HL - указатель на начало строки символов
C - 5Ch
|
||||
Выходные значения:
нет
|
||||
|
||||
HYPERLINK "" \l "tocprinter" Функции для печати на принтере
|
||||
|
||||
5Fh (95) PRINT (Вывод символа на принтер без ожидания)
|
||||
|
||||
Входные значения:
A - символ
C - 5Fh
|
||||
Выходные значения:
B - символ
CF = 1 - принтер не готов
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
Estex: Disk SubSystem (DSS) Programming Guide
|
||||
Table of Contents
|
||||
HYPERLINK "" \l "intro" 1. Introducing
HYPERLINK "" \l "identify" 2. Identification of system functions
HYPERLINK "" \l "diskfunc" 3. Disk devices functions
|
||||
|
||||
1. Introducing
|
||||
This document contains the list of functions and concepts of interaction with a disk subsystem.
DSS is a collection of very useful functions that reside in DSS itself, ready for use by any your programs. These functions are stored in library SYSTEM.DOS and allow management of files, memory allocation, loading and execution of the programs.
File specification
The file specification is a string, containing a names of disk, directories separated by a symbol "\" and name of file. The names of disk drive and directories can be discard.
for example:
C:\TEXT\DOC\text.doc
A:file.txt
\TEXT\info.txt
The DSS used chars with colon suffix as names of disk devices (A:, B:, C: etc.) The name of disk can be written down before filename for specified disk there it placed. For example: command DIR C:DATFILE searches for DATFILE in the current directory of disk C:.
When disk name not specified DSS used current disk. At start DSS, the current disk is a disk whence was loaded DSS.
The filenames consist of two parts. The first part contain 8 chars of file name. The second part is not necessary and contain 3 chars of file type (also known as extentsion). At the writing of filename, both parts are separated by char point.
For example: the names "NAME" and "NAME." is specified same file. In the name don't
allows symbols with codes less 32 and chars . " / \ [ ] : | < > + = ; ,
As the subdirectories files too, their names are formed by same way. The name of root directory always "\". And each subdirectories contain two items with names "." and "..". The name "." specified a current directory and name ".." specified name of parent(uplevel) directory.
Some console commands and DSS functions allow to use global symbols ? and * which can be used
for filename templates.
The symbol ? means that any one char of filename. The symbol * means that it char can be
replaced by any symbols.
For example:
*.txt - means, all files with type "txt"
a??.* - means, files which contain three or less symbols and first symbol is "a"
dc*.exe - means, files with type "exe" and began "dc"
File attributes
The each bit of byte attributes specified various attribute. And It can be changed by DSS function.
bit 0 - Read only
bit 1 - Hidden
bit 2 - System
bit 3 - Volume label
bit 4 - Directory
bit 5 - Archive
bit 6 - Reserved
bit 7 - Reserved
Attribute "read only". When value is 1, file can be read, but can't be written or deleted.
Attribute "hidden". When value is 1, DSS can't manipulate with this file.
Attribute "system". Specified system file.
Attribute "volume label". In old version of MSDOS used for specified volume laben, now it can be used for long filenames. And must be 0 for compatibles.
Attribute "directory". When value is 1, means that this file is directory.
Attribute "archive". This bite sets in 1 when DSS writing in this file. It can be used in backup utilities for detect changed files.
File handle
When any file are opened, DSS build File Control Block in DSS working areas.
The Handle (and assigned file) identified by number which returned DSS to program after file opening and used it in all further DSS calls. In other words, when file is opening, the program informsDSS his name and has taken back file handle. Which used in further file operations.
All necessary information for working with file are placed in DSS working areas.
|
||||
2. Identification of system functions
|
||||
00h (00) VERSION (Version of DSS)
input:
C - 00h
output:
D - version number
E - modification
The function return version number of DSS.
|
||||
3. Disk devices functions
|
||||
01h (01) CHDISK (Change current disk)
input:
A - disk number (0-A,1-B...)
C - 01h
output:
A - error code, if CF=1
A - number of disks, if CF=0
The function changes current disk device.
02h (02) CURDISK (Current disk number)
input:
C - 02h
output:
A - current disk number (0-A,1-B...)
The function returns number of current disk device.
03h (03) DSKINFO (Disk information)
input:
A - disk number (0-A,1-B...0FFh-current)
C - 03h
output:
A - error code, if CF=1
A - sectors per cluster, if CF=0
HL - clusters per disk
DE - free clusters
BC - bytes per sector
The function returns information about disk device (capacity and free space).
for example:
|
||||
LD C,03h ;Function DSKINFO
|
||||
LD A,0FFh ;Information about current disk
|
||||
RST 10h ;Execution of function
|
||||
LD A,D ;There is a free
|
||||
OR E ;space?
|
||||
JR Z,NO_SPACE ;No, the disk is completely filled
|
||||
09h (09) BOOTDSK (Number of boot disk)
input:
C - 09h
B = 0
output:
A - number of boot disk (0-A,1-B...)
The function returns number of boot disk device whence was loaded DSS.
|
||||
@@ -0,0 +1,69 @@
|
||||
Estex: Дисковая подсистема (DSS) – Обзор
|
||||
HYPERLINK "" \l "intro" Введение
|
||||
HYPERLINK "" \l "boot" Загрузка подсистемы
|
||||
HYPERLINK "" \l "console" Системная консоль
|
||||
HYPERLINK "" \l "fs" Файловая система
|
||||
1. Введение
|
||||
Estex - операционная система компьютера Sprinter, включающая в себя различные модули. Данный документ описывает модуль дисковой подсистемы.
В DSS используется та же самая файловая система, как и в MS-DOS FAT16 и полностью с ней совместима.
|
||||
2. Загрузка подсистемы
|
||||
После включения питания или сброса компьютера, BIOS считывает первичный загрузчик с 1-го сектора загрузочного диска.
Если загрузка происходит с HDD или дискеты, то сначала загрузочный сектор считывается в память и ему передается управление по загрузке модуля дисковой подсистемы SYSTEM.DOS.
Затем выполняются следующие действия:
|
||||
инициализация дисковой подсистемы и вывод сообщения "Starting DOS..."
|
||||
загрузка системной консоли SYSTEM.EXE
|
||||
выполнение команд указанных в файле SYSTEM.BAT
|
||||
Обычно файл SYSTEM.BAT содержит путь к программе файловой навигации пользователя или другому часто используемому приложения. Например "c:\fn\fn.exe".
Если во время загрузки вы хотите пропустить выполнение SYSTEM.BAT. То вам следует нажать клавишу "SHIFT", как только появиться сообщение "Starting DOS..." и удерживать пока не появится приглашение консоли ("C:\>").
|
||||
3. Системная консоль
|
||||
В DSS многие задачи могут быть выполнены через интерфейс командной строки называемой системной консолью. Основная задача консоли ввод команд и их исполнение. Также она имеет ряд функций, которые выполняют такие действия как управление файлами, перемещение по файловой структуре каталогов, редактирование командной строки и переменных среды.
Системная консоль позволяет пользователю взаимодействовать с операционной системой. Для DOS системная консоль это SYSTEM.EXE. Если вы видите на экране приглашение командной строки (A:\> или C:\>), то это означает что SYSTEM.EXE загружен и активизирован. Когда вы вводите командную строку, командный процессор интерпретирует команду и выполняет необходимые действия.
На сегодняшний день в консоли доступны следующие команды:
|
||||
CD
|
||||
Displays the name of or changes the current directory.
|
||||
CHDIR
|
||||
Displays the name of or changes the current directory.
|
||||
CLS
|
||||
Clears the screen.
|
||||
DATE
|
||||
Displays or sets the date.
|
||||
DEL
|
||||
Deletes one or more files.
|
||||
DIR
|
||||
Displays a list of files and subdirectories in a directory.
|
||||
ECHO
|
||||
Displays messages, or turns command echoing on or off.
|
||||
ERASE
|
||||
Deletes one or more files.
|
||||
EXIT
|
||||
Quits the SYSTEM.EXE program (command interpreter).
|
||||
HELP
|
||||
Provides Help information for console commands.
|
||||
MD
|
||||
Creates a directory.
|
||||
MKDIR
|
||||
Creates a directory.
|
||||
PAUSE
|
||||
Suspends processing of a batch file and displays a message.
|
||||
RD
|
||||
Removes a directory.
|
||||
REM
|
||||
Records comments (remarks) in batch files or SYSTEM.BAT.
|
||||
REN
|
||||
Renames a file or files.
|
||||
RENAME
|
||||
Renames a file or files.
|
||||
RMDIR
|
||||
Removes a directory.
|
||||
TIME
|
||||
Displays or sets the system time.
|
||||
VER
|
||||
Displays the System version.
|
||||
4. Файловая система
|
||||
Сейчас, в качестве файловой системы Estex использует FAT12 и FAT16. С помощью файловой системы FAT (File Allocation Table) организуются данный на винчестере и дискетах.
Для указания спецификации файла используется следующая форма:
[drive:][directory\]filename[.ext]
Файловая спецификация - это строка символов содержащая наименования диска, директорий отделенных символом "\" и имя файла. Имена диска и директории могут быть опущены, если требуемый файл расположен в текущей директории.
например:
|
||||
|
||||
C:\TEXT\DOC\text.doc
|
||||
|
||||
A:file.txt
|
||||
|
||||
\TEXT\info.txt
|
||||
В DSS в качестве имен дисковых устройств используются буквы с последующим символом двоеточия (A:, B:, C: и.т.д.) Имя диска может быть набрано перед именем файла для указания диска, на котором он расположен. Например: команда DIR C:TESTFILE ищет TESTFILE в текущей директории диска C:. Если имя диска не указанно используется текущий диск. После запуска DSS, текущим диском является диск, с которого была загружена DSS.
Имена файлов состоят из двух частей. Первая часть может содержать 8 букв, цифр или следующие специальные символы: $ % ' – _ @ { } ~ ` ! # ( ). Вторая часть не является обязательной и содержит любую комбинацию из трех букв, цифр или специальных символов с предшествующей точкой (.). Например имена "NAME" и "NAME." указывают на одинаковый файл. В имени файла не допускаются символы с кодом меньше 32, а также символы . " / \ [ ] : | < > + = ; ,
Поскольку директории также являются файлами их имена образуются по тем же правилам.
Имя корневой директории всегда "\". И каждая поддиректория содержит два элемента с именами "." and "..". Имя "." указывает на текущую директория, а имя ".." указывает на родительную (на уровень выше) директорию.
Некоторые команды и функции DSS позволяют использовать глобальные символы * и ? которые могут использоваться для задания шаблона имени файла.
Символ ? означает любой один символ в имени файла. Символ * означает, что он может быть заменен на любое количество любых символов.
for example:
|
||||
|
||||
*.txt - означает, все файлы с типом "txt"
|
||||
a??.* - означает, файлы содержащие три и менее символов и первый символ "a"
|
||||
dc*.exe - означает, файлы с типом "exe" и начинающиеся на "dc"
|
||||
В именах файлов не делается различий между заглавными и прописными символами.
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,38 @@
|
||||
Архитектура компьютера
|
||||
Основные понятия
|
||||
Персональный компьютер Sprinter является универсальным компьютером на базе 8 битного процессора Z80 (Z84C1516PSC) фирмы Zilog. Основой компьютера является перепрограммируемая логическая матрица (ППЛМ) EP1K30QC208-3 фирмы ALTERA.
|
||||
В настоящее время компьютер Sprinter использует плату Sp2000 в качестве материнской платы. Плата Sp2000 была разработана в конце 2000 года специально с возможностью обеспечения поддержки будущих моделей компьютера и имеет ряд конструктивных особенностей, использование которых нашло свое отражение в данном руководстве.
|
||||
Вначале поясним основные понятия, которые вам будут встречаться.
|
||||
Модель компьютера - набор конфигураций, зашитых в ПЗУ и определяющих возможности, доступные для пользователя. Современная модель компьютера Sprinter пока является единственной и носит тоже название.
|
||||
Конфигурация компьютера - реализация конкретной схемы в перепрограммируемой логической микросхеме (ППЛМ).
|
||||
Основная конфигурация - конфигурация активная сразу после включения компьютера и содержащая в себе наиболее важные и часто используемые режимы работы данной модели компьютера.
|
||||
Режим конфигурации - изменение характеристик работы компьютера в рамках конфигурации.
|
||||
Быстрое ОЗУ - дополнительное ОЗУ, в котором процессор может работать на высокой частоте без тактов ожидания (подразумевается турбо-режим процесора).
|
||||
Физический блок памяти - 16K блок основной памяти компьютера. Обозначается шестнадцатеричным числом -- #00..#FF
|
||||
Логический блок памяти - 16K блок спектрумовской схемы распределения памяти. Обозначается десятичным числом - 0..15
|
||||
Краткая характеристика компьютера Sprinter.
|
||||
Процессор Z84C15 (21MHz/3.5MHz)
|
||||
ОЗУ 4Mb
|
||||
Быстрое ОЗУ 64Kb
|
||||
ПЗУ 256Kb
|
||||
ВидеоОЗУ 256Kb (512Kb)
|
||||
Контроллер дисков Кp1818ВГ93 (аналог WD1793)
|
||||
Поддержка дисководов: 3,5" диск (1.44Mb/720Kb)
|
||||
5,25" диск (720Kb)
|
||||
Часы CMOS DALLAS
|
||||
Контpоллеp винчестеpа IDE/AT
|
||||
Контpоллеp клавиатуpы 101key/AT
|
||||
Контpоллеp мыши MS Mouse
|
||||
Два слота стандаpт ISA-8
|
||||
Аудио выход AY-3-8910 в ППЛМ, звуковой ЦАП (16 бит)
|
||||
Видео выход Аналоговый CGA монитоp, RGB, ТВ (SCART)
|
||||
Графические видеорежимы 320x256x256, 640x256x16, ZX стандарт Текстовые видеорежимы 80x32x16, 40х32х16
|
||||
|
||||
Техническая реализация.
|
||||
Ядром машины являются процессор Z84C15 и ППЛМ фирмы ALTERA - EP1K30QC208-3. Кроме них на плате присутствуют: микросхема ПЗУ, слот под 72-х-пиновый SIMM, видео ОЗУ, 64Kb Быстрого ОЗУ, схема контроллера дисковода на БИС КР1818ВГ93 (аналог WD1793), буферы для подключения джойстика, магнитофона, принтера, клавиатуры, дисководов, винчестера, мыши, буферные микросхемы шины ISA-8 и еще одна ППЛМ фирмы ALTERA -- EPM7064SLC100-10. Эта ППЛМ не меняет своей конфигурации и предназначена для обеспечения синхронизации и начального запуска компьютера. На плате так же предусмотрена возможность подключения CMOS часов - микросхемы DALLAS.
Кроме периферии и буферов имеются микросхемы дешифрации, входы которых подключаются к процессору через ППЛМ. Это позволяет легко менять адресацию устройств, без какого-либо изменения разводки печатной платы.
|
||||
Схема компьютера основана на большой перепрограммируемой логической микросхеме (ППЛМ). Подключение периферийных устройств через ППЛМ позволяет получить высокую гибкость машины по конфигурациям.
|
||||
Программирование (загрузка данных) ППЛМ осуществляется непосредственно в момент включения компьютера, а так же при перезагрузке, что позволяет кардинально менять схему в ППЛМ непосредственно во время работы. Это сильно выделяет архитектуру Sprinter-а из ряда существующих компьютеров, и многие понятия, присущие обычным машинам, меняют свой смысл. Фактически компьютер имеет гибкую архитектуру, в которой возможны изменения во многих частях схемы. Например, нельзя говорить о конкретных адресах портов подключения периферии, так как они могут быть изменены в одну секунду путем перепрограммирования ППЛМ и данных в ОЗУ, отвечающих за конфигурацию портов. Конкретные адреса появляются только в конкретных конфигурациях, например, в конфигурации ZX-Spectrum.
|
||||
Перепрограммируемость схемы дает большую свободу фантазии программиста по конфигурации машины. Задумывая конкретный проект, программист может определить в какой конфигурации его можно реализовать лучше, а, возможно, и придумать свою конфигурацию, которую затем можно реализовать в ППЛМ и включить перед запуском этой программы.
|
||||
INCLUDEPICTURE \d "http://www.petersplus.ru/sprinter/pix/fig1.gif" \* MERGEFORMATINET
|
||||
Рисунок SEQ Рисунок \* ARABIC 1. Функциональная схема
|
||||
Для упрощения схемы некоторые буферы и дешифраторы на схеме не указаны. Количество проводов в шинах так же условно.
|
||||
@@ -0,0 +1,97 @@
|
||||
Акселератор компьютера Sprinter.
|
||||
|
||||
Акселератор предназначен для ускорения операций по пересылке блоков данных в ОЗУ и видео-ОЗУ.
|
||||
|
||||
Акселератор позволяет:
|
||||
|
||||
- быстро заполнять горизонтальную или вертикальную линию длиной до 256 точек одним цветом (в режиме 640x256 - одинарную/двойную горизонтальную линию длиной до 512 точек)
|
||||
- быстро копировать горизонтальную или вертикальную линию длиной до 256 точек (в режиме 640x256 - горизонтальную линию до 512 точек)
|
||||
- проводить быстрые операции AND, OR, XOR с блоками памяти.
|
||||
|
||||
Акселератор не может работать с блоками данных ПЗУ и Быстрого-ОЗУ.
|
||||
|
||||
ОЗУ акселератора является частью внутреннего ОЗУ ППЛМ.
|
||||
Операции по пересылке данных производятся путем записи блока данных в это
|
||||
внутреннее ОЗУ, а затем копировании его в нужное место ОЗУ из ОЗУ акселератора.
|
||||
Блок данных, записываемый в ОЗУ акселератора может иметь различную
|
||||
длинну из диапазона 1..256 байт.
|
||||
|
||||
После одной записи копирование может производиться несколько раз и, таким
|
||||
образом, можно производить заполнение экрана текстурами.
|
||||
|
||||
Для заполнения экрана одним цветом используется другой режим
|
||||
акселератора. В нем вместо копируемого блока данных из внутреннего ОЗУ
|
||||
производится запись данных с шины процессора, которые в этот момент не
|
||||
изменяются.
|
||||
|
||||
Управление акселератором производится непосредственно из программы.
|
||||
Для этого изпользуются команды процессора, которые, фактически, являются
|
||||
операциями типа NOP.
|
||||
|
||||
LD B,B - выключить акселетарор.
|
||||
LD D,D - включить акселератор в режим приема байта размера блока
|
||||
далее следует команда типа LD A,dat, где dat и будет новым
|
||||
размером блока. Если размер блока был установлен ранее,
|
||||
его можно не устанавливать.
|
||||
LD C,C - Операция Fill - заполнение одним байтом. Последующая
|
||||
команда типа LD (HL),A приведет к заполнению указанного
|
||||
ранее количества байт значением A
|
||||
LD E,E - Операция Fill для графического экрана - заполнение
|
||||
вертикальных линий.
|
||||
LD H,H - rezerved
|
||||
LD L,L - копирование блока. Последующая команда типа LD A,(HL)
|
||||
приведет к заполнению ОЗУ акселератора данными из адреса (HL),
|
||||
а команда типа LD (DE),A приведет к перезаписи данных из ОЗУ
|
||||
акселератора в ОЗУ или видео-ОЗУ.
|
||||
LD A,A - копирование блока для графического экрана подобна команде
|
||||
LD L,L, но работает с вертикальными линиями экрана.
|
||||
|
||||
Пример использования акселератора:
|
||||
|
||||
; Считаем, что экранная страница уже открыта по адресу #C000
|
||||
LD HL,#C040 ; адрес начала линии первого экрана
|
||||
LD DE,#C180 ; адрес начала линии второго экрана
|
||||
LD BC,#140 ; длина экрана по горизонтали
|
||||
DI ; запретить прерывания для работы с акселератором
|
||||
LD D,D ; включить акселератор на установку размера блока
|
||||
LD A,0 ; установить размер блока - 256 байт
|
||||
LD A,A ; установить акселератор на копирование
|
||||
; вертикальных линий.
|
||||
LDIR ; копировать
|
||||
LD B,B ; выключить акселератор
|
||||
EI ; включить прерывания
|
||||
|
||||
|
||||
|
||||
Эта часть программы произведет копирование всего содержимого первого экрана на другой.
|
||||
Время исполения составляет примерно 26 милисекунд.
|
||||
|
||||
Дополнительные функции акселератора (AND, OR, XOR) работают таким же образом.
|
||||
Для выполнения логических функций используются команды XOR (HL); OR (HL); AND (HL).
|
||||
|
||||
Пример кодирования блока в 256 байт.
|
||||
|
||||
LD HL,ADRES_1
|
||||
LD DE,XOR_DAT
|
||||
DI
|
||||
LD D,D
|
||||
LD A,0 ; число байт, которые надо закодировать
|
||||
LD L,L
|
||||
LD A,(DE) ; взять блок данных в ОЗУ акселератора
|
||||
XOR (HL) ; произвести операцию XOR с данными акселератора
|
||||
LD (HL),A ; запомнить в ОЗУ результат операции
|
||||
LD B,B
|
||||
EI
|
||||
|
||||
|
||||
Скорость работы акселератора ограничивается только физической
|
||||
скоростью работы основного ОЗУ. Определить примерное время работы команды с
|
||||
акселератором можно по такой формуле:
|
||||
|
||||
Время работы = время работы команды без акселератора + время работы
|
||||
акселератора
|
||||
|
||||
Время работы акселератора = число пересылаемых байт /7 микросекунд
|
||||
|
||||
Во время работы акселератора необходимо отключать прерывания, так как в этот момент
|
||||
изменяется система команд процессора и программа на прерывании не сможет работать корректно.
|
||||
@@ -0,0 +1,244 @@
|
||||
Функции BIOS v2.12
|
||||
Вызов функций BIOS осуществляется из ассемблерного кода.
Номер функции задается в регистре C процессора. В остальные регистры, при необходимости, загружаются входные параметры функции. После исполнения функции происходит возврат в программу, из которой произошел вызов функции. Установленный флаг CF (CF=1) означает, что работа функции произошла с ошибкой. В некоторых регистрах передаются выходные параметры.
Ниже приведены таблицы входных и выходных параметров для каждой функции:
|
||||
HYPERLINK "" \l "t01" Функции работы с памятью
|
||||
HYPERLINK "" \l "t04" Функции управления 'железом'
|
||||
HYPERLINK "" \l "t06" Функции управления окнами и режимами экрана
|
||||
HYPERLINK "" \l "t07" Функции вывода текста на экран
|
||||
HYPERLINK "" \l "t08" Графические функции
|
||||
HYPERLINK "" \l "t11" Функции работы с жесткими дисками и дисководами
|
||||
При работе функций BIOS необходимо что бы стек находился в области 8000h..0BFFFh, так как часть функций использует переключение страниц PAGE1 и PAGE3.
Вызов функций BIOS возможен в различных конфигурациях компьютера Sprinter.
Конфигурация Spectrum: вызов функций BIOS осуществляется через 3D13h. При этом работают и все функции TR-DOS.
Конфигурации Sprinter: вызов функций BIOS осуществляется через RST 18h при подключенном системном ПЗУ.
Для постоянного подключения системного ПЗУ можно воспользоваться такой последовательностью команд:
|
||||
|
||||
LD A,0
|
||||
OUT (07Ch),A
|
||||
После ее исполнения в 0-м окне Z80 будет включено ПЗУ BIOSа и программа может вызывать функции BIOSа через RST 18h.
Отключение ПЗУ BIOSа из нулевого окна Z80 производится следующей последовательностью команд:
|
||||
|
||||
LD A,0
|
||||
OUT (03Ch),A
|
||||
При необходимости, функции BIOSа могут быть вызваны программой, находящейся в ОЗУ непосредственно в нулевом окне Z80. Для этого надо установить в адресе 0008h следующий код:
|
||||
|
||||
ADDRESS_0008h:
|
||||
PUSH AF
|
||||
LD A,0
|
||||
OUT (7Ch),A
|
||||
POP AF
|
||||
RET
|
||||
После этого BIOS можно вызывать командой RST 8. (Функции TR-DOS, так же как и в случае RST 18 остаются недоступны.) Вызывая программы таким образом, через RST 8, следует помнить что адреса 3FFFh..0000h после входа в BIOS будут содержать код ПЗУ, поэтому, если фунция использует данные в ОЗУ, они должны находиться в других адресах.
Оптимизация программы для RST 8 недопустима, так как в ПЗУ, для обратного переключения, стоит такая же программа, только порт 3Ch для отключения ПЗУ BIOSа.
Вызов функций BIOS в exe-файлах, вызываемых с помощью операционной системы Estex, производится командой RST 8. Необходимая программа в адресе 0008h уже имеется в блоке кода ОС Estex.
|
||||
Функции работы с памятью
|
||||
0C0h (192) EMM_FN0 Определение объемов ОЗУ
|
||||
Значение регистров на входе:
C=0C0h
|
||||
Значение регистров на выходе:
HL - общий объем ОЗУ в страницах по 16k
BC - объем свободного ОЗУ в страницах по 16k
|
||||
0C1h (193) EMM_FN1 Инициализация распределения памяти.
Стирается вся информация о выделенных ранее блоках ОЗУ.
Блоки с системной информацией и первые 256K ОЗУ объявляются занятыми.
|
||||
Значение регистров на входе:
C=0C1h
|
||||
Значение регистров на выходе:
нет
|
||||
0C2h (194) EMM_FN2 Выделение блока ОЗУ
|
||||
Значение регистров на входе:
C=0C2h
B - число запрашиваемых страниц
|
||||
Значение регистров на выходе:
CF=0 - нормальное завершение - A - идентификатор блока
CF=1 - ошибка - A=1 - не хватает памяти
|
||||
0C3h (195) EMM_FN3 Освободить блок ОЗУ
|
||||
Значение регистров на входе:
C=0C3h
A - идентификатор блока
|
||||
Значение регистров на выходе:
CF=0 - нормальное завершение
C - неправильный идентификатор
идентификатор не всегда отслеживается правильно
|
||||
0C4h (196) EMM_FN4 Получить физический номер страницы из блока памяти
|
||||
Значение регистров на входе:
C=0C4h
A - идентификатор блока
B - логическая номер страницы в блоке
|
||||
Значение регистров на выходе:
CF=0 - A - логический номер страницы
CF=1 - ошибка:
A=0 - блок не существует
A=255 - запрашиваемый номер страницы слишком велик
|
||||
0C5h (197) EMM_FN5 Получить список физических страниц блока
|
||||
Значение регистров на входе:
C=0C5h
A - идентификатор блока
HL - буфер 256 байт для размещения списка страниц
|
||||
Значение регистров на выходе:
CF=0 - нормальное завершение:
B - число страниц в блоке
HL - тот же адрес буфера, в буфере список физических страниц по порядку, заканчивающийся байтом 0FFh
CF=1 - неверный идентификатор блока; старая информация в буфере может быть затерта
|
||||
0C6h (198) EMM_FN6 Получение адресов портов окон
HYPERLINK "" \l "02" примечание по использованию
|
||||
Значение регистров на входе:
C=0C6h
A - номер окна процессора - 0,1,2 или 3
|
||||
Значение регистров на выходе:
CF=0 - нормальное завершение
C - 8-битный адрес порта окна
B - физический номер подключенной в окно страницы
CF=1 - ошибка - неверный номер окна
|
||||
0C7h (199) EMM_FN7 Получить номер следующей страницы блока
HYPERLINK "" \l "03" примечание по использованию
|
||||
Значение регистров на входе:
C=0C7h
A - физическая страница
|
||||
Значение регистров на выходе:
CF=0 - нормальное завершение
A - следуюшая физическая страница блока
A=0FFh - индицирует конец блока
CF=1 - ошибка - страница не принадлежит никакому блоку. фактически, это означает, что она свободна.
|
||||
09Eh (158) EMM_FN8 Слияние блоков
|
||||
Значение регистров на входе:
A - идентификатор блока 1
B - идентификатор блока 2
|
||||
Значение регистров на выходе:
CF=0 - нормальное завершение
A - идентификатор объединенного блока
CF=1 - ошибка - неверный идентификатор блока
|
||||
09Dh (157) EMM_FN9 Разделение блока
|
||||
Значение регистров на входе:
C=09Dh
A - идентификатор блока
B - новая длина блока
|
||||
Значение регистров на выходе:
CF=0 - нормальное завершение
A - идентификатор блока результата
B - идентификатор блока остатка
CF=1 - ошибка - неверный идентификатор блока
|
||||
Функции управления 'железом'
|
||||
0EFh (239) FN_VERSION Выдача информации о версии BIOSа и железа.
|
||||
Значение регистров на входе:
C=0EFh
HL - буфер, куда будет помещена ASCII строка с несколькими полями, номером версии BIOS и названием модели компьютера. Конец строки отмечен двойным нулем.Значение регистров на выходе:
CF=0 - нормальное завершение
HL - тот же буфер с записанной строкой.
DE - версия BIOSа
BC - версия железа HYPERLINK "" \l "04" подробности ниже
A - количество полей в буфере (в данный момент - 2)
Первое поле - версия BIOS.
Второе - название модели компьютера.
CF=1 - ошибка - Очень старая версия,
не имеющая данной функции
|
||||
0F2h (242) FN_SICF=0 Установка синхронизации, очистка страницы режима экрана
|
||||
Значение регистров на входе:
C=0F2h
A - режим синхронизации
|
||||
Значение регистров на выходе:
CF=0 - нормальное завершение
CF=1 - неверный номер режима синхронизации
|
||||
0F5h (245) CMOS_TEST Проверить наличие CMOS
HYPERLINK "" \l "08" комментарий
|
||||
Значение регистров на входе:
C=0F5h
|
||||
Значение регистров на выходе:
CF=0 - часы есть
CF=1 - часов нет
|
||||
0F6h (246) CMOS_RD Читать из регистра CMOS
HYPERLINK "" \l "08" комментарий
|
||||
Значение регистров на входе:
C=0F6h
D - номер регистра CMOS
|
||||
Значение регистров на выходе:
A - считанные данные
CF=0 - часы есть
CF=1 - часов нет
|
||||
0F7h (247) CMOS_WR Писать в регистр CMOS
HYPERLINK "" \l "08" комментарий
|
||||
Значение регистров на входе:
C=0F7h
D - номер регистра CMOS
A - записываемые данные
|
||||
Значение регистров на выходе:
CF=0 - часы есть
CF=1 - часов нет
|
||||
08Fh (143) FN_TURBO Функция управления турбо режимом.
HYPERLINK "" \l "09" комментарий
|
||||
Значение регистров на входе:
C=08Fh
A - режим турбо: 2 - off, 3 - on
|
||||
Значение регистров на выходе:
CF=0 - нормальное завершение
CF=1 - неверный режим турбо
|
||||
Функции управления окнами и режимами экрана
|
||||
0B0h (176) WIN_OPEN Функция открытия окна.
|
||||
Значение регистров на входе:
C=0B0h
IX - HYPERLINK "" \l "10" описатель окна
E - флаги окна:
бит 0 указывает какую страницу режима включать после исполнения функции;
бит 4 указывает на какой странице режима открывать окно Значение регистров на выходе:
CF=0 - нормальное завершение:
A - HYPERLINK "" \l "17" идентификатор окна
CF=1 - ошибка слишком много окон
|
||||
0B1h (177) WIN_CLOSE закрытие окна
|
||||
Значение регистров на входе:
C=0B1h
A - идентификатор окна
|
||||
Значение регистров на выходе:
CF=0 - успешное завершение
CF=1 - ошибка - неверный идентификатор
Окно с номером 0 никогда не закрывается и попытка закрытия приводит к ошибке
|
||||
0B2h (178) WIN_COPY_WIN Копирование данных текстового окна в память (запоминание окна)
При работе этой функции через RST 18h или RST 8, обязателен запрет прерываний, так как функция пользуется стеком для ускорения своей работы.
|
||||
Значение регистров на входе:
C=0B2h
A - HYPERLINK "" \l "17" идентификатор глобального окна
H - размер окна в символах по вертикали
L - размер окна в символах по горизонтали
D - вертикальное положение окна в глобальном окне
E - горизонтальное положение окна в глобальном окне
IX - адрес буфера для запоминания данных
адрес буфера указывается для окна 0C000h если адрес указан с 8000h, номер страницы буфера не действителен ниже 8000h адрес указывать нельзя
A' - страница буфера для данных окна
эта страница должна принадлежать программе
|
||||
Значение регистров на выходе:
CF=0 - нормальное завершение
CF=1 - ошибка - неверный идентификатор окна
|
||||
0B3h (179) WIN_RESTORE_WIN Копирование из памяти в текстовое окно (восстановление окна)
При работе этой функции через RST 18h или RST 8, обязателен запрет прерываний, так как функция пользуется стеком для ускорения своей работы.
|
||||
Значение регистров на входе:
C=0B2h
A - HYPERLINK "" \l "17" идентификатор глобального окна
H - размер окна в символах по вертикали
L - размер окна в символах по горизонтали
D - вертикальное положение окна в глобальном окне
E - горизонтальное положение окна в глобальном окне
IX - адрес буфера для запоминания данных
адрес буфера указывается для окна 0C000h если адрес указан с 8000h, номер страницы буфера не действителен ниже 8000h адрес указывать нельзя
A' - страница буфера для данных окна
эта страница должна принадлежать программе
|
||||
Значение регистров на выходе:
CF=0 - нормальное завершение
CF=1 - ошибка - неверный идентификатор окна
|
||||
0B4h (180) WIN_GET_SYM Взять символ с экрана
|
||||
Значение регистров на входе:
C=0B4h
A - идентификатор окна
DE - положение символа в окне:
D - вертикаль, E - горизонталь
|
||||
Значение регистров на выходе:
CF=0 - нормальное завершение
L - символ, H - атрибут,
B - знакогенератор
CF=1 - ошибка неверный идентификатор окна
|
||||
0B5h (181) WIN_PUT_SYM Положить символ на экран
|
||||
Значение регистров на входе:
C=0B5h
A - идентификатор окна
DE - положение символа в окне:
D - вертикаль, E - горизонталь
L - символ, H - атрибут символа
B - знакогенератор
|
||||
Значение регистров на выходе:
CF=0 - нормальное завершение
CF=1 - ошибка неверный идентификатор окна
|
||||
0B6h (182) WIN_SET_ZG установка знакогенератора
|
||||
Значение регистров на входе:
C=0B6h
A - системный номер знакогенератора
DE - указатель на 2Kb блок данных знакогенератора
|
||||
Значение регистров на выходе:
CF=0 - нормальное завершение
CF=1 - ошибка (старая версия, нет функции)
|
||||
0B7h (183) WIN_MOVE_WIN Перемещение окна
При работе этой функции через RST 18h или RST 8, обязателен запрет прерываний, так как функция пользуется стеком для ускорения своей работы.
|
||||
Значение регистров на входе:
C=0B7h
A - HYPERLINK "" \l "17" идентификатор глобального окна
H - размер HYPERLINK "" \l "15" локального окна по вертикали в символах
L - размер локального окна по горизонтали в символах
D - положение локального окна по вертикали в символах
E - положение локального окна по горизонтали в символах
IX - новое положение локального окна (подобно DE)
|
||||
Значение регистров на выходе:
CF=0 - нормальное завершение
CF=1 - ошибка - неверный идентификатор окна
|
||||
0B8h (184) WIN_GET_ZG Получение знакогенератора
|
||||
Значение регистров на входе:
C=0B8h
DE - адрес, куда будет загружено 2kb знакогенератора
|
||||
Значение регистров на выходе:
CF=0 - нормальное завершение
CF=1 - ошибка (старая версия, нет функции)
|
||||
Функции вывода текста на экран
|
||||
081h (129) LP_PRINT_ALL Печать символов с атрибутом
На экран выводится строка из B одинаковых символов
|
||||
Значение регистров на входе:
C=081h
A - символ
E - атрибут
B - число выводимых символов
регистры HL,IX - сохраняются
|
||||
Значение регистров на выходе:
CF=0 - всегда
|
||||
082h (131) LP_PRINT_SYM Вывод символов на экран без атрибута
На экран выводится строка из B одинаковых символов атрибут остается тот, который был на экране
|
||||
Значение регистров на входе:
C=082h
A - символ
B - число выводимых символов
регистры HL,IX - сохраняются
|
||||
Значение регистров на выходе:
CF=0 - всегда
|
||||
083h (131) LP_PRINT_ATR печать атрибутов
На экран выводится строка из B одинаковых атрибутов.
Символы не меняются.
|
||||
Значение регистров на входе:
C=083h
E - атрибут
B - число выводимых символов
регистры HL,IX - сохраняются
|
||||
Значение регистров на выходе:
CF=0 - всегда
|
||||
084h (132) LP_SET_PLACE Установка текущего знакоместа в окне
Позиция печати устанавливается в соответстии с регистром DE
|
||||
Значение регистров на входе:
C=084h
E - положение символа по горизонтали
D - номер символа по вертикали
Превышение границ приводит не к ошибке, а к переустановке сначала, за вычетом полного размера окна
|
||||
Значение регистров на выходе:
CF=0 - всегда
|
||||
085h (133) LP_PRINT_LN Вывод строки символов на экран с текущего знакоместа
|
||||
Значение регистров на входе:
C=085h
HL - адрес строки должен быть между 04000h и 0BFFFh
E - атрибут, с которым будет выведена строка
B - длина выводимой строки
|
||||
Значение регистров на выходе:
CF=0 - всегда
|
||||
086h (134) LP_PRINT_LN2 Вывод строки символов на экран без атрибутов
|
||||
Значение регистров на входе:
C=086h
HL - адрес строки должен быть между 04000h и 0BFFFh
B - длина выводимой строки
|
||||
Значение регистров на выходе:
CF=0 - всегда
|
||||
087h (135) LP_PRINT_LN3 Вывод строки символов до разделителя
После разделителя выводятся пробелы, что бы вывести B символов
|
||||
Значение регистров на входе:
C=087h
HL - адрес строки должен быть между 04000h и 0BFFFh
E - атрибут, с которым будет выведена строка
B - длина выводимой строки
D - символ-разделитель, указывающий конец строки
|
||||
Значение регистров на выходе:
CF=0 - всегда
|
||||
088h (136) LP_PRINT_LN4 Вывод строки символов до разделителя, без атрибутов
символы из выводятся на экран, пока не встретится символ равный D, далее печатаются пробелы, как дополнение строки до B символов. Атрибуты не изменяются.
|
||||
Значение регистров на входе:
C=088h
HL - адрес строки должен быть между 04000h и 0BFFFh
B - длина выводимой строки
D - символ-разделитель, указывающий конец строки
|
||||
Значение регистров на выходе:
CF=0 - всегда
|
||||
089h (137) LP_CLS_WIN Очистка экрана
Выполнение произворится выводом пробелов с заданным атрибутом
|
||||
Значение регистров на входе:
C=089h
DE положение HYPERLINK "" \l "15" локального окна
H - размер в символах локального окна по вертикали
L - размер в символах локального окна по горизонтали
B - атрибут очистки
|
||||
Значение регистров на выходе:
CF=0 - всегда
|
||||
08Ah (138) LP_SCROLL_UD Скроллинг части глобального окна вверх/вниз
Скроллируются полные строки глобального окна
|
||||
Значение регистров на входе:
C=08Ah
B - тип скроллинга: 1 - вверх; 2 - вниз
D - начальная строка скроллинга
E - число скроллируемых строк
|
||||
Значение регистров на выходе:
CF=0 - всегда
|
||||
08Bh (139) LP_PRINT_LN5 Вывод строки символов на экран до разделителя
После разделителя вывод останавливается
|
||||
Значение регистров на входе:
HL - адрес строки должен быть между 04000h и 0BFFFh
E - атрибут, с которым будет выведена строка
B - максимальная длина выводимой строки
D - символ-разделитель, указывающий конец строки
|
||||
Значение регистров на выходе:
CF=0 - всегда
|
||||
08Ch (140) LP_PRINT_LN6 Вывод строки символов на экран до разделителя без атрибутов
После разделителя вывод останавливается.
|
||||
Значение регистров на входе:
C=08Ch
HL - адрес строки должен быть между 04000h и 0BFFFh
B - максимальная длина выводимой строки
D - символ-разделитель, указывающий конец строки
|
||||
Значение регистров на выходе:
CF=0 - всегда
|
||||
08Dh (141) LP_CLS_WIN2 Очистка экрана с указанием символа заполнения
|
||||
Значение регистров на входе:
C=08Dh
DE положение HYPERLINK "" \l "15" локального окна
H - размер в символах локального окна по вертикали
L - размер в символах локального окна по горизонтали
B - атрибут очистки
A - символ очистки
|
||||
Значение регистров на выходе:
CF=0 - всегда
|
||||
08Eh (142) LP_GET_PLACE Получить текущее положение вывода на экран
|
||||
Значение регистров на входе:
C=08Eh
|
||||
Значение регистров на выходе:
CF=0 - всегда
DE - координаты, в которых будет напечатан
следующий символ:
D - вертикаль, E - горизонталь
|
||||
Графические функции
|
||||
0A1h (161) PIC_POINT Установить точку
|
||||
Значение регистров на входе:
C=0A1h
DE - координата по вертикали (пиксели)
HL - координата по горизонтали (пиксели)
Координаты считаются от верхнего левого угла экрана
A - идентификатор окна
B - цвет точки
|
||||
Значение регистров на выходе:
CF=0 - нормальное завершение
CF=1 - неверный идентификатор окна
|
||||
0A4h (164) PIC_SET_PAL Установка палитры
|
||||
Значение регистров на входе:
C=0A4h
HL - HYPERLINK "" \l "18" данные палитры
E - номер начального цвета
D - количество устанавливаемых цветов
B - маска при установке палитры.
Для нормального режима должнa быть 0FFh
A - номер палитры 0..15; от 8 до 15 - резервные
|
||||
Значение регистров на выходе:
CF=0 - всегда
|
||||
0A6h (166) SET_PAL_INIT Установка внутренней палитры
|
||||
Значение регистров на входе:
C=0A6h
A - страница палитры
B - номер палитры:
B=2 - установка спектрумовской палитры
B=1 - установка графической плаитры
|
||||
Значение регистров на выходе:
CF=0 - нормальное завершение
CF=1 - неверный номер палитры
|
||||
Функции работы с жесткими дисками и дисководами
|
||||
50h,52h,53h (80,82,83) Зарезервированы
|
||||
Значение регистров на входе:
нет
|
||||
Значение регистров на выходе:
нет
|
||||
51h (81) DRV_RESET Сброс контроллера и настройка на диск
|
||||
Значение регистров на входе:
C=51h
A - номер и HYPERLINK "" \l "22" тип устройства
бит 7..4 - тип устройства:
#0x - FDD
#6x - RAM-DISK
#8x - HDD
#Cx - CD-ROM
бит 3..0 - номер устройства
|
||||
Значение регистров на выходе:
CF=0 - нормальное завершение
CF=1 - ошибка, нет диска или нет устройства
|
||||
54h (84) DRV_VERIFY Проверка секторов
Проверка внутренняя на совпадение ECC
|
||||
Значение регистров на входе:
C=54h
A - номер и HYPERLINK "" \l "22" тип устройства (см. выше)
HL:IX - номер сектора (IX - младшая часть номера сектора)
B - количество проверяемых секторов
|
||||
Значение регистров на выходе:
CF=0 - нормальное завершение
CF=1 - проверка с ошибкой
|
||||
55h (85) DRV_READ Чтение с устройства
|
||||
Значение регистров на входе:
C=55h
A - номер и HYPERLINK "" \l "22" тип устройства (см. выше)
HL:IX - номер сектора (IX - младшая часть номера сектора)
B - количество секторов
DE - адрес буфера для данных
|
||||
Значение регистров на выходе:
CF=0 - нормальное завершение
CF=1 - ошибка чтения
HL:IX - номер сектора + кол-во прочитанных секторов
DE - адрес буфера для данных + (кол-во прочитанных секторов * размер сектора)
|
||||
56h (86) DRV_WRITE Запись на устройства
|
||||
Значение регистров на входе:
C=56h
A - номер и HYPERLINK "" \l "22" тип устройства (см. выше)
HL:IX - номер сектора (IX - младшая часть номера сектора)
B - количество секторов
DE - адрес буфера данных для записи
|
||||
Значение регистров на выходе:
CF=0 - нормальное завершение
CF=1 - ошибка записи
HL:IX - номер сектора + кол-во прочитанных секторов
DE - адрес буфера для данных + (кол-во прочитанных секторов * размер сектора)
|
||||
57h (87) DRV_DETECT Определение параметров устройства
|
||||
Значение регистров на входе:
C=57h
A - номер и HYPERLINK "" \l "22" тип устройства (см. выше)
|
||||
Значение регистров на выходе:
CF=0 - нормальное завершение
A - bit7=0 диск 720Кb
Bit7=1 диск 1.44Mb
CF=1 - нет устройства или нет носителя
|
||||
58h (88) DRV_GET_PAR Получить параметры носителя
|
||||
Значение регистров на входе:
C=58h
A - номер и HYPERLINK "" \l "22" тип устройства (см. выше)
|
||||
Значение регистров на выходе:
CF=0 - нормальное завершение
L - число секторов
H - число головок
DE - количество цилиндров
если HL=DE=0FFFFh - устройства нет
IX - размер сектора в байтах
B - доп. параметры для дискет:
бит7 - тип 1.44/720
CF=1 - нет устройства
|
||||
59h (89) DRV_SET_PAR Установить параметры носителя
|
||||
Значение регистров на входе:
A - номер и HYPERLINK "" \l "22" тип устройства (см. выше)
L - число секторов
H - число головок
DE - количество цилиндров
IX - размер сектора в байтах
B - доп. параметры для дискет
бит7 - тип 1.44/720
|
||||
Значение регистров на выходе:
CF=0 - нормальное завершение
|
||||
5Ah (90) EXT_VERSION Номер версии дисковой спецификации.
|
||||
Значение регистров на входе:
C=5Ah
|
||||
Значение регистров на выходе:
CF=0 - нормальное завершение
D - версия
E - модификация
CF=1 - ошибка
|
||||
5Fh (95) DRV_LIST Список дисковых устройств
|
||||
Значение регистров на входе:
C=5Fh
IX - буфер для списка устройств
|
||||
Значение регистров на выходе:
CF=0 - нормальное завершение
В буфере список дисков в формате:
IX+0 - размер заполненого буфера
IX+1 - кол-во устройств FDD
IX+2 - кол-во устройств HDD
IX+3 - кол-во устройств CD DRIVE
IX+4 - #00 - конец списка, иначе кол-во устройств нового типа
|
||||
Примечания и комментарии.
Примечание по использованию функции получения адресов портов окон (0C6h).
Cледует хотя бы один раз вызвать эти функции и сравнить адреса портов с теми, что используются в программе и, если они не совпадают, выдать соответствующее предупреждение. В данный момент эти порты таковы: PAGE0=82h, PAGE1=0A2h, PAGE2=0C2h, PAGE3=0E2h
Примечание по использованию функции EMM_FN7 (0C7h).
Информация о распределении памяти хранится в виде RAM Allocation Table, похожей на дисковый FAT. Поэтому нахождение физического номера следующей страницы по предыдущему физическому номеру происходит значительно быстрее, чем поиск по увеличенному на единицу логическому номеру.
Комментарий к функции FN_VERSION (0EFh).
Значения регистра BC на выходе и соответствующая ему конфигурация
|
||||
|
||||
BC=FFFF - Не определено
|
||||
BC=FFFE - Конфигурация Spectrum, режим Sprinter ZX
|
||||
BC=FFFD - Конфигурация Sprinter
|
||||
BC=FFFC - Зарезервировано
|
||||
BC=FFFB - Зарезервировано
|
||||
BC=FFFA - Зарезервировано
|
||||
BC=FFF9 - Зарезервировано
|
||||
Иные значения BC - новые прошивки.
Комментарий к функциям CMOS (0F5h-0F7h)
Функции CMOS_RD, CMOS_WR, CMOS_TEST работают всегда. Если в машине нет микросхемы CMOS, то эмулируется ее память. Наличие микросхемы определяется функцией CMOS_TEST.
Комментарий к функции FN_TURBO (08Fh)
Переключение режима турбо может не произойти, если прошивка не поддерживает это переключение. При этом ошибки не происходит. Так же, переключение режима TURBO блокируется кнопкой "Turbo" в режиме Turbo-OFF
Комментарий к функциям печати текста.
Эти функции работают с текущим окном, которым всегда является последнее открытое окно. К графическому экрану функции печати текста не применимы.
Описатель окна.
Для открытия окон используется 32-хбайтовый описатель окна (дескриптор), адрес которого указывается в регистре IX.
|
||||
|
||||
IX - 32-хбайтовый описатель окна
|
||||
(IX+0) - горизонтальный размер окна в знакоместах
|
||||
(IX+1) - вертикальный размер в знакоместах
|
||||
(IX+2) - положение окна по горизонтали на экране в знакоместах
|
||||
(IX+3) - положение окна по вертикали на экране в знакоместах
|
||||
(IX+4) - режим знакоместа
|
||||
bit4=1 - text_mode bit4=0 - graf_mode
|
||||
bit5=0 - 16, bit5=1 - 8 точек в знакоместе
|
||||
graf_mode bit3..0 - не существенны
|
||||
bit7..6 - номер палитры
|
||||
text_mode bit7..6,3..0 - номер знакогенератора
|
||||
исключение: bit7..6=B"11" - бордер
|
||||
(IX+5) - дополнительный режим знакоместа
|
||||
bit0=1 - указывает на включение спектрумовской
|
||||
адресации экрана
|
||||
(IX+6) - положение по X в поле графики (по знакоместам)
|
||||
(IX+7) - положение по Y в поле графики (по знакоместам)
|
||||
разъяснения о положении в поле графики - ниже
|
||||
(IX+8..31) - зарезервировано (переменные окна)
|
||||
в этих байтах должны быть нули
|
||||
При открытии окна описатель копируется в системную страницу ОЗУ и программа может не сохранять его. Что бы описатель окна не потерялся, программа получает идентификатор окна. Он же идентификатор глобального окна. В функциях запоминания, восстановления, перемещения, а так же функциях стирания, скроллинга и т.п. идентификатор окна определяет область экрана, относительно которой производится работа с локальными окнами. Подразумеваются локальные окна в смысле "окно в окне". Идентификатор окна определяет глобальное окно, отнoсительно которого адресуются локальные. В части функций глобальное окно определяется по умолчанию, как последнее, с которым производились действия с явным указанием идентификатора.
В данный момент BIOS хранит только один описатель окна - последний, с которым была произведена функция открытия. Идентификатор окна выставляется в 0. В дальнейшем планитруется разработка функций со множеством окон, потому, во избежание неприятностей в будущем, при работе с окнами, программисту следует запоминать идентификатор окна и пользоваться этим значением при работе с ним.
Типы стандартных окон:
|
||||
|
||||
0 - окно 32x24 в формате ZX Spectrum
|
||||
1 - текстовое окно 64x24
|
||||
2 - текстовое окно 40x32
|
||||
3 - текстовое окно 80x32
|
||||
4 - окно в формате ZX Spectrum, HL - положение окна на экране в знакоместах
|
||||
5 - текстовое окно 64x24, HL - положение окна на экране в знакоместах
|
||||
6 - текстовое окно 40x32, HL - положение окна на экране в знакоместах
|
||||
7 - текстовое окно 80x32, HL - положение окна на экране в знакоместах
|
||||
8 - графическое окно 0, HL - положение окна на экране
|
||||
9 - графическое окно 1, HL - положение окна на экране
|
||||
Данные палитры должны представлять собой список приблизительно такого вида:
|
||||
|
||||
DB blue1,green1,red1,0
|
||||
DB blue2,green2,red2,0
|
||||
.....................
|
||||
DB blueN,greenN,redN,0
|
||||
N - количество цветов. Значеное равное 0 соответствует 256-ти цветам. При записи в видео-ОЗУ все данные предварительно проходят функцию AND со значением регистра маски - B.
Страницы палитры 0..3 соответствуют графическим режимам. Для вывода в соответствующей палитре нужно задать соответствующее значение bit7..6 в байте HYPERLINK "" \l "19" режима знакоместа
Страницы 4..7 соответствуют текстовому режиму и спектрумовскому режиму. В странице 4 задается цвет PAPER для каждого атрибута. В странице 5 задается цвет INK для каждого атрибута. В странице 6 задается цвет PAPER, которым он будет моргать в режиме FLASH В странице 7 задается цвет INK, которым он будет моргать в режиме FLASH. Таким образом, для каждого из 256-ти атрибутов задается четыре цвета если цвета 4,5 совпадают с цветами 6,7 то режим FLASH оказывается отключенным. Для его включения в спектрумовском режиме надо поменять местами цвета 6 и 7. Если надо включить FLASH в режим IBM-CGA, следует установить цвета 6 и 7 одинаковыми и равными цвету 4. По сути режим FLASH всегда включен, и на экране постоянно меняются цвета PAPER с 4-го на 6-й, а цвета INK с 5 на 7-й. Если эти пары цветов для атрибута знакоместа устанавливаются одинаковыми, то FLASH в этом месте не виден.
Комментарий к функциям работы с устройствами хранения информации.
В этих функциях в регистре A обычно задается номер и тип устройства:
|
||||
|
||||
бит 0..3 - номер устройства
|
||||
бит 4..7 - тип устройства:
|
||||
0 - дисковод
|
||||
6 - ram-disk
|
||||
8 - HDD
|
||||
C - CD-ROM
|
||||
остальные номера не используются
|
||||
А так же задаются: старшая часть номера сектора в регисте HL, младшая часть номера сектора в регистре IX.
|
||||
@@ -0,0 +1,72 @@
|
||||
Глюки и недостатки ДОС (Биоса)
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Дата последнего редактирования: 27.09.2004
|
||||
|
||||
|
||||
|
||||
1. Функция "Сохранить текущий путь" (1Eh) имеет недостаток:
|
||||
а) При сохранении корневого пути запоминает символ "\".
|
||||
б) Но в то же время, при сохранении не корневого пути,
|
||||
не ставит в конце строки символ "\".
|
||||
У MS-DOS такой же глюк, но это не меняет "погоду" ;). Нужно привести
|
||||
к какому-то одному формату.
|
||||
|
||||
2. Функция "Закрыть файл" (12h) не закрывает файл, если он расположен
|
||||
(был открыт/создан) не в тек. пути. Приходится принудительно устанав-
|
||||
ливать диск и путь расположения закрываемого файла и только после этого
|
||||
его закрывать ;(. Это происходит из-за того, что DSS текущей реализации
|
||||
позволяет коppектно pаботать только в пpеделах одного диска. Т.е. пеpед
|
||||
закpытием файла, текущим диском должен быть тот, где этот файл находится.
|
||||
Важное замечание: Доработать DSS, чтобы система, в определенных случаях,
|
||||
не трапалась при переполнении макс. числа (9) открытых дескрипторов.
|
||||
|
||||
3. Функция "Удалить файл" (0Eh) имеет недостаток:
|
||||
Удаляет файл в тек. каталоге, при формате записи "prog.bin", но не уда-
|
||||
ляет файл, указанный с диском и путем расположения, например:
|
||||
"a:\test\prog.bin".
|
||||
|
||||
4. Функции опроса клавиатуры (30h,31h,..) не выдают признак (7,6 биты
|
||||
регистра "B") нажатия "Shift" для клавиш "Home","End","PgUp","PgDn" и
|
||||
клавиш управления курсором. У спец. клавиш, признак нажатия "Shift"
|
||||
(биты 7,6) выдается только для F1..F12.
|
||||
|
||||
5. Не происходит скроллинг экрана, когда идет "переполнение" последней 32-й
|
||||
строки и 80-й символ - не код завершения строки. Происходит просто пере-
|
||||
ход в начало первой строки экрана, с продолжением вывода строки (с нало-
|
||||
жением на старые данные экрана).
|
||||
|
||||
6. Estex не корректно работает с VFAT (которая фактически и используется в
|
||||
Виндах). Трабл в следующем. Если в имени файла присутствует хотя бы одна
|
||||
строчная (маленькая) буква, то для такого имени Винда создает в каталоге
|
||||
две записи: первая для длинного имени, вторая - имя формата 8.3. Т.е. на
|
||||
одно имя файла в каталоге имеется две записи. Если файл с таким именем
|
||||
удалить в Estex, то будет удалено (помечено удаленным) только вторая за-
|
||||
пись файла, имеющая формат 8.3, а первая запись останется не удаленной.
|
||||
p.s. Эта ошибка легко исправляется нортоновским "ndd" или др. утилитой
|
||||
проверки логич. структуры диска.
|
||||
Если имя файла состоит только из одних прописных (больших) букв, то Винда
|
||||
создает в каталоге лишь одну запись для имени файла (как MS-DOS до v6.22
|
||||
включительно). Такой файл корректно удаляется Estex.
|
||||
Вывод: Для корректного удаления файлов под ОС Спринтера, их имена должны
|
||||
содержать только прописные буквы.
|
||||
|
||||
7. При включенном в Биосе пункте "System Disk: 1-st FDD" и при отсутствии
|
||||
дискеты в дисководе, в некоторых случаях не сбрасывается обращение к дис-
|
||||
ководу.
|
||||
|
||||
8. Нет биосной функции "54h" (DRV_VERIFY) верификации секторов, описанной в
|
||||
документации. Поэтому она всегда возвращает установленный флаг "Carry".
|
||||
|
||||
9. Доработать функцию "32h" (DSS_ECHOKEY), чтобы нормально мигал курсор.
|
||||
|
||||
10. Функции ДОС 0Ah (Create) и 0Bh (Create new file) перед созданием файла
|
||||
не проверяют число уже открытых дескрипторов. При переполнении числа
|
||||
открытых дескрипторов, эти функции все-равно создают запись нового файла
|
||||
в каталоге, хотя и выдают признак ошибки.
|
||||
Эти функции также не отслеживают имя файла на недопустимые символы. Если
|
||||
имя файла содержит недопустимый символ - функции просто "зависают".
|
||||
Такая ситуация с именами файлов может возникнуть например при автомати-
|
||||
ческом создании имен.
|
||||
|
||||
11. ДОС (v1.6) корректно выводит максимум 509 записей каталога.
|
||||
@@ -0,0 +1,204 @@
|
||||
# IM2 Interrupt Handlers — Design Document
|
||||
|
||||
**Status:** РЕАЛИЗАЦИЯ ОТЛОЖЕНА (до пост-релизной версии). Обязательная фича для v2.
|
||||
|
||||
Этот документ собирает всё, что мы знаем о прерываниях Sprinter и план реализации user-задаваемых ISR через Z80 IM 2 mode. Когда возьмёмся за реализацию — читать этот файл, чтобы не повторять research.
|
||||
|
||||
## Зачем нужны прерывания
|
||||
|
||||
- **Timer ISR (50/60 Hz)** — счётчик кадров, плавная анимация без busy-loop, тайминги
|
||||
- **Mouse / keyboard async-обработка** — без polling
|
||||
- **Music playback** — AY-3-8910, COVOX через прерывания
|
||||
- **Real-time games** — input + game logic + render в interrupt-driven архитектуре
|
||||
|
||||
## Hardware-факты (из docs/converted)
|
||||
|
||||
### Sources of vector 0xFF
|
||||
|
||||
| Источник | Detect bit | Частота |
|
||||
|---|---|---|
|
||||
| Frame (screen refresh) | (default if none of below) | 50/60 Hz |
|
||||
| Keyboard | port `0x19` (COM_A) bit 0 | event-driven |
|
||||
| CBL/COVOX (sound) | port `0xFE` bit 7 (sample request) | sample-rate-dependent |
|
||||
| Mouse | — (hardware interrupt not wired) | — |
|
||||
| ISA | другой vector (configurable) | depends |
|
||||
|
||||
Источники:
|
||||
- `docs/converted/Forum.txt:956` — кадровые и клавиатурные прерывания приходят с vector 0xFF; различаются по bit 0 порта 0x19. От мыши прерываний нет
|
||||
- `docs/converted/Forum.txt:758-764` — CBL также vector 0xFF, отличить по bit 7 порта 0xFE
|
||||
- `docs/converted/IvanMak.txt:1086` — `READ_KBD`: IN(0x19), bit 0 = "байт принят"; затем IN(0x18) = data byte; нужно drain FIFO (до 3 байт)
|
||||
- `docs/converted/IvanMak.txt:1471` — ВАЖНОЕ ОГРАНИЧЕНИЕ: vector table + ISR + stack ОБЯЗАНЫ быть в области `0x8000..0xBFFF` (window 2). Иначе BIOS будет отключать прерывания на каждой вызове функции
|
||||
|
||||
### Что DSS делает в своём ISR (предположения, требует verification)
|
||||
|
||||
DSS shell имеет свой IM 2 handler:
|
||||
- Drain'ит keyboard FIFO в свой буфер (читается через ESTEX WAITKEY/SCANKEY)
|
||||
- Возможно обновляет ESTEX SYSTIME ($21) tick counter
|
||||
- Возможно poll'ит mouse (хотя hardware-IRQ от mouse нет — может быть software polling)
|
||||
- Refresh курсора мыши (он же видимый и движется в shell)
|
||||
|
||||
Без chain'инга к DSS:
|
||||
- Сломается клавиатура (ESTEX kbd functions не получат байты)
|
||||
- Может сломаться SYSTIME counter
|
||||
- Может перестать обновляться mouse cursor
|
||||
|
||||
### IM2-трюк
|
||||
|
||||
Стандартная схема для одиночного ISR address:
|
||||
1. Аллоцировать **257-байтный** буфер заполненный одинаковым байтом `H`
|
||||
2. Загрузить `I = H` (например `H=0xA3` → table at `0xA300`, обращения `0xA300..0xA400`)
|
||||
3. При прерывании CPU читает байт по `(I<<8)|v` и следующий
|
||||
4. Если оба байта = `H` → ISR address = `(H<<8)|H` = `HHHH`
|
||||
5. По адресу `HHHH` положить `jp real_isr`
|
||||
|
||||
Поскольку для нас интересен только vector 0xFF: read bytes at `(0xA3FF)` and `(0xA400)`. Если table заполнена H=0xA3 — оба байта читаются как 0xA3. ISR_ADDR = `0xA3A3`. По адресу 0xA3A3 кладём 3-байтовый `jp _trampoline`.
|
||||
|
||||
## Предлагаемый дизайн
|
||||
|
||||
### Public API (libc/include/irq.h)
|
||||
|
||||
```c
|
||||
typedef void (*isr_t)(void);
|
||||
|
||||
int irq_install(isr_t handler); /* 0 OK, -1 error (already installed) */
|
||||
void irq_remove(void);
|
||||
|
||||
/* Convenience macros — wrap DI/EI when modifying volatile globals
|
||||
* shared between main and ISR. */
|
||||
#define IRQ_DISABLE() __asm di __endasm
|
||||
#define IRQ_ENABLE() __asm ei __endasm
|
||||
```
|
||||
|
||||
Пример использования:
|
||||
```c
|
||||
volatile uint16_t ticks = 0;
|
||||
void on_tick(void) { ticks++; }
|
||||
|
||||
int main(void) {
|
||||
irq_install(on_tick);
|
||||
uint16_t start = ticks;
|
||||
while (ticks - start < 50) { /* wait 1s */ }
|
||||
irq_remove();
|
||||
}
|
||||
```
|
||||
|
||||
### Внутренности
|
||||
|
||||
**Аллокация vector page:**
|
||||
- Static buffer 513 байт в `_BSS` (sprinter.lib).
|
||||
- Размер 513 = 256 (выравнивание) + 257 (сама table) — в худшем случае выравнивание тратит 256 байт.
|
||||
- Внутри буфера ищем 256-byte aligned адрес. SDCC может не поддерживать `__attribute__((aligned(256)))` — придётся через ассемблер с `.area _BSS_ALIGNED` и линкер-флаг для выравнивания, или через runtime поиск aligned position.
|
||||
- **Alternative:** заранее линкуем vector page по фиксированному адресу через linker flag `-Wl-b_VECTORS=0xA300` (как у банков). Стабильнее.
|
||||
|
||||
**Trampoline в W2:**
|
||||
- Маленький asm-блок (~50 байт) который:
|
||||
1. `ex af,af'; exx; push ix; push iy` — сохранить ВСЕ регистры
|
||||
2. `in a, (0xE2); push af` — сохранить current W3 page byte
|
||||
3. `in a, (0x19); bit 0, a; jr z, _not_kbd` — keyboard?
|
||||
- keyboard path: chain to DSS old ISR (jp/call to saved address)
|
||||
4. `in a, (0xFE); bit 7, a; jr z, _not_cbl` — CBL? (Phase 2)
|
||||
5. Frame path: `ld hl, (user_handler); ld a, h; or l; jr z, _no_user; call hl_indirect`
|
||||
6. `pop af; out (0xE2), a` — restore W3
|
||||
7. `pop iy; pop ix; exx; ex af,af'; ei; reti`
|
||||
|
||||
**Где живёт trampoline:**
|
||||
- Для `tiny` mode: `_CODE` = W2 → естественно
|
||||
- Для `big` mode: `_CODE` = W2 → естественно
|
||||
- Для `small`/`huge`: `_CODE` = W1, **но trampoline ДОЛЖЕН быть в W2** (W1 может swap'нуться)
|
||||
- **Решение:** новая linker area `_TRAMP_W2` с absolute address в W2 (например 0xBE00). sprinter-cc размещает её через `-Wl-b_TRAMP_W2=0xBE00`. trampoline.s помечает себя `.area _TRAMP_W2`.
|
||||
|
||||
**Chain to DSS:**
|
||||
- В `irq_install`:
|
||||
```asm
|
||||
ld a, i ; A = current vector page high byte
|
||||
ld (old_I), a
|
||||
ld h, a
|
||||
ld l, #0xFF
|
||||
ld a, (hl) ; A = vector_high (= old_I по trick'у)
|
||||
ld d, a
|
||||
ld e, a ; DE = address of DSS's IM2 jp
|
||||
ld hl, (de) ; HL = DSS's old jp target
|
||||
ld (dss_old_isr), hl
|
||||
```
|
||||
- В trampoline keyboard-path:
|
||||
```asm
|
||||
ld hl, (dss_old_isr)
|
||||
push hl
|
||||
ret ; jumps to DSS ISR which ends with EI; RETI
|
||||
```
|
||||
- **Опасность:** DSS's ISR может предполагать что регистры свежие (как только что от CPU) → возможно нужно НЕ saving некоторые регистры до chain'а
|
||||
|
||||
**`irq_remove`:**
|
||||
- DI
|
||||
- Restore I to old value
|
||||
- Restore IM mode (обычно был IM 2 → IM 2; редко IM 1 if shell upgraded)
|
||||
- Free vector page if dynamically allocated
|
||||
- EI
|
||||
|
||||
## Ограничения user handler'а
|
||||
|
||||
User's ISR может:
|
||||
- Читать/писать volatile globals
|
||||
- Делать дешёвые арифметические операции
|
||||
- Менять `g_text_attr` (но не вызывать putch/cputs)
|
||||
|
||||
User's ISR НЕ должен:
|
||||
- Вызывать `printf` / `puts` / `malloc` / любые ESTEX/BIOS функции — они могут не быть re-entrant
|
||||
- Использовать `gfx_*` — они swap'ят W3, наш trampoline уже сохраняет порт но если внутри ISR будет повторный swap то trampoline не сможет восстановить
|
||||
- Запускать accelerator (LD D,D и т.д.) — accel меняет систему команд CPU
|
||||
- Долго работать — ISR должен быть быстрым (< 1ms), иначе пропустим следующий
|
||||
|
||||
## Открытые вопросы
|
||||
|
||||
1. **Что именно DSS делает в своём ISR** — disassemble DSS или вызвать его с инструментировкой
|
||||
2. **`ld a, i` semantics** на Sprinter — на Z80 P/V flag отражает IFF2; нужно для save/restore
|
||||
3. **Alignment vector page** — найти SDCC-совместимый способ: либо linker absolute area, либо runtime align внутри 513-байтного буфера
|
||||
4. **Re-entrancy ESTEX из main во время ISR**:
|
||||
- Если main вызывает ESTEX и в это время приходит interrupt → DSS chain'инг должен работать корректно (DSS уже спроектирован под IM 2)
|
||||
- Если main вызывает BIOS (RST 8) — это отключает прерывания на время вызова, OK
|
||||
4. **Memory budget** — vector page 513 байт в BSS уменьшит heap. В tiny mode с heap ~10KB это ~5%. OK.
|
||||
|
||||
## Phase 1 acceptance
|
||||
|
||||
- `examples/irq_test/` — счётчик тиков растёт с 50 Hz
|
||||
- Клавиатура продолжает работать через DSS chain (можно прервать тест клавишей)
|
||||
- Корректный exit — DSS shell получает управление обратно без crash
|
||||
- Работает во всех memory modes (tiny, small, big, huge)
|
||||
- Memory note `memory/sprinter_im2_isr.md` с описанием ABI и ограничений
|
||||
|
||||
## Phase 2 (когда понадобится)
|
||||
|
||||
- CBL/COVOX prerequisite handler (для audio playback)
|
||||
- ISA interrupt handler (для ZX-Bus карт)
|
||||
- Multiple user handler chain (e.g. tick + sound)
|
||||
|
||||
## Альтернатива: отдельный memory mode "im2"
|
||||
|
||||
Идея: вместо того чтобы крутить trampoline location во всех существующих режимах, сделать **отдельный `--memory im2`** который:
|
||||
- Forces CODE в W2 (как tiny)
|
||||
- Reserves определённый адрес в W2 под vector page и trampoline (например 0xBE00..0xBFFF)
|
||||
- crt0_im2.s ставит IM 2 в начале (заменяет DSS handler с chain)
|
||||
- crt0_im2.s восстанавливает на exit
|
||||
|
||||
**Плюсы:**
|
||||
- Меньше matrix-сложности (irq работает только в одном mode)
|
||||
- Можно агрессивно reserved'ить W2-память
|
||||
- Тестируется как единое целое
|
||||
|
||||
**Минусы:**
|
||||
- Программам приходится явно выбирать `--memory im2` для использования прерываний
|
||||
- Дублирование crt0 и runtime
|
||||
|
||||
Текущее предложение — пойти этим путём (отдельный mode) для v2, не лезть в существующие crt0.
|
||||
|
||||
## Внешние ссылки
|
||||
|
||||
- `docs/converted/IvanMak.txt:1040-1054` — секция 9.3 "Прерывания от ISA" + 9.4 "AT-Клавиатура"
|
||||
- `docs/converted/IvanMak.txt:1469-1473` — IM 2 ограничения (table/stack/ISR в W2)
|
||||
- `docs/converted/Forum.txt:758-764` — CBL interrupt discrimination
|
||||
- `docs/converted/Forum.txt:956` + `:1049` — vector 0xFF disambiguation
|
||||
- `docs/converted/Parinov.txt:601` — IM 1 alternative (handler по адресу 0x0038, не наш путь)
|
||||
|
||||
## История
|
||||
|
||||
- 2026-06-01 — research собран в этот документ, реализация отложена до v2
|
||||
@@ -0,0 +1,67 @@
|
||||
|
||||
1) если я и DATA и CODE размещаю в одном окне (W1 - #4000 или W2 - #8000, неважно),
|
||||
то при вызове set_videomode глобальные переменные (errno, g_text_attr) не меняют
|
||||
своих значений.
|
||||
если же DATA и CODE находятся в разных окнах (не важно где DATA - в W1 или W2, главное
|
||||
что не в том где CODE) - то при вызове se_videomode значения глобальных переменных меняются
|
||||
|
||||
То есть похоже что для DATA не назначается отдельный блок памяти а назначается только для CODE
|
||||
Это полностью соответствует документации - если приложение менее 16К (как у нас) то ему выделяется
|
||||
только одна страница. И получается что работа со второй страницей идет несанкционированно (ей память
|
||||
не выделена).
|
||||
|
||||
Потому предлагается
|
||||
1) сейчас размещать ВСЕ в одной странице (и DATA и CODE и стек) - в W2.
|
||||
|
||||
2) дальше - добавить в нашу обертку sprinter-cc режимы памяти -
|
||||
-tiny - все приложение помещается в одну страницу - в W2 (и DATA и CODE и стек)
|
||||
-small - приложение помещается в две страницы - CODE в W1, DATA и стек - в W2.
|
||||
в этом режиме над отдельно выделять и маппить страницу в W2 для DATA и стека
|
||||
-big - DATA, CODE и стек помещаются в одну страницу W2 как в -tiny, добавляется поддержка banked в W1,
|
||||
страница W3 остается служебной и для работы с граффикой из banked code
|
||||
-huge - приложение помещается в двух страницах как и -small но так же добавляется поддержка banked но
|
||||
уже в страницу W3
|
||||
|
||||
Из документации -
|
||||
|
||||
> Теперь адресса #4000..#7FFF,#8000..#BFFF,#C000..#FFFF, когда ДСС
|
||||
передаёт управление эти прогораммам, какие банки там нахадятся по
|
||||
умолчанию?
|
||||
|
||||
В зависимости от адреса загрузки и размера приложения DSS выделяет
|
||||
необходимое число страниц памяти. Так при размере меньше 16К будет
|
||||
выделена
|
||||
одна страница, при размере больше 16К - две, и т.д. В окна с
|
||||
"неиспользуемым" адресном пространством будет подключатся
|
||||
специальная страница #FF.Если приложению требуется памяти больше чем
|
||||
зарезервировано в exe-файле, оно должно выделить себе дополнительный
|
||||
блок памяти самостоятельно.
|
||||
|
||||
|
||||
> В конфигурации спринтер
|
||||
> по #0000..#3FFF, при работе ДСС находится сама ДСС с её Резетами,
|
||||
> чтоб использывать когда сюда подставленна страница пользователся
|
||||
> резеты не доступны!.
|
||||
|
||||
Это так в нижних 16K находится DSS / BIOS в остальных 48К
|
||||
приложение, но с
|
||||
определенными особенностями. Стек не должен быть выше #BFFF при
|
||||
вызове DSS и ниже #8000 при вызове некоторых функций BIOS.
|
||||
|
||||
|
||||
Так же посмотри вот сюда - возможно нам придется для режимов -small и -huge делать свой первичным загрузчиком -
|
||||
Из документации -
|
||||
|
||||
Выполнение EXE-файла осуществляется по следующим пунктам:
|
||||
1) Открывает exe-файл на чтение;
|
||||
2) Считывает в рабочую область префикс exe-файла;
|
||||
3) Выделяет блок памяти, требуемый для загрузки всего файла или первичного
|
||||
загрузчика, если его размер не равен нулю;
|
||||
4) Сохраняет стек;
|
||||
5) Подключает страницы из выделенного блока;
|
||||
6) Строит префикс запуска программы и устанавливает на него регистр IX;
|
||||
7) Считывает файл по адресу указанному в смещении 16 (Адрес расположения кода в
|
||||
памяти);
|
||||
8) Закрывает exe-файл, если это не первичный загрузчик;
|
||||
9) Устанавливает стек равным значению из смещения 20 (Адрес расположения стека);
|
||||
10) Передает управление по адресу указанному в смещении 18 (Адрес запуска);
|
||||
Executable
+1387
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,279 @@
|
||||
Автор Mac Buster
|
||||
1.2. Доступные видеорежимы
|
||||
В нашем распоряжении два графических режима.
|
||||
Один из них имеет разрешение 320 точек по горизонтали и 256 точек по вертикали.
|
||||
В этом режиме мы можем каждую точку окрашивать в любой из 256 цветов, т.е. одной точке
|
||||
соответствует один байт видеопамяти.
|
||||
Таким образом экран в этом режиме требует 320x256=81920 байт.
|
||||
Второй режим имеет 640 точек по горизонтали, 256 точек по вертикали, где каждая точка может
|
||||
быть окрашена в один из 16 цветов, т.е. отводится только 4 бита на точку, а значит каждый
|
||||
байт содержит информацию сразу о двух точках
|
||||
(младший полубайт об одной точке, старший - о другой).
|
||||
В каждом режиме мы можем использовать две идентичные видеостраницы (нумеруемых 0 и 1),
|
||||
и четыре палитры (к сожалению только одна палитра
|
||||
может быть использована в текущий момент).
|
||||
В терминах “ Спринтера
|
||||
” блоки имеющие 320 или 640 точек по горизонтали и одну точку
|
||||
по вертикали называются строками.
|
||||
1.3. Структура видеопамяти
|
||||
В настоящее время объем видеопамяти “ Спринтера
|
||||
” составляет 256 килобайт.
|
||||
Возможно Вы обратили внимание на то, что числа количества строк (их 256) и объёма видеопамяти
|
||||
(256 килобайт) одинаковы.
|
||||
Это не простое совпадение, дело в том, что на каждую строку отводится по одному килобайту
|
||||
видеопамяти, причем вне зависимости от того, сколько точек по горизонтали содержит строка данного
|
||||
режима. Первые 320 байт строки (с номерами 0…319) определяют цвета точек для первой
|
||||
видеостраницы, следующие 320 байт (с номерами 320-639) — то же для второй видеостраницы,
|
||||
остальные байты (с номерами 640…1023) режиме, а так же для хранения данных палитры
|
||||
(будет описана позже).
|
||||
Структура описателя экрана мне пока неясна полностью, поэтому я в данном руководстве не буду её
|
||||
рассматривать.
|
||||
1.4. Как работать с видеопамятью “ ” Спринтера
|
||||
Для простоты я сначала покажу вам как надо записывать данные в одну строку видеорежима
|
||||
с разрешением 320x256.
|
||||
Что бы это сделать, нам требуется произвести следующие действия:
|
||||
• установить видеорежим;
|
||||
• установить страницу видеопамяти в адресное пространство Z80;
|
||||
• выбрать строку видеопамяти;
|
||||
• записать данные по необходимому смещению от начала строки.
|
||||
Видеорежим будем устанавливать с помощью функции “SETVMOD”
|
||||
набора функций системы “Estex”.
|
||||
Перед её вызовом необходимо в регистр A загрузить номер видеорежима
|
||||
(для режима 320x256 это 0x81, для 640x256 это 0x82), затем в регистр B загрузить номер
|
||||
видеостраницы (0 для первой страницы и 1 для второй страницы), а в регистр C поместить
|
||||
номер функции “SETVMOD” системы “Estex” — 0x50.
|
||||
После чего мы вызываем функцию с помощью инструкции RST 0x10.
|
||||
Полностью это должно выглядеть примерно так:
|
||||
0x81
|
||||
LD A, ; мы собираемся использовать режим 320x256
|
||||
0x00
|
||||
LD B, ; нам нужна первая страница
|
||||
0x50
|
||||
LD C, ; номер функции “SETVMOD“
|
||||
0x10RST ; установить видеорежим
|
||||
Не помешает проверить была ли выполнена наша функция без ошибок.
|
||||
Если в процессе выполнения произошла ошибка, то после возвращения
|
||||
из подпрограммы вызываемой нами с помощью RST 0x10, будет установлен
|
||||
флаг переноса C, а значит мы не сможем работать с видеопамятью.
|
||||
Нам надо както обрабатывать такую ситуацию.
|
||||
Предположим, что у нас где-то есть процедура “VMError” для такого случая,
|
||||
выводящая на экран строку “ Err — Unable to set videomode!
|
||||
”, тогда сразу
|
||||
после RST 0x10 следует поставить проверку установлен ли флаг C.
|
||||
JR C,VMError ; произошла ошибка?
|
||||
Кроме того, стоит заметить, что раздельная загрузка регистров B и C
|
||||
была сделана только для наглядности, и в следующих примерах я буду
|
||||
использовать одну инструкцию загрузки значения в регистровую пару BC —
|
||||
“LD BC, 0xNNNN”.
|
||||
То есть предыдущий фрагмент кода будет выглядеть следующим образом:
|
||||
LD A, 0x81
|
||||
; мы собираемся использовать режим 320x256
|
||||
LD BC, 0x0050
|
||||
; первая страница,номер функции “SETVMOD”
|
||||
0x10
|
||||
RST ; установить видеорежим
|
||||
JR C,VMError ; произошла ошибка?
|
||||
Теперь надо установить видеостраницу в адресное пространство Z80. Видеопамять разбита на
|
||||
16- килобайтные страницы (по 16 строк на страницу) с номерами 0x50...0x5F, которые могут
|
||||
быть подключены так же, как это делается с обычной оперативной памятью.
|
||||
Причем следует иметь в виду, что номера страниц видеопамяти так же определяют режим доступа к
|
||||
видеоданным (обычный; без изменения данных в основном ОЗУ; с так называемым
|
||||
“прозрачным” цветом;).
|
||||
Сейчас мы ограничимся самым простым для понимания обычным режимом.
|
||||
Будем подключать видеопамять в страницу 3 начинающуюся с адреса 0xC000
|
||||
(или 49152 в десятичной системе счисления).
|
||||
Это значит, что адрес первой по счету строки в видеостранице будет начинаться с
|
||||
этого адреса (0xC000).
|
||||
В данном примере будем использовать прямую запись в порт, однако, хочу предупредить,
|
||||
что поступать так в приложениях, предназначенных для распространения, не рекомендуется
|
||||
(лучше использовать для этой цели специально отведенные функции “Estex” или BIOS).
|
||||
Все, что нам надо сделать — это предварительно сосчитать и сохранить данные из порта,
|
||||
предназначенного для указания номера страницы, подключаемой в третье окно — 0xE2,
|
||||
а затем записать в этот порт значение 0x50 (номер страницы отведенной под видеопамять).
|
||||
0xE2
|
||||
IN A,( ) ; считываем текущее значение
|
||||
LD (OldWin3Page),A ; сохраняем его в памяти, чтобы
|
||||
; вернуть при выходе
|
||||
0x50
|
||||
LD A, ; номер страницы видеопамяти
|
||||
0xE2
|
||||
OUT ( ),A ; записываем новое значение
|
||||
Теперь в адресное пространство подключена страница видеопамяти, и мы уже можем
|
||||
записывать в нее данные.
|
||||
Но перед этим нам ещё требуется указать в какую именно строку надо записывать данные,
|
||||
для чего в порт 0x89 надо ввести номер строки (0...255).
|
||||
0x10
|
||||
LD A, ; выбираем семнадцатую строку
|
||||
OUT ( 0x89
|
||||
),A ; записываем номер строки в порт
|
||||
После этого с адреса 0xC000 у нас располагаются данные видеопамяти относящиеся
|
||||
к семнадцатой строке, с адреса 0xC400 — к восемнадцатой, с 0xC800 — к девятнадцатой,
|
||||
и так далее, до тридцать первой, с шагом в один килобайт.
|
||||
Замечание - реальность доступа к строкам 18-31 не подтверждена, в эмуляторе MAME
|
||||
точно это не работает, доступна только та строка которая была выбрана (17).
|
||||
Требуется проверка на реальном устройстве.
|
||||
Записав по адресу 0xC000 какоенибудь число, мы изменим цвет самой первой слева точки
|
||||
семнадцатой сверху строки на экране.
|
||||
0x12
|
||||
LD A, ; выбираем цвет
|
||||
0xC000
|
||||
LD ( ),A ; записываем в видеопамять
|
||||
Мы выполнили все, что планировали, осталось только произвести какую-либо задержку,
|
||||
чтобы появилась возможность увидеть результат нашего “титанического труда”.
|
||||
Проще всего использовать для этого функцию “WAITKEY” с номером 0x30,
|
||||
которая ждет нажатия любой алфавитно-цифровой клавиши.
|
||||
Делается это следующим образом:
|
||||
0x30
|
||||
LD C, ; загружаем номер функции “WAITKEY”
|
||||
0x10
|
||||
RST ; вызываем “Estex”
|
||||
Восстанавливаем старое значение в использованной нами странице памяти и устанавливаем
|
||||
текстовый режим:
|
||||
LD A,(OldWin3Page);
|
||||
0xE2
|
||||
OUT ( ),A ;
|
||||
0x03
|
||||
LD A, ; текстовый режим
|
||||
0x0050
|
||||
LD BC, ;
|
||||
0x10
|
||||
RST ;
|
||||
Теперь нам надо вернуться в систему или вызвавшую нас программу.
|
||||
Для этого существует функция “Estex” под названием “ Exit
|
||||
”, имеющая номер 0x41.
|
||||
Предварительно в регистр B следует поместить код ошибки, либо 0, если ее не было.
|
||||
Мы будем считать, что никаких ошибок не было:
|
||||
0x0041
|
||||
Exit LD BC, ;
|
||||
0x10
|
||||
RST ;
|
||||
Вот и почти вся наша программа.
|
||||
Осталась только процедура вывода строки о невозможности установки видеорежима и
|
||||
последующим переходом на метку “ ”. Exit
|
||||
VMError LD HL,ErrMessage ;
|
||||
0x005C
|
||||
LD BC, ;
|
||||
0x10
|
||||
RST ;
|
||||
JR Exit ;13
|
||||
“Err — Unable to set videomode!
|
||||
ErrMessage DB ”,0x0D, 0x0A,0x00
|
||||
Первая часть руководства окончена.
|
||||
Вы научились подключать видеопамять, выбирать строку и выводить на экран точку.
|
||||
Этого вполне достаточно для начала.
|
||||
Настоятельно рекомендую поэкспериментировать с выводом, например, сделать так, чтобы
|
||||
точка постоянно меняла цвет :)
|
||||
Ниже приведен полностью работающий, готовый к ассемблированию с помощью Z80asm 1.5,
|
||||
пример нашей программы:
|
||||
0x7E00
|
||||
ORG ;
|
||||
DB “ ” ; EXE
|
||||
0x00
|
||||
DB ;
|
||||
0x0200,0x0000
|
||||
DW ;
|
||||
0x0000
|
||||
DW ;
|
||||
0x00,0x00
|
||||
DB ;
|
||||
0x00,0x00
|
||||
DB ;
|
||||
0x0000
|
||||
DW ;
|
||||
0x8000
|
||||
DW ;
|
||||
DW EntryPoint ;
|
||||
DW ; 0xBFFF
|
||||
0x00
|
||||
times 0x1EA DB ;
|
||||
EntryPoint LD A,0x81
|
||||
LD BC,0x0050
|
||||
RST 0x10
|
||||
JR C,VMError
|
||||
0xE2
|
||||
IN A,( )
|
||||
LD (OldWin3Page),A
|
||||
LD A,0x50
|
||||
0xE2
|
||||
OUT ( ),A
|
||||
LD A,0x10
|
||||
0x89
|
||||
OUT ( ),A
|
||||
LD A,0x12
|
||||
0xC000
|
||||
LD ( ),A
|
||||
LD C,0x30
|
||||
RST 0x10
|
||||
LD A,(OldWin3Page)
|
||||
0xE2
|
||||
OUT ( ),A
|
||||
LD A,0x03
|
||||
LD BC,0x0050
|
||||
RST 0x10
|
||||
Exit LD BC,0x0041
|
||||
RST 0x10
|
||||
VMError LD HL,ErrMessage
|
||||
LD BC,0x005C
|
||||
RST 0x10
|
||||
JR Exit
|
||||
ErrMessage DB “ Err — Unable to setvideomode! 0x0D 0x0A 0x00
|
||||
”, , ,
|
||||
OldWin3Page DB 0x00
|
||||
Заголовок исполняемого файла для «Спринтера»
|
||||
Решив попробовать свои силы в программировании для « Спринтера
|
||||
»,
|
||||
вы можете воспользоваться ассемблером на самом « » (например, Спринтере OrgAsm
|
||||
),
|
||||
либо любым подходящим вам кроссассемблером.
|
||||
Спринтеровские ассемблеры умеют автоматически создавать исполняемые файлы.
|
||||
Однако, если вы выбрали второй вариант, то для создания исполняемого файла вам
|
||||
необходимо добавить к своей программе заголовок, содержащий в себе служебную
|
||||
информацию, указывающую операционной системе как и куда загружать
|
||||
исполняемый код.
|
||||
Вид заголовка показан на рисунке (префикс 0x означает запись в шестнадцатеричной системе
|
||||
счисления).
|
||||
Обычно код программы размещают начиная с адреса 0x8100, и первая строка в заголовке
|
||||
указывает начальный адрес компиляции – 0x7F00, т.е.
|
||||
0x8100–0x0200 (общая длина заголовка 512 байт).
|
||||
После этого следуют три латинские литеры «EXE»,
|
||||
служащие для определения типа файла.
|
||||
За ними указывается номер версии исполняемого файла (сейчас используется нулевая версия).
|
||||
Далее располагается информация о смещении кода вашей программы от начала исполняемого
|
||||
файла, т.е. фактически указывается длина заголовка (512 байт).
|
||||
Если ваш ассемблер не поддерживает тип «двойное слово», можно заменить эту строку на:
|
||||
DEFW 0x0000,0x0200
|
||||
Теперь надо указать длину начального загрузчика, если он есть (либо 0 если его нет).
|
||||
В том случае, если ваша программа разбита на независимые модули (или секции кода и данных),
|
||||
вы можете организовать программу таким образом, чтобы при запуске она самостоятельно
|
||||
принимала решение о том, что и как загружать в память и запускать, выделив часть кода
|
||||
в начальный загрузчик.
|
||||
Затем идут 6 байт, зарезервированных под дальнейшее развитие формата исполняемого файла.
|
||||
Обратите внимание, что для соблюдения совместимости с последующими форматами следует
|
||||
всегда заполнять зарезервированные байты нулевыми значениями.
|
||||
После зарезервированных байт указывается начальный адрес загрузки кода вашей программы.
|
||||
За ним указывается адрес ее запуска, т.е. значение, которое будет занесено в регистр PC.
|
||||
Сразу после него идет адрес вершины стека (для загрузки регистра SP), устанавливаемый
|
||||
при запуске вашей программы, которое не рекомендуется менять.
|
||||
И в конце заголовка идут 490 зарезервированных байт.
|
||||
Далее с метки START начинается код вашей программы.
|
||||
ORG 0x7F00
|
||||
DEFW ;
|
||||
0x5845 EXE Signature
|
||||
DEFB ;
|
||||
0x45 Reserved (EXE type)
|
||||
DEFB ;
|
||||
0x00 Version of EXE file
|
||||
DEFD ;
|
||||
0x00000200 Code offset
|
||||
DEFW ;
|
||||
0x0000 Primary loader size or 0
|
||||
DEFD ;
|
||||
0x00000000 Reserved
|
||||
DEFW ;
|
||||
0x0000 Reserved
|
||||
DEFW START ; Loading address
|
||||
DEFW START ; Starting address (register PC)
|
||||
DEFW ; 0x0BFFFh Stack address (register SP)
|
||||
DEFS ;
|
||||
0x1EAh Reserved 1
|
||||
START первая команда вашей программы
|
||||
@@ -0,0 +1,278 @@
|
||||
The Accelerator
|
||||
|
||||
The Accelerator is the internal device realised by PLD. Almost all configurations of Sprinter include the Accelerator with different sets of commands. Below we described the Accelerator for Sprinter Configuration.
|
||||
|
||||
The Accelerator serves for acceleration of data blocks transfer as fast as possible (today, up to a physical speed limit of the RAM). The Accelerator supports data blocks transfer of RAM and Video-RAM. And it is not supports data blocks transfer of ROM and FastRAM.
|
||||
|
||||
The Accelerator allows:
|
||||
|
||||
- fast filling of horizontal or vertical screen line of 1-256 pixels by one color (in 640x256 mode - one/double horizontal line of 1-512 pixels).
|
||||
- fast copying of horizontal or vertical screen line of 1-256 pixels (in 640x256 mode - horizontal line of 1-512 pixels).
|
||||
- use AND, OR and XOR operations with data blocks.
|
||||
|
||||
The Accelerator has 256 bytes of memory that used for the data transfers. This Accelerator memory is a part of PLD internal memory. Data transfer begin when you load that data block to the Accelerator memory. Next that block is copying to the selected part of RAM. Last operation can be repeated as often as you need. It is a way for filling the screen by textures.
|
||||
|
||||
Another mode is used for filling a screen by one color. The screen is filling by one byte from CPU bus.
|
||||
|
||||
For control the Accelerator from a program use following CPU commands:
|
||||
|
||||
LD B, B - Switch the Accelerator off.
|
||||
|
||||
LD D, D - Switch the Accelerator in the mode of load a byte of block size.
|
||||
Next command is "LD A, dat" where "dat" is a new block size.
|
||||
|
||||
LD C, C - Switch the Accelerator to filling by one byte mode for horizontal line.
|
||||
Next command "LD (HL), A" will fill all bytes by value of A.
|
||||
|
||||
LD E, E - Switch the Accelerator to filling by one byte mode for vertical line.
|
||||
|
||||
LD H, H - Reserved.
|
||||
|
||||
LD L, L - Switch the Accelerator to copying a data block mode for horizontal line of the screen.
|
||||
Next command "LD A, (HL)" will fill the Accelerator memory by value of (HL).
|
||||
And the command "LD (DE), A" will copy the data from the Accelerator memory to RAM or to VideoRAM.
|
||||
|
||||
LD A, A - Switch the Accelerator to copying a data block mode for vertical line of the screen.
|
||||
|
||||
The following program will copy data from the first screen to the second screen. It takes nearly two interrupts (1,2 INT).
|
||||
|
||||
; display page was opened from the #C000 already
|
||||
LD HL,#C000 ; Address of the beginning of a line of first screen
|
||||
LD DE,#C180 ; Address of the beginning of a line of second screen
|
||||
LD BC,#140 ; The width of the screen
|
||||
DI ; Disable interrupt
|
||||
LD D,D ; Switch the Accelerator to define block size mode
|
||||
LD A,0 ; Set block size to 256 bytes
|
||||
LD A,A ; Switch the Accelerator to copying a graphic data block mode
|
||||
LDIR ; Copying
|
||||
LD B,B ; Switch the Accelerator off
|
||||
EI ; Enable interrupt
|
||||
Additional functions of the Accelerator (AND, OR, XOR) is available too.
|
||||
|
||||
The following program is coding 256 bytes block.
|
||||
|
||||
LD HL,ADRES_1
|
||||
LD DE,XOR_DAT
|
||||
DI
|
||||
LD D,D
|
||||
LD A,0 ; Number of bytes which must be encoded
|
||||
LD L,L
|
||||
LD A,(DE) ; Load data block to the Accelerator memory
|
||||
XOR (HL) ; XOR
|
||||
LD (HL),A ; Load result to RAM
|
||||
LD B,B
|
||||
EI
|
||||
|
||||
The speed of the Accelerator is limited only by physical speed of RAM. To define an time of the command's work with the Accelerator it's possibleby next formula:
|
||||
|
||||
Time of work = time of work without the Accelerator + time of the Acelerator work.
|
||||
|
||||
Time of the Acelerator work = number of bytes / 7000000.
|
||||
|
||||
Note: disable interrupt during the Accelerator work!
|
||||
|
||||
|
||||
Examples of usage the Accelerator.
|
||||
|
||||
;**************************
|
||||
|
||||
; Interrupt - enable
|
||||
; Stack, Program & Data - in (8000h..BFFFh)
|
||||
; Video-RAM - in (C000h..FFFFh)
|
||||
; Video-Data - (0000h..BFFFh)
|
||||
;
|
||||
;
|
||||
Screen_offset EQU 0C000h ; or 0C140h for second grafic screen
|
||||
|
||||
Video_Data EQU *** ; 0000h..BFFFh
|
||||
Color_for_fill EQU *** ; 0..255
|
||||
|
||||
Horizontal_offset EQU *** ; 0...319
|
||||
Vertical_offset EQU *** ; 0...255
|
||||
Horizontal_size EQU *** ; 1...256
|
||||
Vertical_size EQU *** ; 1...256
|
||||
|
||||
;**************************
|
||||
|
||||
Open_video_page:
|
||||
|
||||
IN A,(PORT_Y)
|
||||
LD (SAVE_PY),A ; save port_y
|
||||
IN A,(PAGE3)
|
||||
LD (SAVE_PG3),A ; save page3
|
||||
LD A,50h ; Use 50h for normal mode
|
||||
; 54h for "no copy in main shadow RAM" mode
|
||||
; 58h for "FF is transparent" mode
|
||||
; 5Ch for "no copy in main shadow RAM" and
|
||||
; "FF is transparent" mode
|
||||
OUT (PAGE3),A
|
||||
RET
|
||||
|
||||
SAVE_PG3: DB 0FFh
|
||||
SAVE_PY: DB 0C0h
|
||||
|
||||
;**************************
|
||||
|
||||
Close_video_page:
|
||||
|
||||
LD A,(SAVE_PG3)
|
||||
OUT (PAGE3),A
|
||||
LD A,(SAVE_PY)
|
||||
OUT (PORT_Y),A
|
||||
RET
|
||||
|
||||
;**************************
|
||||
|
||||
Horizontal_Line_copy:
|
||||
|
||||
LD HL,Video_Data
|
||||
LD DE,Screen_Offset+Horizontal_Offset
|
||||
LD A,Vertical_Offset
|
||||
OUT (PORT_Y),A ; Set vertical offset
|
||||
DI
|
||||
LD D,D ; Switch the Accelerator to define block size mode
|
||||
LD A,Horizontal_size ; Use direct data or (HL),(BC),(DE) only!
|
||||
; !!! not ld A,C !!!
|
||||
LD B,B ; Stop the Accelerator
|
||||
LD L,L ; Switch the Accelerator to copying a data block mode
|
||||
LD A,(HL) ; Get data line
|
||||
LD (DE),A ; Put data line
|
||||
LD B,B ; Stop the Accelerator
|
||||
EI
|
||||
RET
|
||||
|
||||
;**************************
|
||||
|
||||
Vertical_Line_copy:
|
||||
|
||||
LD HL,Video_Data
|
||||
LD DE,Screen_Offset+Horizontal_Offset
|
||||
LD A,Vertical_Offset
|
||||
OUT (PORT_Y),A ; Set vertical offset
|
||||
DI
|
||||
LD D,D ; Switch the Accelerator to define block size mode
|
||||
LD A,Vertical_size ; Use direct data or (HL),(BC),(DE) only!
|
||||
; !!! not ld A,C !!!
|
||||
LD B,B ; Stop the Accelerator
|
||||
LD A,A ; Switch the Accelerator to copying a graphic data block mode
|
||||
LD A,(HL) ; Get data line
|
||||
LD (DE),A ; Put data line
|
||||
LD B,B ; Stop the Accelerator
|
||||
EI
|
||||
RET
|
||||
|
||||
;**************************
|
||||
|
||||
Horizontal_Line_Fill:
|
||||
|
||||
LD DE,Screen_Offset+Horizontal_Offset
|
||||
LD A,Vertical_Offset
|
||||
OUT (PORT_Y),A ; Set vertical offset
|
||||
DI
|
||||
LD D,D ; Switch the Accelerator to define block size mode
|
||||
LD A,Horizontal_size ; Use direct data or (HL),(BC),(DE) only!
|
||||
; !!! not ld A,C !!!
|
||||
LD B,B ; Stop the Accelerator
|
||||
LD A,Color_for_fill
|
||||
LD C,C ; Switch the Accelerator to filling by one byte mode
|
||||
LD (DE),A ; Put line of color
|
||||
LD B,B ; Stop the Accelerator
|
||||
EI
|
||||
RET
|
||||
|
||||
;**************************
|
||||
|
||||
Vertical_Line_Fill:
|
||||
|
||||
LD DE,Screen_Offset+Horizontal_Offset
|
||||
LD A,Vertical_Offset
|
||||
OUT (PORT_Y),A ; Set vertical offset
|
||||
DI
|
||||
LD D,D ; Switch the Accelerator to define block size mode
|
||||
LD A,Vertical_size ; Use direct data or (HL),(BC),(DE) only!
|
||||
; !!! not ld A,C !!!
|
||||
LD B,B ; Stop the Accelerator
|
||||
LD A,Color_for_fill
|
||||
LD E,E ; Switch the Accelerator to filling by one byte mode
|
||||
LD (DE),A ; Put line of color
|
||||
LD B,B ; Stop the Accelerator
|
||||
EI
|
||||
RET
|
||||
|
||||
;**************************
|
||||
|
||||
Draw_Restangle_Data:
|
||||
|
||||
LD HL,Video_Data
|
||||
LD DE,Screen_Offset+Horizontal_Offset
|
||||
LD A,Vertical_Offset
|
||||
OUT (PORT_Y),A ; Set vertical offset
|
||||
LD B,Vertical_size ; 0 is 256
|
||||
LD C,Horizontal_Size ; 0 is 256
|
||||
|
||||
DI
|
||||
LD D,D ; Switch the Accelerator to define block size mode
|
||||
LD A,Horizontal_Size ; Use direct data or (HL),(BC),(DE) only!
|
||||
; !!! not ld A,C !!!
|
||||
LD B,B ; Stop the Accelerator
|
||||
EI
|
||||
|
||||
drd_loop:
|
||||
DI
|
||||
LD L,L ; Switch the Accelerator to copying a data block mode
|
||||
LD A,(HL) ; Get data line
|
||||
LD (DE),A ; Put data line
|
||||
LD B,B ; Stop the Accelerator
|
||||
EI
|
||||
|
||||
LD A,C ; Next line data
|
||||
AND A
|
||||
JR Z,drd_inc
|
||||
ADD A,L
|
||||
LD L,A
|
||||
JR NC,drd_no_inc
|
||||
drd_inc:
|
||||
INC H
|
||||
drd_no_inc:
|
||||
|
||||
IN A,(PORT_Y) ; Next line
|
||||
INC A
|
||||
OUT (PORT_Y),A
|
||||
|
||||
DJNZ drd_loop ; Loop
|
||||
|
||||
RET
|
||||
|
||||
;**************************
|
||||
|
||||
Draw_Restangle_Fill:
|
||||
|
||||
LD HL,Screen_Offset+Horizontal_Offset
|
||||
LD A,Vertical_Offset
|
||||
OUT (PORT_Y),A ; Set vertical offset
|
||||
LD B,Vertical_size ; 0 is 256
|
||||
|
||||
DI
|
||||
LD D,D ; Switch the Accelerator to define block size mode
|
||||
LD A,Horizontal_Size ; Use direct data or (HL),(BC),(DE) only!
|
||||
; !!! not ld A,C !!!
|
||||
LD B,B ; Stop the Accelerator
|
||||
EI
|
||||
|
||||
LD C,Color_for_fill
|
||||
|
||||
IN A,(PORT_Y)
|
||||
drf_loop:
|
||||
DI
|
||||
LD L,L ; Switch the Accelerator to copying a data block mode
|
||||
LD (HL),C ; Put data line
|
||||
LD B,B ; Stop the Accelerator
|
||||
EI
|
||||
INC A
|
||||
OUT (PORT_Y),A
|
||||
DJNZ drf_loop ; Loop
|
||||
|
||||
RET
|
||||
|
||||
;**************************
|
||||
;**************************
|
||||
File diff suppressed because it is too large
Load Diff
Executable
BIN
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,759 @@
|
||||
═ ZX.SPECTRUM (2:5090/31.7) ══════════════════════════════════════ ZX.SPECTRUM ═
|
||||
Msg : 856 of 967
|
||||
From : Ivan Mak 2:5030/529.24 31 May 99 03:21:46
|
||||
To : All 01 Jun 99 04:55:12
|
||||
Subj : Sprinter FAQ
|
||||
════════════════════════════════════════════════════════════════════════════════
|
||||
Приветствую Вас, All!
|
||||
|
||||
**** FAQ-Sprinter ****
|
||||
|
||||
В данном FAQ даны ответы на наиболее распространенные вопросы по Спринтеру.
|
||||
FAQ не содержит ответов на чисто технические вопросы. Их можно найти в
|
||||
распространяемом мною техническом описании Спринтера. Засылка мне вопросов
|
||||
для их размещения в FAQ (естественно, мылом) приветствуется.
|
||||
|
||||
Q: Каковы цены на компьютер и платы Спринтера в различных конфигурациях?
|
||||
A: Цена на компьютеp, в стандаpной комплектации - 120 у.е.
|
||||
В стандарную комплектацию входят системный блок в коpпусе MiniTower,
|
||||
клавиатуpа AT, мышь MS-Mouse. В системный блок входят блок питания,
|
||||
плата Спpинтеpа, дисковод 3.5".
|
||||
Цена на отдельную собpанную плату, с 4Mb ОЗУ и 256 видео-ОЗУ - 80 у.е.
|
||||
Все контpоллеpы, дисковода, винчестеpа, клавиатуpы, мыши находятся на
|
||||
плате. Так же на плате имеется панель под CMOS-часы - Dallas.
|
||||
За отдельную оплату, по ценам комплектующих, в компьютеp могут быть
|
||||
установлены винчестеp, CD-ROM, 5.25 дисковод, CMOS часы Dallas,
|
||||
дополнительное видео-ОЗУ, Hayes-modem.
|
||||
|
||||
Q: Можно ли приобрести чистую плату и набор основных БИС для самостоятельной
|
||||
сборки?
|
||||
A: Hет. Пpодажа чистых плат и основных комплектующих к ним не пpоизводится,
|
||||
так как плата довольно сложна в настpойке и сбоpке. Пpоцессоp и основная
|
||||
ПЛМ имеют планаpные выводы с шагом менее 1 мм.
|
||||
|
||||
Q: Какое Спектрумовское ПО работает на Спринтере?
|
||||
A: 99%. Часть программ работает в стандартном спринтеровском режиме.
|
||||
Часть требует изменения режима на Pentagon-128 или Scorpion-256. Часть
|
||||
работает только при подгрузке стандартных версий прошивок ПЗУ.
|
||||
екоторые программы могут не работать из-за того что они написаны под
|
||||
нестандартные периферийные устройства.
|
||||
|
||||
Q: Какое ПО имеется для Спринтера и какова его цена?
|
||||
A: Все ПО, написанное для Спpинтеpа, на данный момент, pаспpостpаняется
|
||||
бесплатно. Из пpогpаммного обеспечения под Спринтер существует следующее:
|
||||
Дос-командеp. (Автоp: Денис Паpинов)
|
||||
Работа с MS-DOS дисками 720/1.44Mb и винчестером,
|
||||
дописывается работа с CD-ROM
|
||||
Гpафический pедактоp. (Автоp: Денис Паpинов)
|
||||
Под расширенный графический экран 320x256 на 256 цветов.
|
||||
Теpминалка под Хаес. (Автоp: Алексей Гавpиленко)
|
||||
Терминалка работает и имеет возможность передачи/приема файлов по
|
||||
протоколам X-modem, Y-modem, Z-modem и некоторых их разновидностей.
|
||||
Пpoгpыватель CD-ROM. (Автоp: Денис Паpинов)
|
||||
Блочник RAM-Disk-а для iS-DOS. (Автоp: Paul Falcon)
|
||||
Дpайвеp пpинтеpа для iS-DOS. (Автоp: Денис Паpинов)
|
||||
GFX-вьювер (Автоp: Антон Енин)
|
||||
Просматривает BMP, PCX, планируются и другие форматы.
|
||||
Он еще просматривает и спектрумовские скрины (как с
|
||||
атрибутами так и без) и иконки :-)
|
||||
Демки pазные :-) (Автоpы: Антон Енин, Денис Паpинов, Иван Мак)
|
||||
Последний писк :-) дема DooM (Автор: Иван Мак)
|
||||
|
||||
Из того что пишется:
|
||||
Многооконный редактоp-ассемблеp. (Автоp: Антон Енин)
|
||||
С интерфейсом по типу Borland-Pascal
|
||||
Бета-версия уже работает как прекрасный текстовый редактор
|
||||
Графический командер наподобие Win-Comander-а. (Автор: Антон Енин)
|
||||
ПКТ-вьювеp. (Автоp: Ренат Мамедов, известен как "Мистеp Глюк" :-))
|
||||
|
||||
Стоит упомянуть адаптированные под Спринтер спектрумовские программы:
|
||||
(хотя ценность адаптации для кого-то может быть сомнительна):
|
||||
F-Commander (сприн.мышка)
|
||||
Commander DOS (сприн.мышка)
|
||||
Font Editor (сприн.мышка)
|
||||
ZX Word (драйвер принтера; йцукен для АТ-клавы)
|
||||
C-Warp (библиотека для текстового экрана спринтера)
|
||||
|
||||
Q: Каковы ограничения на объем винчестера?
|
||||
A: Принципиальное ограничение на объем винчестера 128 гигабайт, которое
|
||||
обусловлено стандартом на IDE-LBA режим. Максимальный объем винчестера,
|
||||
который уже подключался, 4.3 гигабайта.
|
||||
|
||||
Q: Почему Спринтер имеет шину ISA, а не стандартную Спектрумовскую?
|
||||
A: Плата Спринтера имеет в своем составе практически полный набор
|
||||
периферийных устройств, контроллер винчестера, дисковода, клавиатуры AT
|
||||
и мыши MS-Mouse, поэтому было решено, что подобные устройства,
|
||||
разработанные для Спектрума и под спектрумовскую шину Спринтеру не
|
||||
нужны, следовательно Спринтеру не так сильно нужна Спектрумовская шина.
|
||||
Hо Спринтеру нужен Hayes-Modem, который имеет шину ISA, поэтому и была
|
||||
выбрана она.
|
||||
|
||||
Q: Hо существуют и другие устройства, разработанные под спектрумовскую шину,
|
||||
но не имеющиеся в Спринтере. апример, XTR-Modem и General Sound. Можно
|
||||
ли их подключить?
|
||||
A: Да, можно. Для этого необходим переходник с шины ISA, на шину ZX. Такой
|
||||
переходник уже разработан и позволяет подключить два устройства с шиной
|
||||
ZX.
|
||||
|
||||
Q: Почему Спринтер не имеет Кемпстон-мыши, ставшей стандартом де-факто для
|
||||
Спектрума?
|
||||
A: Вопрос с контроллером мыши решался по линии минимальных затрат.
|
||||
Процессор Z84C15 имеет в своем составе контроллер последовательного
|
||||
интерфейса через который и была подключена мышь.
|
||||
|
||||
Q: Где можно узнать новости о Спринтере?
|
||||
A: Hовости о Спpинтеpе так же можно узнавать чеpез спектpумовские эхи в FIDO:
|
||||
ZX.SPECTRUM, SPB.SPECCY, REAL.SPECCY, а так же эхи сети ZxNet HARWARE.ZX,
|
||||
CODE.ZX, SPBZXNET.GENERAL.
|
||||
Подробную информацию о Спринтере и последние версии ПО можно получить в
|
||||
интернете, на сайте: www.atlant.ru/peters
|
||||
Более подробную техническую информацию можно запросить у меня мылом через
|
||||
FIDO по адресам 2:5030/529.24, 2:5030/776.24 или через интернет по
|
||||
адресу: ivan_mak@mail.ru
|
||||
|
||||
|
||||
Вай! Протосы атакуют моих зерлингов! Пора сматываться. Ivan.
|
||||
|
||||
- Разводись схемка, больша и маленька.. [ Sprinter-II ] [Forth-CPU] [ZX]
|
||||
|
||||
... My new E-mail: ivan_mak@mail.ru
|
||||
--- GoldED 2.50+
|
||||
* Origin: Рэкталы жили на планете Ренс 2 миллиона лет. (2:5030/529.24)
|
||||
|
||||
═ ZX.SPECTRUM (2:5090/31.7) ══════════════════════════════════════ ZX.SPECTRUM ═
|
||||
Msg : 855 of 967 -784
|
||||
From : Ivan Mak 2:5030/529.24 31 May 99 03:41:46
|
||||
To : Maxim Polyanskiy 01 Jun 99 04:55:12
|
||||
Subj : New-Age-Computer
|
||||
════════════════════════════════════════════════════════════════════════════════
|
||||
Приветствую Вас, Maxim!
|
||||
|
||||
В день <Sunday May 30 1999> Maxim Polyanskiy написали Ivan Mak:
|
||||
|
||||
MP> Hасколько я помню Спринтер-1 демонстрировался еще на E'97, прошло
|
||||
MP> почти 2 года. Интересно узнать, что собственно для него было написанно
|
||||
MP> из програмного обеспечения за эти 2 года ?? Если можно подробнее.
|
||||
Hа E'97 демонстpиpовался один из опытных обpазцов, котоpый в последствии был в
|
||||
коpне пеpеpаботан. В 98-м году на FunTop-е был пpодемонстpоpован уже pабочий
|
||||
обpазец, запущеный в сеpию. По поводу ПО закину FAQ следующим письмом.
|
||||
|
||||
MP> Есть-ли обещанная операционная система? С чем она совместима?
|
||||
Пеpвый ваpиант ОС есть. По фоpматам дисков совместима с MS-DOS. По pаботе -
|
||||
только похожа. Z80 все таки, а не intel.
|
||||
|
||||
MP> Есть-ли обещанный интернет броузер?
|
||||
Интеpнета, увы, до сих поp нет.
|
||||
|
||||
MP> Простейшая терминалка с Zmodem? Фидософт?
|
||||
Пpостейшая теpминалка есть. Фидософт пишется.
|
||||
|
||||
MP> Простейшие программки для раскрутки писишных ZIP и ARJ тоже есть?
|
||||
ZIP (спектpумовский), но нет ARJ
|
||||
|
||||
MP> Простейшая смотрелка gif,bmp,jpg,pcx?
|
||||
BMP, PCX, ICO, SCR (спектpумовские экpаны)
|
||||
|
||||
MP> Быстрый текстовый редактор с
|
||||
MP> нормальными возможностями (хотя-бы как у лексикона)?
|
||||
Многооконный pедактоp-ассемблеp (функции ассемблеpа можно отключить)
|
||||
Hе знаю, как на счет лексикона. Редактоp похож на pедактоp из боpландовского
|
||||
туpбопаскаля (седьмого).
|
||||
|
||||
MP> Работает-ли в TR-DOS винчестер? Через 3d13?
|
||||
Загpузка/сохpанение обpазов *.trd дисков и pабота с ними как с RAM-дисками
|
||||
чеpез 3D13
|
||||
Обpазы могут иметь любой pазмеp, до 1Mb.
|
||||
|
||||
MP> А может напрямую через порты?
|
||||
Этого нет и вpят ли будет.
|
||||
|
||||
MP> Считывание сектора с винчестера грузит
|
||||
MP> процесор или выполняется аппаратно через PLM?
|
||||
Считывается/пишется пpоцессоpом командами INI и OUTI. ПЛМ немного помогает, что
|
||||
бы между этими командами во вpемя считывания сектоpа не надо было ничего лишнего
|
||||
делать.
|
||||
|
||||
MP> Hасколько документирована работа с плм? Могу-ли я особо не вникая в
|
||||
MP> схемотехнику на вашей плате переконфигурировать компьютер, как я
|
||||
MP> захочу, т.е. поставить любую страницу памяти в любое место, и
|
||||
MP> назначить группу портов, которые этой памятью будут управлять по любым
|
||||
MP> i/o адресам, или мне придется выбирать из конфигураций предложенных
|
||||
MP> вами, и все сделанно на уровне ноу-хау.
|
||||
Поставить любую стpаницу в любое окно пpоцессоpа - можно.
|
||||
Пеpеконфигуpация поpтов возможна, вплоть до создания своей собственной каpты
|
||||
поpтов. Hесколько огpаничена из-за дешифpации поpтов по 9-ти адpесным шинам и
|
||||
наличия внутpенних поpтов пpоцессоpа, котоpые непеpеконфигуpиpуются физически.
|
||||
Документиpованность пеpеконфигуpации не полная, но не является секpетной,
|
||||
поэтому, отвечу на все вопpосы.
|
||||
|
||||
MP> Или вы пошли по известному пути PROFI+ATM "Купите у нас набор железа,
|
||||
MP> с непонятным нечитаемым описанием, а программы для него напишите сами,
|
||||
MP> принесите нам, а мы их будем продавать, а если продаватся они не будут
|
||||
MP> - денег не получите вообще, а если будут - процентов 20 прибыли
|
||||
MP> отстегнем" в результате эти компьютеры для 99% пользователей стали
|
||||
MP> просто быстрым крутым но почти ни с чем несовместимым по выводу на
|
||||
MP> экран спектрумом.
|
||||
Hа счет написания пpогpамм, фиpма Петеpс делает все что в ее силах. К
|
||||
сожалению, не так много, как хотелось бы, но кpизис не тетка...
|
||||
Тpи машины были выданы пpогpаммистам бесплатно, в счет написания пpогpамм. Один
|
||||
пpогpаммист сейчас pаботает в фиpме именно по этой теме.
|
||||
|
||||
MP> Hасчет Sprinter-II сейчас эта затея выглядит еще более бредово, чем
|
||||
MP> Sprinter 2 года назад, качество компьютера давно не определяется
|
||||
MP> железом, оно определяется только програмным обеспечением для него, а
|
||||
MP> количество интузиастов с каждым годом все меньше и меньше.
|
||||
Согласен на счет бpедовости. Hо без бpедовых идей миp и сейчас был бы в
|
||||
каменном веке...
|
||||
|
||||
Hа счет Sprinter-II есть опpеделенные идеи котоpые пpосто должны вывести его на
|
||||
самый высокий уpовень.
|
||||
P.S. В конечном итоге, сейчас это только пpоект. Что из него выйдет, покажет
|
||||
вpемя.
|
||||
|
||||
Вай! Протосы атакуют моих зерлингов! Пора сматываться. Ivan.
|
||||
|
||||
- Разводись схемка, больша и маленька.. [ Sprinter-II ] [Forth-CPU] [ZX]
|
||||
|
||||
... My new E-mail: ivan_mak@mail.ru
|
||||
--- GoldED 2.50+
|
||||
* Origin: Рэкталы жили на планете Ренс 2 миллиона лет. (2:5030/529.24)
|
||||
|
||||
═ ZX.SPECTRUM (2:5090/31.7) ══════════════════════════════════════ ZX.SPECTRUM ═
|
||||
Msg : 951 of 967
|
||||
From : Maxim Polyanskiy 2:5020/689.12 31 May 99 17:00:36
|
||||
To : Ivan Mak 02 Jun 99 00:40:40
|
||||
Subj : New-Age-Computer
|
||||
════════════════════════════════════════════════════════════════════════════════
|
||||
Hello, Ivan!
|
||||
|
||||
Пон Май 31 1999, Ivan Mak писал к Maxim Polyanskiy по поводу
|
||||
"New-Age-Computer."
|
||||
IM> В 98-м году на FunTop-е был пpодемонстpоpован уже pабочий обpазец,
|
||||
IM> запущеный в сеpию. По поводу ПО закину FAQ следующим письмом.
|
||||
|
||||
MP>> Есть-ли обещанная операционная система? С чем она совместима?
|
||||
IM> Пеpвый ваpиант ОС есть. По фоpматам дисков совместима с MS-DOS. По
|
||||
IM> pаботе - только похожа. Z80 все таки, а не intel.
|
||||
Единственный удобный и легко реализуемый вариант для компьютера на Z80 -
|
||||
совместимость с CP/M по API и расширение его возможностей путем добавления
|
||||
удобных команд работы с файлами через указатели как в MS-DOS 3.00. По формату
|
||||
диска - это вы правильно выбрали.
|
||||
MP>> Есть-ли обещанный интернет броузер?
|
||||
IM> Интеpнета, увы, до сих поp нет.
|
||||
Это очень плохо, хотя насколько я понимаю это наиболее сложная штука из
|
||||
полезных.
|
||||
MP>> Простейшая терминалка с Zmodem? Фидософт?
|
||||
IM> Пpостейшая теpминалка есть. Фидософт пишется.
|
||||
Hасколько я помню, простейший фидософт был даже на Профи в лохматые годы.
|
||||
Переписать его под Спринтер - дело 1 дня. Hо без нормального писишного
|
||||
ZIP-а все это будет работать очень криво.
|
||||
MP>> Простейшие программки для раскрутки писишных ZIP и ARJ тоже есть?
|
||||
IM> ZIP (спектpумовский), но нет ARJ
|
||||
Hу Спектрумовский ZIP - он и на спектруме идет ;)
|
||||
MP>> Простейшая смотрелка gif,bmp,jpg,pcx?
|
||||
IM> BMP, PCX, ICO, SCR (спектpумовские экpаны)
|
||||
То-есть форматы, на раскрутку которых не нужно ни ума ни фантазии ...
|
||||
MP>> Быстрый текстовый редактор с нормальными возможностями (хотя-бы как
|
||||
MP>> у лексикона)?
|
||||
IM>> Многооконный pедактоp-ассемблеp (функции ассемблеpа
|
||||
IM>> можно отключить) Hе знаю, как на счет лексикона. Редактоp похож на
|
||||
IM>> pедактоp из боpландовского туpбопаскаля (седьмого).
|
||||
Hу хоть единственная полезная штука есть!
|
||||
MP>> Работает-ли в TR-DOS винчестер? Через 3d13?
|
||||
IM> Загpузка/сохpанение обpазов *.trd дисков и pабота с ними как с
|
||||
IM> RAM-дисками чеpез 3D13 Обpазы могут иметь любой pазмеp, до 1Mb.
|
||||
Кстати как там в TR-DOS с контроллером дисковода? Он я так понимаю без вг-шки,
|
||||
и куча загрущиков с ним не дружат?
|
||||
MP>> Считывание сектора с винчестера грузит процесор или выполняется
|
||||
MP>> аппаратно через PLM?
|
||||
IM> Считывается/пишется пpоцессоpом командами INI и OUTI. ПЛМ немного
|
||||
IM> помогает, что бы между этими командами во вpемя считывания сектоpа не
|
||||
IM> надо было ничего лишнего делать.
|
||||
Это в 93-м году уже было реализованно в TURBO-2+ метод такой-же "немного
|
||||
помогали" пара ап6-х пара ир23-х и правильная адресация. Hо тормоз был еще тот.
|
||||
IM> Поставить любую стpаницу в любое окно пpоцессоpа - можно.
|
||||
IM> Пеpеконфигуpация поpтов возможна, вплоть до создания своей собственной
|
||||
IM> каpты поpтов. Hесколько огpаничена из-за дешифpации поpтов по 9-ти
|
||||
IM> адpесным шинам и наличия внутpенних поpтов пpоцессоpа, котоpые
|
||||
IM> непеpеконфигуpиpуются физически. Документиpованность пеpеконфигуpации
|
||||
IM> не полная, но не является секpетной, поэтому, отвечу на все вопpосы.
|
||||
Hу хоть на этом спасибо.
|
||||
[....]
|
||||
MP>> в результате эти компьютеры для 99% пользователей стали просто
|
||||
MP>> быстрым крутым но почти ни с чем несовместимым по выводу на экран
|
||||
MP>> спектрумом.
|
||||
IM> Hа счет написания пpогpамм, фиpма Петеpс делает все что в ее силах. К
|
||||
IM> сожалению, не так много, как хотелось бы, но кpизис не тетка... Тpи
|
||||
IM> машины были выданы пpогpаммистам бесплатно, в счет написания пpогpамм.
|
||||
IM> Один пpогpаммист сейчас pаботает в фиpме именно по этой теме.
|
||||
ОДИH! Я в шоке! В Крамисе программистов было с десяток, а то и больше. В
|
||||
Микроарте примерно столько-же. И тут нужна не просто "бесплатная раздача слонов"
|
||||
а какой-то более мощный стимул, например зарплата хотя-бы в $100
|
||||
которая позволила-бы заинтересованному студенту (а такие еще остались)
|
||||
более-менее нормально жить, занимаясь исключительно написанием софта под
|
||||
Спринтер. Hу и с десяток таких студентов. Конечно я понимаю, что деньги такие
|
||||
взять неоткуда и неизвестно, окупятся ли они вообще, но без простейших
|
||||
необходимых программ Спринтер превращается в тот-же продвинутый и неполностью
|
||||
совместимый спектрум.
|
||||
MP>> Hасчет Sprinter-II сейчас эта затея выглядит еще более бредово,
|
||||
MP>> чем Sprinter 2 года назад, качество компьютера давно не
|
||||
MP>> определяется железом, оно определяется только програмным
|
||||
MP>> обеспечением для него, а количество интузиастов с каждым годом
|
||||
MP>> все меньше и меньше.
|
||||
IM> Согласен на счет бpедовости. Hо без бpедовых идей миp и сейчас был бы
|
||||
IM> в каменном веке...
|
||||
Да хватит вам железо клепать, на старое еще программ недостаточно написанно,
|
||||
а удовольствие это дорогое, по моим примерным прикидкам на разработку
|
||||
компьютера такого класса нужно $2000 только на опытное железо не учитывая
|
||||
труда людей, который иногда просто невозможно оценить.
|
||||
IM> Hа счет Sprinter-II есть опpеделенные идеи котоpые пpосто должны
|
||||
IM> вывести его на самый высокий уpовень. P.S. В конечном итоге, сейчас
|
||||
IM> это только пpоект. Что из него выйдет, покажет вpемя.
|
||||
Взглянем реально на вещи. Если через годик (быстрее я думаю не успеете)
|
||||
Sprinter-II появится на рынке,то учитывая тенденцию падения цен плата Pentium-II
|
||||
c процессором будет стоить столько-же сколько Sprinter-II.
|
||||
Однако по производительности и програмному обеспечению, она будет уходить
|
||||
далеко вперед ....
|
||||
|
||||
А вот идея насчет спектрума в PC-шку мне очень понравилась, насколько я понимаю
|
||||
основные проблеммы в современных эмуляторах это дисковод и AY. В принципе
|
||||
сделать платку в ISA слот с вг-шкой и AY много времени не займет, и дырки
|
||||
под 5.25 у многих пустуют. Hу естественно поддержку этого железа в одном двух
|
||||
нормальных эмуляторах нужно согласовать. Вот только сами Ay и ВГ-шку видимо
|
||||
придется выламывать из старых спектрумов. ;)
|
||||
IM> Вай! Протосы атакуют моих зерлингов! Пора сматываться.
|
||||
IM> Ivan.
|
||||
WBR! Maxim Polyanskiy.
|
||||
|
||||
... Защита радиотелефонов - http://www.superbest.net/home/club
|
||||
--- GoldEd 2.51 for DOS.
|
||||
* Origin: Z80 inside - INTEL outside ! (2:5020/689.12)
|
||||
|
||||
*** Area: ZX.SPECTRUM Date: 2 Dec 00 21:18:23
|
||||
*** From: Ivan Mak (2:5030/529.24)
|
||||
*** To : Sergey Stepanov
|
||||
*** Subj: Вопрос
|
||||
|
||||
Приветствую Вас, Sergey!
|
||||
|
||||
<Friday December 01 2000> <00:33> Sergey Stepanov wrоte to Ivan Mak:
|
||||
|
||||
SS> Кстати, почему же тогда пэцэшный голдед, а не оригинальный
|
||||
SS> спринтеровский (спековский) софт ?
|
||||
|
||||
Потому что мой Спpинтеp большей частью вpемени находится в pазмазанном
|
||||
состоянии. И потому что никогда не пользовался спектpумовским фидошным
|
||||
софтом, не умею. А учиться вpемени нет. Да и Спpинтеp находясь подстоянно
|
||||
в положении подопытного кpолика не pедко впадает в кому или капpизничает...
|
||||
|
||||
P.S. А вообще, у меня семь компов дома. Hа каком хочу, на таком и pаботаю! :-P
|
||||
|
||||
Протосы сбежали. Зерги закопались. Пора и мне закругляться. Ivan.
|
||||
|
||||
- Разводись схемка, больша и маленька... [ Sprinter-II ] [Forth-CPU] [ZX]
|
||||
|
||||
... ivan_mak@mail.ru * http://st-rektal.chat.ru * http://www.atlant.ru/peters
|
||||
--- GoldED+/386 1.0.0
|
||||
* Origin: Spectrum - рулит, а Sprinter - работает. (2:5030/529.24)
|
||||
═ ZX.SPECTRUM (2:5090/31.7) ══════════════════════════════════════ ZX.SPECTRUM ═
|
||||
Msg : 236 of 502
|
||||
From : Ivan Mak 2:5030/529.24 22 May 99 20:43:50
|
||||
To : All 25 May 99 03:45:16
|
||||
Subj : New-Age-Computer
|
||||
════════════════════════════════════════════════════════════════════════════════
|
||||
Пpиветствую Вас, All!
|
||||
|
||||
=== Cut ===
|
||||
|
||||
*** New-Age-Computer ***
|
||||
или компьютер XXI века
|
||||
|
||||
[ZX-Spectrum] [Sprinter] [FORTH-processor] [Sprinter-II]
|
||||
|
||||
Данная статья является в какой-то степени информационной в ка-
|
||||
кой-то рекламной. Ее распространение и форвард в любые арии разрешается
|
||||
и приветствуется. Разрешается так же и ее публикация без изменений в лю-
|
||||
бых изданиях. Допускаются исправления не меняющие суть изложения. Автор
|
||||
статью ни в коей мере не претендует на единственность указанного пути
|
||||
развития компьютеро и процессоростроения. Все описанное ниже является
|
||||
реальными планами, которые могут измениться в случае, если появится бо-
|
||||
лее эффективное решение поставленной задачи.
|
||||
|
||||
Постановка задачи.
|
||||
Мы хотим создать новый компьютер, имеющий максимальную эффектив-
|
||||
ность при ограниченной стоимости и ограниченных затратах на разработку.
|
||||
|
||||
Всем давно известны основные части компьютера. Центральный про-
|
||||
цессор, память, периферийные устройства. Во всем мире существует мно-
|
||||
жество различных платформ, основанных на разных процессора. Существует
|
||||
множество смежных платформ, имеющих один и тот же процессор в качестве
|
||||
центрального. Все они имеют различия друг с другом в реализации.
|
||||
о все компьютеры имеют общие проблемы. Проблемы быстродействия
|
||||
и проблемы объема памяти. Скорость процессора имеет значение, но чаще
|
||||
всего она ограничивается скоростью обмена с основной памятью.
|
||||
Память компьютеров не безгранична, ее быстродействие не беспре-
|
||||
дельно. Возникает вопрос, как же имея ограниченный объем памяти и быст-
|
||||
родействие процессора получить максимум эффективности. Один из путей
|
||||
распараллеливание процессов. Увеличение количества шин данных, но и этот
|
||||
путь имеет свою границу. евозможно увеличивать количество шин до беско-
|
||||
нечности. 8, 16, 32, 64. Далее возникает множество сложностей связанных
|
||||
с технологиями. Изменение технологии это еще один из путей развития
|
||||
компьютеров, но он достаточно дорог и фактически неприменим для решения
|
||||
нашей задачи.
|
||||
|
||||
Таким образом, что мы имеем? Представим себе, что у нас имеется
|
||||
ограниченный объем памяти. 128 килобайт, организованных как 64K x 16bit.
|
||||
Память быстродействующая, скажем, время выборки 15 наносекунд. Какой
|
||||
компьютер, с какими возможностями можно построить на этой памяти?
|
||||
Существующие известные 16-тиразрядные процессоры либо не имеют
|
||||
достаточной скорости, либо имеют архитектуру, рассчитанную на значи-
|
||||
тельно больший объем памяти, что обуславливает довольно неэффективное
|
||||
использование этой памяти. Кроме того, если взглянуть на циклы работы
|
||||
процессоров с памятью, то невооруженным взглядом видны пропуски времени,
|
||||
которые уходят на организацию работы в шиной и т.д. и т.п. Дорогие экзо-
|
||||
тические процессоры естественно не в счет.
|
||||
Возникает вопрос, как получить максимум быстродействия, если не
|
||||
существует подходящего процессора?
|
||||
Ответ может показаться бредовым. Решение - создание своего
|
||||
собственного процессора. Будь это еще лет пять-десять назад, над этим
|
||||
ответом можно было бы посмеяться, но на сегодня подобное действительно
|
||||
возможно!
|
||||
Как?
|
||||
Для разработки собственного процессора можно использовать переп-
|
||||
рограммируемые логические микросхемы (ППЛМ). Современные ППЛМ достигли
|
||||
достаточного объема, что бы на них можно было строить процессоры. А это
|
||||
означает, что любой человек, имеющий достаточный опыт может заняться по-
|
||||
добным конструированием процессоров. Для этого необходимо иметь лишь со-
|
||||
ответствующее программное обеспечение, ППЛМ, на которой можно проводить
|
||||
эксперименты и, естественно, экспериментальный образец компьютера.
|
||||
Как ни странно, но в настоящее время уже существует компьютер,
|
||||
на котором можно производить подобные эксперименты. Он разрабатывался
|
||||
несколько с иной целью и является развитием линии компьютеров
|
||||
ZX-Spectrum.
|
||||
Это компьютер - Sprinter.
|
||||
|
||||
Что же такое Sprinter?
|
||||
Схема компьютеpа основана на большой пеpепpогpаммиpуемой логи-
|
||||
ческой микpосхеме фирмы ALTERA EPM10K10QC208-4. Подключение периферийных
|
||||
устройств через ППЛМ позволяет получить высокую гибкость машины по кон-
|
||||
фигурациям. Пpогpаммиpование ППЛМ осуществляется непосpедственно в мо-
|
||||
мент включения, а так же пpи пеpезагpузке, что позволяет каpдинально ме-
|
||||
нять схему в ППЛМ непосpедственно во вpемя pаботы. Это сильно выделяет
|
||||
архитектуру компьютера из ряда существующих компьютеров и поэтому многие
|
||||
понятия, присущие обычным машинам, меняют свой смысл. Фактически
|
||||
компьютер имеет изменяемую архитектуру, в которой возможны изменения во
|
||||
многих частях схемы. программируемость схемы компьютера позволяет его
|
||||
полностью изменить, то есть превратить практически в любой компьютер,
|
||||
основанный на процессоре Z80 или процессоре, с которым Z80 совместим по
|
||||
своему коду. о это уже тема для отдельной статьи.
|
||||
|
||||
Применительно к нашей задаче компьютер содержит все необходимые
|
||||
схемы. А именно, ПЛМ, высокоскоростное ОЗУ, подсоединенное мапрямую к
|
||||
ПЛМ, а так же приферийные устройства и все необходимые элементы для осу-
|
||||
ществления запуска и тестирования нового процессора.
|
||||
Таким образом компьютер Sprinter как нельзя лучше подходит для
|
||||
экспериментов с созданием своего процессора. Естественно, этот процессор
|
||||
будет ограничен по своим возможностям, набору команд, но он может быть
|
||||
легко оптимизирован под конкретную задачу. Более того, так как ППЛМ мож-
|
||||
но перегрузить, схема процессора может быть изменена практически в любую
|
||||
секунду (время перезагрузки схемы составляет несколько десятых долей се-
|
||||
кунды).
|
||||
Все это позволяет снизить время цикла разработки до единиц минут
|
||||
при экспериментах с новым процессором.
|
||||
|
||||
а сколько реальна описанная здесь схема разработки процессора?
|
||||
Автором этой статьи были проведены первые эксперименты по созда-
|
||||
нию своего процессора по RISC архитектуре. Эксперименты однозначно пока-
|
||||
зали, что объема ППЛМ, установленной в компьютере Sprinter, достаточно
|
||||
для создания подобного процессора. За основу схемы процессора была при-
|
||||
нята многостековая архитектура, которая наиболее подходит для FORTH-про-
|
||||
цессора.
|
||||
Полученный результат - простой FORTH-процессор, имеющий 4 стека,
|
||||
тактовую частоту 7MHz и время цикла исполнения команды в 1 или 2 такта.
|
||||
При этом ПЛМ использовалась далеко не полностью, а низкая тактовая час-
|
||||
тота процессора обусловлена только отсутствием у его автора опыта созда-
|
||||
ния процессоров.
|
||||
|
||||
Каковы перспективы подобного процессора?
|
||||
Естественно, применение разработанного таким образом процессора
|
||||
внутри компьютера Sprinter довольно ограниченно. Он может позволить лишь
|
||||
решать дополнительные задачи на Sprinter-е. Ценность разработки может
|
||||
быть в том, что полученный процессор можно использовать в других уст-
|
||||
ройствах, разработанных на той же ПЛМ. В специализированных контролле-
|
||||
рах, например.
|
||||
|
||||
о в нашем случае разработка процессора ведется с целью создания
|
||||
нового компьютера с новым процессором. Каков этот компьютер?
|
||||
Предварительное проектное название - Sprinter-II.
|
||||
Естественно, что он должен быть достаточно мощным, а это значит,
|
||||
что его основой должна быть память достаточного объема и быстродействия.
|
||||
В то же время она должна быть достаточно дешевой и распространенной, ес-
|
||||
ли предполагается, что разработанный компьютер предназначен для массово-
|
||||
го повторения.
|
||||
Этим условиям, по нашим оценкам на данный момент, удовлетворяет
|
||||
память на основе DIMM-ов, которые позволяют организовать доступ к памяти
|
||||
с частотой до 100MHz и шину данных до 64 бит.
|
||||
В качестве процессора, в соответствии с нашей установкой ис-
|
||||
пользуется ППЛМ фирмы ALTERA. Предполагается установка ППЛМ EPF10K20,
|
||||
имеющей в два раза больший объем, чем EPF10К10, что позволит организо-
|
||||
вать 32-хразрядный процессор, подобный разработанному 16-тиразрядному.
|
||||
Кроме этого ряд ППЛМ 10К имеет совместимость по расположению вы-
|
||||
водов, что позволит установить на место EPF10K20 ППЛМ большего объема,
|
||||
что позволит организовать еще более мощный процессор.
|
||||
Разрабатываемый компьютер должен иметь и периферию. В Sprinter-е
|
||||
все управление периферией осуществляется через ППЛМ, но в случае, если в
|
||||
ППЛМ располагается процессор, имеет смысл разгрузить ее. Поэтому в про-
|
||||
екте Sprinter-II предполагается установка второй ППЛМ, предназначенной
|
||||
чисто для работы с периферией. Это позволит расширить функции периферии
|
||||
и добавить новые возможности компьютеру.
|
||||
Таким образом, разрабатываемый компьютер будет иметь полностью
|
||||
программируемую архитектуру, что позволит менять ее в соответствии с ре-
|
||||
шаемыми задачами.
|
||||
|
||||
Проект Sprinter-II является одиним из проектов фирмы Петерс-Плюс
|
||||
и в данный момент находится в начальний стадии разработки.
|
||||
Производителем компьютеров Sprinter так же является фирма Пе-
|
||||
терс-Плюс (ранее Петерс).
|
||||
Информацию по компьютеру Sprinter можно найти в интернете на
|
||||
сайте фирмы Петерс: www.atlant.ru/peters
|
||||
|
||||
E-mail: ivan_mak@mail.ru
|
||||
FIDO: 2:5030/529.24 aka 2:5030/776.24
|
||||
|
||||
22.05.99 Ivan Mak.
|
||||
|
||||
=== Cut ===
|
||||
|
||||
Вай! Протосы атакуют моих зерлингов! Пора сматываться. Ivan.
|
||||
|
||||
- Разводись схемка, больша и маленька.. [ Sprinter-II ] [Forth-CPU] [ZX]
|
||||
|
||||
... My new E-mail: ivan_mak@mail.ru
|
||||
--- GoldED 2.50+
|
||||
* Origin: Рэкталы жили на планете Ренс 2 миллиона лет. (2:5030/529.24)
|
||||
|
||||
═ ZX.SPECTRUM (2:5090/31.7) ══════════════════════════════════════ ZX.SPECTRUM ═
|
||||
Msg : 995 of 1139 -795 +1031 1131
|
||||
From : Ivan Mak 2:5030/529.24 25 Mar 98 02:17:38
|
||||
To : All 27 Mar 98 02:56:08
|
||||
Subj : Sprinter
|
||||
════════════════════════════════════════════════════════════════════════════════
|
||||
Hello All.
|
||||
|
||||
Кpаткая инфоpмация по Sprinter-у.
|
||||
|
||||
Пpоцессоp . . . . . . . . . . . Z84C15
|
||||
Тактовая частота . . . . 21MHz/3.5MHz
|
||||
ОЗУ . . . . . . . . . . . . . . 4096Kb
|
||||
ПЗУ . . . . . . . . . . . . . . .128Kb
|
||||
Видео-ОЗУ . . . . . . . . . 256Kb(512)
|
||||
Контpоллеp дисков . . . . . Кp1818ВГ93
|
||||
Поддеpжка 1.44Mb фоpмата 3.5" диска
|
||||
Контpоллеp IDE винчестеpа
|
||||
Контpоллеp AT клавиатуpы
|
||||
Контpоллеp MS-Mouse
|
||||
Два слота в стандаpте ISA-8
|
||||
Железная эмуляция AY-3-8910
|
||||
COVOX . . . . . . . . . 8bit x 4chanel
|
||||
|
||||
Видео-pежимы: . . . Spectrum standart
|
||||
GRAF 320 x 256 x 256
|
||||
TEXT 80 x 32
|
||||
Выход видео на TV или CGA монитоp.
|
||||
|
||||
Схема компьютеpа основана на большой
|
||||
пеpепpогpаммиpуемой микpосхеме.
|
||||
Пpогpаммиpование ПЛМ осуществляется
|
||||
непосpедственно в момент включения а
|
||||
так же пpи пеpегpузке, что позволяет
|
||||
каpдинально менять схему непосpедственно
|
||||
во вpемя pаботы.
|
||||
|
||||
|
||||
|
||||
Ivan
|
||||
|
||||
--- GoldED 2.50+
|
||||
* Origin: Ректалы жили на Ренсе 2 млн. лет. (2:5030/529.24)
|
||||
|
||||
═ ZX.SPECTRUM (2:5090/31.7) ══════════════════════════════════════ ZX.SPECTRUM ═
|
||||
Msg : 631 of 677 +646
|
||||
From : Ivan Mak 2:5030/529.24 28 Apr 98 04:21:44
|
||||
To : All 28 Apr 98 23:38:20
|
||||
Subj : Sprinter - аpхитектуpа
|
||||
════════════════════════════════════════════════════════════════════════════════
|
||||
Приветствую Вас, All!
|
||||
|
||||
▄▄▄▄▄▄
|
||||
▄█░░░░░░
|
||||
█░░ █░░
|
||||
█░░▄▄▄█░░
|
||||
█░░░░░░░░
|
||||
█░░ █░░
|
||||
█░░ █░░ рхитектура компьютера Sprinter.
|
||||
▀░░ ▀░░
|
||||
|
||||
Данное описание предполагает наличие определенных знаний читателя,
|
||||
а именно знание архитектуры компьютера ZX-Spectrum и их разновидностей, в
|
||||
частности Pentagon-128 и Scorpion-256, а так же знание языка BASIC и некоторое
|
||||
знакомство с языком ассемблера Z80.
|
||||
Здесь я буду называть конфигурацией машины - конкретную
|
||||
реализацию конкретной схемы в ПЛМ. Это означает, что машина имеет множество
|
||||
конфигураций, каждая из которых имеет свою схему.
|
||||
|
||||
Процессор Z84C15 и ПЛМ EPF10K10QC208-4 являются ядром машины. Кроме
|
||||
них на плате присутствуют микросхемa ПЗУ, 72х-пиновый SIMM на 4Mb, видео-ОЗУ,
|
||||
КЭШ-ОЗУ, схема контроллера дисковода на БИС КР1818ВГ93, буферы для подключения
|
||||
джойстика, магнитофона, принтера, клавиатуры, дисководов, винчестера, мыши,
|
||||
буферные микросхемы шины ISA-8 и еще одна ПЛМ фирмы ALTERA - EPM7032LC44-12. Эта
|
||||
ПЛМ не меняет своей конфигурации и предназначена для обеспечения начального
|
||||
запуска компьютера. а плате так же предусмотрена возможность подключения CMOS
|
||||
часов на основе микросхемы DALLAS. Кроме периферии и буферов имеются микросхемы
|
||||
дешифрации, входы которых подключаются к процессору через ПЛМ. Это позволяет
|
||||
легко менять адресацию устройств без какого либо изменения разводки печатной
|
||||
платы.
|
||||
Схема компьютеpа основаная на большой пеpепpогpаммиpуемой логической
|
||||
микpосхеме и подключение периферийных устройств через ПЛМ позволяет получить
|
||||
высокую гибкость машины по конфигурациям.
|
||||
Пpогpаммиpование ПЛМ осуществляется непосpедственно в момент
|
||||
включения, а так же пpи пеpегpузке, что позволяет каpдинально менять схему в ПЛМ
|
||||
непосpедственно во вpемя pаботы. Это сильно выделяет архитектуру компьютера из
|
||||
ряда существующих компьютеров и поэтому многие понятия, присущие обычным
|
||||
машинам, меняют свой смысл. Фактически компьютер имеет изменяемую архитектуру, в
|
||||
которой возможны изменения во многих частях схемы. Так, например, нельзя
|
||||
говорить о конкретных адресах портов подключения периферии, так как они могут
|
||||
быть изменены в одну секунду путем перепрограммирования ПЛМ и данных в ОЗУ,
|
||||
отвечающих за конфигурацию портов. Конкретные адреса появляются только в
|
||||
конкретных конфигурациях, например, такой как конфигурация ZX-Spectrum.
|
||||
Перепрограммируемость схемы дает довольно большую свободу
|
||||
фантазии программиста по конфигурации машины. Задумывая конкретную работу
|
||||
программист может определить в какой конфигурации ее можно сделать лучше, а,
|
||||
возможно, и придумать свою конфигурацию, которую затем можно реализовать в ПЛМ и
|
||||
включить перед запуском этой программы.
|
||||
Дальнейшее описание архитектуры является описанием конкретных
|
||||
конфигураций машины. о перед этим следует сказать несколько слов о переключении
|
||||
конфигураций.
|
||||
|
||||
В момент включения компьютера, а так же после нажатия на RESET вся
|
||||
информация, находившаяся в ПЛМ и отвечающая за конкретную конфигурацию,
|
||||
стирается. ПЛМ переходит в режим ожидания загрузки блока данных схемы.
|
||||
В этот момент процессор полностью отключен от какой либо периферии.
|
||||
В его адресное пространство памяти оказывается включена одна страница ПЗУ и одна
|
||||
страница ОЗУ КЭШ-памяти. Любая запись в адресное пространство памяти процессора
|
||||
в этот момент приводит к записи данных в ПЛМ и программа в подключенной странице
|
||||
ПЗУ имеет только одну единственную цель - загрузить в ПЛМ данные конфигурации. В
|
||||
этой же странице ПЗУ находятся данные начальной конфигурации. (В данный момент
|
||||
это конфигурация Sprinter-1.) Программа загрузки конфигурации проверяет флаг в
|
||||
КЭШ-памяти и, если он установлен, загружает в ПЛМ данные из ОЗУ, если сброшен,
|
||||
то данные из ПЗУ. а этом основано переконфигурирование схемы компьютера.
|
||||
Для изменения схемы надо загрузить в последнюю страницу КЭШ-памяти
|
||||
блок данных конфигурации со смещения #100 и выставить флаг, которым является
|
||||
текстовая строка "FLEX_10K_LOADING", записанная по смещению #80 в этой же
|
||||
странице КЭШ-а. После этого надо произвести полный сброс, который осуществляется
|
||||
программно записью в специальную страницу памяти RESET_PAGE. Программа в ПЗУ,
|
||||
запускаемая по сбросу находит флаг FLEX_10K_LOADING и начинает загрузку данных в
|
||||
ПЛМ. При этом она одновременно затирает флаг, что предотвращает повторную
|
||||
загрузку новой конфигурации при нажатии на кнопку RESET и позволяет вернуться
|
||||
после "ручного" сброса в начальную конфигурацию. Затирание флага так же
|
||||
избавляет от мучений в случае подключения неправильной конфигурации во время
|
||||
экспериментов с программами. ажатие на RESET всегда вернет схему в начальную
|
||||
конфигурацию.
|
||||
|
||||
Внутренняя информация блока данных ПЛМ является закрытой
|
||||
информацией фирмы ALTERA. Кроме самих микросхем ПЛМ ALTERA поставляет и
|
||||
программное обеспечение для разводки схем внутри ПЛМ. К сожалению, эта программа
|
||||
не может работать на компьютере типа ZX-Spectrum и в ближайшем обозримом будущем
|
||||
не предвидится ее версия для Sprinter-а. Поэтому разработка новых конфигураций
|
||||
может производится только при наличии достаточно мощной машины (все делалось на
|
||||
Pentium-166) и программы разводки схем в ПЛМ, цена на которую составляет сотни
|
||||
долларов США.
|
||||
В связи с этим, в данный момент Sprinter имеет несколько конкретных
|
||||
конфигураций, две из которых записаны в ПЗУ, а остальные могут быть подгружены с
|
||||
дискеты или винчестера. Постоянно ведется совершенствование конкретных
|
||||
конфигураций и разработка новых.
|
||||
|
||||
Конфигурация Sprinter-1.
|
||||
Включает в себя конфигурацию Spectrum-128/256, распределение памяти
|
||||
до 4Mb, расширенный экран с режимами Spectrum, Text-80x32, Graf-320x256x256,
|
||||
контроллер дисковода, контроллер IDE винчестера, контроллер клавиатуры AT,
|
||||
подключенной как ZX-Keyboard, 8-bit COVOX.
|
||||
Эта конфигурация максимально приближена к конфогурации ZX-Spectrum
|
||||
и позволяет работать на обычных спектрумовских программах и постепенно менять их
|
||||
под расширенные режимы экрана и памяти, а так же для работы с новыми
|
||||
устройствами.
|
||||
|
||||
Конфигурация Sprinter-2.
|
||||
Включает в себя конфигурацию Spectrum-128/256, распределение памяти
|
||||
до 4Mb, расширенный экран с режимами Spectrum, Text-80x32, Graf-320x256x256,
|
||||
контроллер дисковода, контроллер IDE винчестера, контроллер клавиатуры AT,
|
||||
подключенной как ZX-Keyboard, Accelerator.
|
||||
Конфигурация, как и Sprinter-1 приближена к спектрумовской, но
|
||||
имеет более жесткие требования к программам по совместимости. Позволяет
|
||||
использовать акселератор операций с основным и видео-ОЗУ. Акселератор ускоряет
|
||||
операции пересылки блоков данных и заполнения ОЗУ одним байтом до физического
|
||||
предела скорости основного ОЗУ.
|
||||
|
||||
Конфигурация ZX-Spectrum-256/AY.
|
||||
Эта конфигурация максимально приближена к ZX-Spectrum-128/256
|
||||
и включает в себя схему музыкального сопроцессора AY-3-8910. В этой конфигурации
|
||||
отсутствуют расширенные режимы экрана.
|
||||
Вторая версия схемы AY включает в себя три генератора голосов,
|
||||
генератор шума и регуляторы амплитуды. Генератор огибающей отсутствует. Так же
|
||||
отсутствует возможность чтения из портов данных сопроцессора.
|
||||
В третьей версии AY предполагается данные недостатки исключить.
|
||||
|
||||
Конфигурация Sprinter-3.
|
||||
Конфигурация отвязана от конфигурации ZX-Spectrum. Полностью
|
||||
отключается ПЗУ и все адресное пространство разбито на четыре окна по 16k, в
|
||||
каждое из которых подключается любая из 256-ти страниц ОЗУ. Отсутствует
|
||||
спектрумовский экран, графический экран такой же, как в конфигурациях Sprinter-1
|
||||
и Sprinter-2. Имеет дополнительные функции акселератора. Позволяет производить
|
||||
операции AND, OR и XOR с блоками данных. Имеет 8-bit COVOX.
|
||||
В дальнейшем предполагается подключение в этой конфигурации
|
||||
спринтеровской звуковой карты.
|
||||
|
||||
Ivan, с Большим Приветом.
|
||||
|
||||
ZX-Spectrum-у - #10 лет !
|
||||
Ба-а ! Мне скоро будет #20 !
|
||||
|
||||
--- GoldED 2.50+
|
||||
* Origin: Рэкталы жили на планете Ренс 2 миллиона лет. (2:5030/529.24)
|
||||
|
||||
═ ZX.SPECTRUM (2:5090/31.7) ══════════════════════════════════════ ZX.SPECTRUM ═
|
||||
Msg : 1961 of 1989 -1942
|
||||
From : Ivan Mak 2:5030/529.24 15 Jan 98 01:05:46
|
||||
To : Max Romanoff 20 Jan 98 00:26:02
|
||||
Subj : Sprinter
|
||||
════════════════════════════════════════════════════════════════════════════════
|
||||
░▒▓██ Рад приветствовать Вас, Max ! ██▓▒░
|
||||
|
||||
█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░
|
||||
█ Когда-то, Tuesday January 13 1998 23:40, Max Romanoff
|
||||
█ писал для Ivan Mak:
|
||||
|
||||
IM>> Дa. Стоить будут - 590p.
|
||||
|
||||
MR> 100$ - стоит a500. Причём готовый комп, в который не нaдо для
|
||||
MR> рaботы ничего стaвить и покупaть.
|
||||
Вот только воьможностей у A500 меньше чем у Sprinter-a. :)
|
||||
Потому ты и испугался кинуть сюда ответы на мои вопpосы. :)))
|
||||
Да и не ZX-Spectrum эта AMIGA вовсе.
|
||||
|
||||
А у Sprinter-a так.
|
||||
Пpоцессоp 8 pазpядов, 21MHz.
|
||||
ОЗУ - 4Mb. Скоpость заливки пикселей на экpане в 256-цветном гpафическом pежиме
|
||||
до 7 млн. пикселей в секунду.
|
||||
Скоpость пеpесылки данных из памяти в память (в том числе в видео)
|
||||
до 3.5 млн. байт в секунду.
|
||||
Контpоллеp HDD.
|
||||
Контpоллеp FDD - диски до 1.44 Mb.
|
||||
|
||||
░▒▓██ С уважением, Ivan. ██▓▒░
|
||||
|
||||
TR-DOS 5.04Ei
|
||||
|
||||
--- GoldED 2.50+
|
||||
* Origin: Рэкталы жили на планете Ренс 2 миллиона лет. (2:5030/529.24)
|
||||
|
||||
sprinterC
|
||||
File diff suppressed because it is too large
Load Diff
Executable
BIN
Binary file not shown.
Executable
+132
@@ -0,0 +1,132 @@
|
||||
#pragma disable_warning 85
|
||||
|
||||
//определения типов переменных
|
||||
|
||||
typedef unsigned char u8;
|
||||
typedef signed char i8;
|
||||
typedef unsigned int u16;
|
||||
typedef signed int i16;
|
||||
typedef unsigned long u32;
|
||||
typedef signed long i32;
|
||||
|
||||
#define TRUE 1
|
||||
#define FALSE 0
|
||||
|
||||
//флаги кнопок джойстика
|
||||
|
||||
#define JOY_RIGHT 0x01
|
||||
#define JOY_LEFT 0x02
|
||||
#define JOY_DOWN 0x04
|
||||
#define JOY_UP 0x08
|
||||
#define JOY_FIRE 0x10
|
||||
#define JOY_START 0x20
|
||||
#define JOY_ESC 0x80
|
||||
|
||||
//крайние и средний уровни яркости
|
||||
|
||||
#define BRIGHT_MIN 0
|
||||
#define BRIGHT_MID 15
|
||||
#define BRIGHT_MAX 30
|
||||
|
||||
//заполнение памяти заданным значением
|
||||
|
||||
void memset(void* m,u8 b,u16 len) __naked;
|
||||
|
||||
//копирование памяти, области не должны пересекаться
|
||||
|
||||
void memcpy(void* d,void* s,u16 len) __naked;
|
||||
|
||||
//генерация 16-битного псевдослучайного числа
|
||||
|
||||
u16 rand16(void) __naked;
|
||||
|
||||
//установка цвета бордюра, 0..7
|
||||
|
||||
void border(u8 n) __naked;
|
||||
|
||||
// ожидание конца кадра
|
||||
void vsync(void) __naked;
|
||||
|
||||
//опрос kempston джойстика и курсорных клавиш с пробелом
|
||||
//для опроса кнопок есть константы JOY_
|
||||
|
||||
u8 joystick(void) __naked;
|
||||
|
||||
//установка яркости экрана BRIGHT_MIN..BRIGHT_MID..BRIGHT_MAX (0..15..30)
|
||||
//от полностью чёрного экрана до нормальной яркости до полностью белого экрана
|
||||
|
||||
void pal_bright(u8 bright) __naked;
|
||||
|
||||
void pal_bright16(u8 subpal, u8 bright) __naked;
|
||||
|
||||
//выбор предопределённой палитры по номеру
|
||||
|
||||
void pal_select(u8 id) __naked;
|
||||
|
||||
//копирование текущей палитры в массив
|
||||
|
||||
void pal_copy(u8 start, u8 count, u8* pal) __naked;
|
||||
|
||||
//установка всех цветов в палитре значениями из массива
|
||||
|
||||
void pal_custom(u8 start, u8 count, u8* pal) __naked;
|
||||
|
||||
//отрисовка тайла
|
||||
|
||||
void draw_tile(u8 x,u8 y,u16 tile) __naked;
|
||||
|
||||
//отрисовка изображения
|
||||
|
||||
void draw_image(u8 x) __naked;
|
||||
|
||||
//очистка теневого экрана нужным цветом 0..255
|
||||
|
||||
void clear_screen(u8 color) __naked;
|
||||
|
||||
//переключение экранов, теневой становится видимым
|
||||
//ожидание кадра выполняется автоматически, vsync перед вызовом этой функции не нужен
|
||||
//функция также обновляет спрайты, если они включены
|
||||
|
||||
void swap_screen(void) __naked;
|
||||
|
||||
void sprites_clip(u8 clip) __naked;
|
||||
|
||||
|
||||
//запуск системы вывода спрайтов
|
||||
//на видимом экране должно быть изображение, поверх которого будут выведены спрайты
|
||||
//эта функция выполняется медленно, происходит копирование большого объёма данных
|
||||
//после того как спрайты разрешены, они будут автоматически выводиться при swap_screen
|
||||
|
||||
void sprites_start(void) __naked;
|
||||
|
||||
//останов системы вывода спрайтов
|
||||
|
||||
void sprites_stop(void) __naked;
|
||||
|
||||
//добавить спрайт в список вывода
|
||||
//x координата 0..240
|
||||
//y координата 0..176
|
||||
//spr номер изображения спрайта
|
||||
void add_sprite(u8 x,u8 y,u16 spr) __naked;
|
||||
|
||||
// конец списка спрайтов
|
||||
void end_sprite(void) __naked;
|
||||
|
||||
//время с момента запуска программы в кадрах
|
||||
|
||||
u32 time(void) __naked;
|
||||
|
||||
//задержка, значение в кадрах (1/50 секунды)
|
||||
|
||||
void delay(u16 time) __naked;
|
||||
|
||||
|
||||
void wyz_play_music (unsigned char song_number) __naked;
|
||||
void wyz_play_sound (unsigned char fx_number, unsigned char fx_channel) __naked;
|
||||
void wyz_stop_sound (void) __naked;
|
||||
|
||||
//void fm_sound_on (void) __naked;
|
||||
//u8 tfm_stat(void) __naked;
|
||||
|
||||
// выход в DSS
|
||||
void quit(void) __naked;
|
||||
Executable
+72
@@ -0,0 +1,72 @@
|
||||
Глюки и недостатки ДОС (Биоса)
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Дата последнего редактирования: 27.09.2004
|
||||
|
||||
|
||||
|
||||
1. Функция "Сохранить текущий путь" (1Eh) имеет недостаток:
|
||||
а) При сохранении корневого пути запоминает символ "\".
|
||||
б) Но в то же время, при сохранении не корневого пути,
|
||||
не ставит в конце строки символ "\".
|
||||
У MS-DOS такой же глюк, но это не меняет "погоду" ;). Нужно привести
|
||||
к какому-то одному формату.
|
||||
|
||||
2. Функция "Закрыть файл" (12h) не закрывает файл, если он расположен
|
||||
(был открыт/создан) не в тек. пути. Приходится принудительно устанав-
|
||||
ливать диск и путь расположения закрываемого файла и только после этого
|
||||
его закрывать ;(. Это происходит из-за того, что DSS текущей реализации
|
||||
позволяет коppектно pаботать только в пpеделах одного диска. Т.е. пеpед
|
||||
закpытием файла, текущим диском должен быть тот, где этот файл находится.
|
||||
Важное замечание: Доработать DSS, чтобы система, в определенных случаях,
|
||||
не трапалась при переполнении макс. числа (9) открытых дескрипторов.
|
||||
|
||||
3. Функция "Удалить файл" (0Eh) имеет недостаток:
|
||||
Удаляет файл в тек. каталоге, при формате записи "prog.bin", но не уда-
|
||||
ляет файл, указанный с диском и путем расположения, например:
|
||||
"a:\test\prog.bin".
|
||||
|
||||
4. Функции опроса клавиатуры (30h,31h,..) не выдают признак (7,6 биты
|
||||
регистра "B") нажатия "Shift" для клавиш "Home","End","PgUp","PgDn" и
|
||||
клавиш управления курсором. У спец. клавиш, признак нажатия "Shift"
|
||||
(биты 7,6) выдается только для F1..F12.
|
||||
|
||||
5. Не происходит скроллинг экрана, когда идет "переполнение" последней 32-й
|
||||
строки и 80-й символ - не код завершения строки. Происходит просто пере-
|
||||
ход в начало первой строки экрана, с продолжением вывода строки (с нало-
|
||||
жением на старые данные экрана).
|
||||
|
||||
6. Estex не корректно работает с VFAT (которая фактически и используется в
|
||||
Виндах). Трабл в следующем. Если в имени файла присутствует хотя бы одна
|
||||
строчная (маленькая) буква, то для такого имени Винда создает в каталоге
|
||||
две записи: первая для длинного имени, вторая - имя формата 8.3. Т.е. на
|
||||
одно имя файла в каталоге имеется две записи. Если файл с таким именем
|
||||
удалить в Estex, то будет удалено (помечено удаленным) только вторая за-
|
||||
пись файла, имеющая формат 8.3, а первая запись останется не удаленной.
|
||||
p.s. Эта ошибка легко исправляется нортоновским "ndd" или др. утилитой
|
||||
проверки логич. структуры диска.
|
||||
Если имя файла состоит только из одних прописных (больших) букв, то Винда
|
||||
создает в каталоге лишь одну запись для имени файла (как MS-DOS до v6.22
|
||||
включительно). Такой файл корректно удаляется Estex.
|
||||
Вывод: Для корректного удаления файлов под ОС Спринтера, их имена должны
|
||||
содержать только прописные буквы.
|
||||
|
||||
7. При включенном в Биосе пункте "System Disk: 1-st FDD" и при отсутствии
|
||||
дискеты в дисководе, в некоторых случаях не сбрасывается обращение к дис-
|
||||
ководу.
|
||||
|
||||
8. Нет биосной функции "54h" (DRV_VERIFY) верификации секторов, описанной в
|
||||
документации. Поэтому она всегда возвращает установленный флаг "Carry".
|
||||
|
||||
9. Доработать функцию "32h" (DSS_ECHOKEY), чтобы нормально мигал курсор.
|
||||
|
||||
10. Функции ДОС 0Ah (Create) и 0Bh (Create new file) перед созданием файла
|
||||
не проверяют число уже открытых дескрипторов. При переполнении числа
|
||||
открытых дескрипторов, эти функции все-равно создают запись нового файла
|
||||
в каталоге, хотя и выдают признак ошибки.
|
||||
Эти функции также не отслеживают имя файла на недопустимые символы. Если
|
||||
имя файла содержит недопустимый символ - функции просто "зависают".
|
||||
Такая ситуация с именами файлов может возникнуть например при автомати-
|
||||
ческом создании имен.
|
||||
|
||||
11. ДОС (v1.6) корректно выводит максимум 509 записей каталога.
|
||||
Executable
+33
@@ -0,0 +1,33 @@
|
||||
В официальной документации есть информация о том, что при работе с графическим
|
||||
экраном есть несколько методов для вывода графики:
|
||||
- обычный;
|
||||
- прозрачный цвет;
|
||||
- временный;
|
||||
Режим включается через указание номера страницы в порт окна процессора. Известно,
|
||||
что для графического экрана у нас доступно 16 страниц с номерами 50h - 5fh.
|
||||
При этом по факту программист не участвует в переключении этих страниц. Нужно
|
||||
знать только одно, что в номере страницы биты 2 и 3 отвечают за режим вывода.
|
||||
3..2 = 0 = 50h обычный метод вывода. Все данные попадают на экран без исключения.
|
||||
bit3 = 1 = 58h режим прозрачного цвета. Цвет с номером FFh не выводится на экран.
|
||||
bit2 = 1 = 54h временный вывод на экран. Самый мутный режим и тут нужно немного
|
||||
пояснить как работает экран у Спринтера.
|
||||
|
||||
Для работы с графикой на Спринтере установлена отдельная память - vram,
|
||||
т.е. видео-озу. По факту это sram, быстрая память. Экран устроен так, что при
|
||||
обычном методе или с приминением прозрачности все данные записываются и в vram
|
||||
и в ram (озу). Суть метода 3 в том, что когда он активен данные пишутся
|
||||
только в vram. Например, мы включили граф.режим, обычный метод и вывели фоновую
|
||||
картинку на весь экран. Потом включили бит3+бит2 и вывели какой-то спрайт.
|
||||
Координаты вывода мы запомнили. Потом нам нужно сдвинуть спрайт на сколько-то
|
||||
пикселей в сторону. Мы берём ранее сохранённые координаты, включаем обычный
|
||||
режим и делаем чтение и запись в те же координаты. Что получается в результате?
|
||||
Фоновая картинка была записана и в ram и в vram. Потом по методу 3+прозрачность
|
||||
мы вывели спрайт. Его данные попали только в vram, а в ram сохранена фоновая
|
||||
картинка. Когда мы снова включили обычный режим и сделали чтение, мы прочитали
|
||||
данные из ram, а потом записали их в vram и повторно в ram. Таким образом мы
|
||||
восстановили область под спрайтом. После этого можно рисовать спрайт в новых
|
||||
координатах. Замысел данного метода в том, что нам не требуется процедура
|
||||
и лишний буфер для сохранения фона (данные под спрайтом). Однако процедура
|
||||
которая будет восстанавливать этот фон, всё же нужна. При использовании
|
||||
акселератора это работает достаточно быстро. Биты 2 и 3 можно использовать как
|
||||
раздельно, так и совместно.
|
||||
@@ -0,0 +1,635 @@
|
||||
ÜÜÜÜÜÜ
|
||||
ÜÛ°°°°°°
|
||||
Û°° Û°°
|
||||
Û°°ÜÜÜÛ°°
|
||||
Û°°°°°°°°
|
||||
Û°° Û°°
|
||||
Û°° Û°° àå¨â¥ªâãà ª®¬¯ìîâ¥à Sprinter.
|
||||
ß°° ß°°
|
||||
|
||||
‚¢¥¤¥¨¥.
|
||||
|
||||
„ ®¥ ®¯¨á ¨¥ ¯à¥¤¯®« £ ¥â «¨ç¨¥ ®¯à¥¤¥«¥ëå § ¨© ç¨â ⥫ï,
|
||||
¨¬¥® § ¨¥ àå¨â¥ªâãàë ª®¬¯ìîâ¥à ZX-Spectrum ¨ ¨å à §®¢¨¤®á⥩, ¢
|
||||
ç áâ®á⨠Pentagon-128 ¨ Scorpion-256, â ª ¦¥ § ¨¥ ï§ëª BASIC ¨
|
||||
¥ª®â®à®¥ § ª®¬á⢮ á ï§ëª®¬ áᥬ¡«¥à Z80.
|
||||
‡¤¥áì ï ¡ã¤ã §ë¢ âì ª®ä¨£ãà æ¨¥© ¬ è¨ë - ª®ªà¥âãî ॠ«¨§ æ¨î
|
||||
ª®ªà¥â®© áå¥¬ë ¢ ¯¥à¥¯à®£à ¬¬¨à㥬®© «®£¨ç¥áª®© ¬¨ªà®á奬¥ (��‹Œ).
|
||||
�â® ®§ ç ¥â, çâ® ¬ è¨ ¨¬¥¥â ¬®¦¥á⢮ ª®ä¨£ãà æ¨©, ª ¦¤ ï ¨§ ª®â®àëå
|
||||
¨¬¥¥â ᢮î á奬ã.
|
||||
Ÿ â ª ¦¥ ¨á¯®«ì§ãî ¯®ï⨥ Š�˜-އ“. �â® ¥ Š�˜ ¢ ä®à¬ «ì®¬
|
||||
á¬ëá«¥, ¡ëáâ஥ އ“, ¢ ª®â®à®¬ ¯à®æ¥áá®à ¬®¦¥â à ¡®â âì ¢ë᮪®©
|
||||
ç áâ®â¥ ¡¥§ ®¦¨¤ ¨ï. Š�˜-¥¬ íâ® Ž‡“ §ë¢ ¥âáï ⮫쪮 ¯® âà ¤¨æ¨¨,
|
||||
¯®¤®¡® Š�˜-ã Š�537�“10 ¢ ª®¬¯ìîâ¥à å Pentagon-128.
|
||||
|
||||
|
||||
Šà ⪨¥ ¤ ë¥ ª®¬¯ìîâ¥à Sprinter.
|
||||
|
||||
�p®æ¥áá®p . . . . . . . . . . . Z84C15
|
||||
’ ªâ®¢ ï ç áâ®â . . . . 21MHz/3.5MHz
|
||||
އ“ . . . . . . . . . . . . . . 4096Kb
|
||||
Š�˜ އ“ . . . . . . . . . . . . . 64Kb
|
||||
�‡“ . . . . . . . . . . . . . . .128Kb
|
||||
‚¨¤¥®-އ“ . . . . . . . . . 256Kb(512)
|
||||
Š®âp®««¥p ¤¨áª®¢ . . . . . Šp1818‚ƒ93
|
||||
�®¤¤¥p¦ª 1.44Mb ä®p¬ â . . 3.5"¤¨áª
|
||||
Š®âp®««¥p ¢¨ç¥áâ¥p . . . . . IDE/AT
|
||||
Š®âp®««¥p ª« ¢¨ âãpë . . . 101key/AT
|
||||
Š®âp®««¥p ¬ëè¨ . . . . . . . MS-Mouse
|
||||
„¢ á«®â . . . . . . . áâ ¤ pâ ISA-8
|
||||
†¥«¥§ ï í¬ã«ïæ¨ï AY-3-8910 áâ¥à¥®-OUT
|
||||
COVOX . . . . . . . . . 8bit x 4chanel
|
||||
‚¨¤¥®-p¥¦¨¬ë: . . . Spectrum standart
|
||||
GRAF 320x256x256,640x256x16, TXT 80x32
|
||||
‚ë室 ¢¨¤¥® TV ¨«¨ CGA ¬®¨â®p, RGB
|
||||
|
||||
|
||||
’¥å¨ç¥áª ï ॠ«¨§ æ¨ï.
|
||||
|
||||
Ÿ¤à®¬ ¬ è¨ë ïîâáï ¯à®æ¥áá®à Z84C15 ¨ ��‹Œ EPF10K10QC208.
|
||||
Šà®¬¥ ¨å ¯« ⥠¯à¨áãâáâ¢ãîâ ¬¨ªà®á奬a �‡“, 72å-¯¨®¢ë© SIMM
|
||||
4Mb, 256Kb ¢¨¤¥®-އ“, 64Kb Š�˜-އ“, á奬 ª®â஫«¥à ¤¨áª®¢®¤
|
||||
�ˆ‘ Š�1818‚ƒ93, ¡ãä¥àë ¤«ï ¯®¤ª«îç¥¨ï ¤¦®©á⨪ , ¬ £¨â®ä® , ¯à¨â¥à ,
|
||||
ª« ¢¨ âãàë, ¤¨áª®¢®¤®¢, ¢¨ç¥áâ¥à , ¬ëè¨, ¡ãä¥àë¥ ¬¨ªà®á奬ë è¨ë ISA-8
|
||||
¨ ¥é¥ ®¤ ��‹Œ ä¨à¬ë ALTERA - EPM7032LC44. �â ��‹Œ ¥ ¬¥ï¥â ᢮¥©
|
||||
ª®ä¨£ãà æ¨¨ ¨ ¯à¥¤ § ç¥ ¤«ï ®¡¥á¯¥ç¥¨ï á¨åந§ 樨 ¨ ç «ì®£®
|
||||
§ ¯ã᪠ª®¬¯ìîâ¥à . � ¯« ⥠⠪ ¦¥ ¯à¥¤ãᬮâॠ¢®§¬®¦®áâì ¯®¤ª«î票ï
|
||||
CMOS ç ᮢ ®á®¢¥ ¬¨ªà®á奬ë DALLAS. Šà®¬¥ ¯¥à¨ä¥à¨¨ ¨ ¡ãä¥à®¢ ¨¬¥îâáï
|
||||
¬¨ªà®áå¥¬ë ¤¥è¨äà æ¨¨, ¢å®¤ë ª®â®àëå ¯®¤ª«îç îâáï ª ¯à®æ¥áá®àã ç¥à¥§ ��‹Œ.
|
||||
�â® ¯®§¢®«ï¥â «¥£ª® ¬¥ïâì ¤à¥á æ¨î ãáâனá⢠¡¥§ ª ª®£® «¨¡® ¨§¬¥¥¨ï
|
||||
à §¢®¤ª¨ ¯¥ç ⮩ ¯« âë.
|
||||
|
||||
|
||||
‚®§¬®¦®á⨠àå¨â¥ªâãàë ¬ è¨ë.
|
||||
|
||||
‘奬 ª®¬¯ìîâ¥p ®á®¢ ¡®«ì让 ¯¥p¥¯p®£p ¬¬¨p㥬®© «®£¨ç¥áª®©
|
||||
¬¨ªp®á奬¥. �®¤ª«î票¥ ¯¥à¨ä¥à¨©ëå ãáâனá⢠ç¥à¥§ ��‹Œ ¯®§¢®«ï¥â ¯®«ãç¨âì
|
||||
¢ë᮪ãî £¨¡ª®áâì ¬ è¨ë ¯® ª®ä¨£ãà æ¨ï¬.
|
||||
�p®£p ¬¬¨p®¢ ¨¥ ��‹Œ ®áãé¥á⢫ï¥âáï ¥¯®áp¥¤á⢥® ¢ ¬®¬¥â
|
||||
¢ª«î票ï, â ª ¦¥ ¯p¨ ¯¥p¥§ £p㧪¥, çâ® ¯®§¢®«ï¥â ª p¤¨ «ì® ¬¥ïâì
|
||||
á奬㠢 ��‹Œ ¥¯®áp¥¤á⢥® ¢® ¢p¥¬ï p ¡®âë. �â® á¨«ì® ¢ë¤¥«ï¥â
|
||||
àå¨â¥ªâãàã ª®¬¯ìîâ¥à ¨§ àï¤ áãé¥áâ¢ãîé¨å ª®¬¯ìîâ¥à®¢ ¨ ¯®í⮬㠬®£¨¥
|
||||
¯®ïâ¨ï, ¯à¨áã騥 ®¡ëçë¬ ¬ è¨ ¬, ¬¥ïîâ ᢮© á¬ëá«. ” ªâ¨ç¥áª¨ ª®¬¯ìîâ¥à
|
||||
¨¬¥¥â ¨§¬¥ï¥¬ãî àå¨â¥ªâãàã, ¢ ª®â®à®© ¢®§¬®¦ë ¨§¬¥¥¨ï ¢® ¬®£¨å ç áâïå
|
||||
á奬ë. ’ ª, ¯à¨¬¥à, ¥«ì§ï £®¢®à¨âì ® ª®ªà¥âëå ¤à¥á å ¯®à⮢
|
||||
¯®¤ª«îç¥¨ï ¯¥à¨ä¥à¨¨, â ª ª ª ®¨ ¬®£ãâ ¡ëâì ¨§¬¥¥ë ¢ ®¤ã ᥪã¤ã
|
||||
¯ã⥬ ¯¥à¥¯à®£à ¬¬¨à®¢ ¨ï ��‹Œ ¨ ¤ ëå ¢ އ“, ®â¢¥ç îé¨å § ª®ä¨£ãà æ¨î
|
||||
¯®à⮢. Š®ªà¥âë¥ ¤à¥á ¯®ï¢«ïîâáï ⮫쪮 ¢ ª®ªà¥âëå ª®ä¨£ãà æ¨ïå,
|
||||
¯à¨¬¥à, â ª®© ª ª ª®ä¨£ãà æ¨ï ZX-Spectrum.
|
||||
�¥à¥¯à®£à ¬¬¨à㥬®áâì áå¥¬ë ¤ ¥â ¤®¢®«ì® ¡®«ìèãî ᢮¡®¤ã
|
||||
ä â §¨¨ ¯à®£à ¬¬¨áâ ¯® ª®ä¨£ãà æ¨¨ ¬ è¨ë. ‡ ¤ã¬ë¢ ï ª®ªà¥âãî
|
||||
à ¡®âã ¯à®£à ¬¬¨áâ ¬®¦¥â ®¯à¥¤¥«¨âì ¢ ª ª®© ª®ä¨£ãà æ¨¨ ¥¥ ¬®¦®
|
||||
ᤥ« âì «ãçè¥, , ¢®§¬®¦®, ¨ ¯à¨¤ã¬ âì á¢®î ª®ä¨£ãà æ¨î, ª®â®àãî
|
||||
§ ⥬ ¬®¦® ॠ«¨§®¢ âì ¢ ��‹Œ ¨ ¢ª«îç¨âì ¯¥à¥¤ § ¯ã᪮¬ í⮩ ¯à®£à ¬¬ë.
|
||||
|
||||
|
||||
�«®ç ï á奬 ª®¬¯ìîâ¥à Sprinter.
|
||||
|
||||
ÚÄÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄÄ>Sinc
|
||||
³�à¨â¥à³ ³ 2 ISA SLOTS ³ ³ ÚÄÄÄÄÄÄÄ>R
|
||||
ÃÄÄÄÄÄÄÄ´ ÀÄÄÄÂÄÂÄÂÄÂÄÂÄÄÄÄÄÄÄÂÄÂÄÂÄÂÄÂÄÄÙ ³ ³ ÚÄÄÄÄÄ>G
|
||||
³ Œëèì ³ ÚÄÄÄÁÄÁÄÁÄÁÄÁÄÄÄÄÄÄÄÁÄÁÄÁÄÁÄÁÄÄ¿ ³ ³ ³ ÚÄÄÄ>B
|
||||
ÀÄÂÄÂÄÂÄÙ ³ �ãä¥àë ¨ ¤¥è¨äà â®àë ³ ³ ÚÄÁÄÁÄÁÄ¿
|
||||
³ ³ ³ ÀÄÄÄÂÄÄÄÄÄÄÄÄÄÄÂÄÂÄÄÂÄÂÄÄÄÄÂÄÂÄÙ ³ ³ –€� ³
|
||||
³ ³ ³ ³INT ³ ³ ³ ³ ³ ³ ³ ³ ¡ãä¥à ³
|
||||
ÚÄÄÁÄÁÄÁÂÄ¿ ³ ³ ³ ³ ³ ÚÁÄÁÄÄÄÄÄÄÁÄ¿ÀÄÄÂÄÂÄÄÙ ÚÄÄÄÄÄÄÄÄ¿
|
||||
³ ‚ãâà ³ ÃÄÄÄijÄÄÄÄÄÄÄÄÄÄÙ ÀÄij ³ÄÄÄ´ EPF10K10 ÃÄÄÄÙ ÀÄÄÄÄÄÄ´ ¢¨¤¥® ³
|
||||
³ ¯®àâë ³ ÃÄÄÄijÄÄÄÄÄÄÄÄÄÄDATAij ³ÄÄÄ´ ÃÄÄV_DATAÄÄÄÄ´ ³
|
||||
ÃÄÄÄÄÄÄÄÙ ÃÄÄÄijÄÄÄ¿ ÚÄÄÄÄÄÄÄÄij ³ÄÄÄ´ ÃÄÄÄÄÄÄÄÄÄÄÄÄ´ އ“ ³
|
||||
³ Ã<ÄÄÄÙ ³ ³ ³ ³ ³ ³ ³ ³
|
||||
³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ÀÄÄÄ´ ÃÄÄÄÄÄÄÄÄÄÄÄÄ´ ³
|
||||
³ Z84C15 ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄADRESSÄÄÄÄÄ´ ÃÄV_ADRESSÄÄÄ´ ³
|
||||
³ ÃÄÄÄÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ÃÄÄÄÄÄÄÄÄÄÄÄÄ´ ³
|
||||
³ ³ ³ ³ ³ ³ ³ ³ ³ ³
|
||||
³ Ã<ÄÄij ³Ä³ ³ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>´ ÃÄÄWE,CSiÄÄÄ>´ ³
|
||||
³ Ã<ÄÄij ³Ä³ ³ÄÄÄÄDIRÄÄÄÄÄÄÄ>´ ³ ÀÄÄÄÄÄÄÄÄÙ
|
||||
³ Ã<ÄÄij ³Ä³ ³ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>´ ÃÄÄÄÄÄÄÄ> Audio OUTs
|
||||
³ ³ ³ ³ ³ ³ ³ ³ ÚÄÄÄÄÄÄÄÄ¿
|
||||
³ ³ ÚÄÁÄÁÄÁÄÁÄÄÄÄÄÄÄ¿ ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄ´ MAIN ³
|
||||
³ ³ ³ �‡“ ¨ Š�˜-އ“ Ã<ÄADR'Ä´ ÃÄÄDATAÄÄÄÄÄÄ´ RAM ³
|
||||
ÀÄÂÄÂÄÂÄÄÂÙ ³ CS Ã<ÄCSÄÄÄ´ ÃÄÄÄÄÄÄÄÄÄÄÄÄ´ ³
|
||||
³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ³ ³ ³ SIMM ³
|
||||
³ D ³ ³ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄ´ ³
|
||||
³ A ³ ³ ³ EPM7032 ÃÄÄÄÄÄÄÄ>´ ÃÄÄADRESSÄÄÄÄ´ ³
|
||||
³ T ³ ÀÄÄ>´ Sinchro ³ ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄ´ ³
|
||||
³ A ³ ³ HDD_DIR Ã<ÄÄÄÄÄÄÄ´ ³ ³ ³
|
||||
³ ³ ³ ³ ”€�— Ã<ÄÄÄÄÄÄÄ´ ÃÄRAS,CAS,WEÄ´ ³
|
||||
³ ³ ³ ÀÄÂÄÂÄÂÄÂÄÂÄÄÄÄÙ ³ ³ ÀÄÄÄÄÄÄÄÄÙ
|
||||
³ ³ ³ ³ ³ ³ ³ ³ ³ ³
|
||||
ÚÄÁÄÁÄÁÄÄÄÄÄÄÄÄÁÄÁÄÁÄÁÄÁÄÄÄÄÄÄÄ¿ ³ ³
|
||||
³ �¥à¨ä¥à¨©ë¥ ãáâனá⢠Ã<ÄÄÄÄ´ ³
|
||||
³ FDD,HDD,KEMPSTON Ã<DIRÄ´ ³
|
||||
³ Ã<ÄÄÄÄ´ ³
|
||||
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ³ ³
|
||||
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>´ ³
|
||||
ÚÄÄÄÄÄÄÄÄ¿ ³ ÚÄÄÄÄÄÄÄÄ¿ ³ ³
|
||||
³ TAPE Ã<ÄÄÙ ³KeyboardÃÄÄÄÄÄÄÄÄÄ>´ ³
|
||||
³ in/out ³ ô ³ ³
|
||||
ÀÄÄÄÄÄÄÄÄÙ ÀÁÁÁÁÁÁÁÁÙ ÀÄÄÄÄÄÄÄÄÄÄÄÙ
|
||||
|
||||
�¨á㮪 1.
|
||||
|
||||
|
||||
|
||||
„«ï ¯à®áâ®âë ¥ª®â®àë¥ ¡ãä¥àë ¨ ¤¥è¨äà â®àë á奬¥ ¥ 㪠§ ë.
|
||||
Š®«¨ç¥á⢮ �஢®¤®¢ ¢ è¨ å â ª ¦¥ ãá«®¢ë. — áâì ᨣ «®¢ ã¯à ¢«¥¨ï
|
||||
ãáâனá⢠á ��‹Œ á¬ã«ì⨯«¨æ¨à®¢ ë á ¤à¥á ¬¨ SIMM- .
|
||||
|
||||
|
||||
„ «ì¥©è¥¥ ®¯¨á ¨¥ àå¨â¥ªâãàë ï¥âáï ®¯¨á ¨¥¬ ª®ªà¥âëå
|
||||
ª®ä¨£ãà æ¨© ¨ ç á⥩ ª®ä¨£ãà æ¨©. �® ¯¥à¥¤ í⨬ á«¥¤ã¥â ᪠§ âì ¥áª®«ìª®
|
||||
á«®¢ ® ¯¥à¥ª«î票¨ á ¬¨å ª®ä¨£ãà æ¨©.
|
||||
|
||||
‡ £à㧪 ª®ä¨£ãà æ¨©.
|
||||
|
||||
‚ ¬®¬¥â ¢ª«îç¥¨ï ª®¬¯ìîâ¥à , â ª ¦¥ ¯®á«¥ ¦ â¨ï RESET ¢áï
|
||||
¨ä®à¬ æ¨ï, 室¨¢è ïáï ¢ ��‹Œ ®â¢¥ç îé ï § ª®ªà¥âãî ª®ä¨£ãà æ¨î,
|
||||
áâ¨à ¥âáï. ��‹Œ ¯¥à¥å®¤¨â ¢ ०¨¬ ®¦¨¤ ¨ï § £à㧪¨ ¡«®ª ¤ ëå á奬ë.
|
||||
‚ íâ®â ¬®¬¥â ¯à®æ¥áá®à ¯®«®áâìî ®âª«îç¥ ®â ª ª®© «¨¡® ¯¥à¨ä¥à¨¨.
|
||||
‚ ¥£® ¤à¥á®¥ ¯à®áâà á⢮ ¯ ¬ï⨠®ª §ë¢ ¥âáï ¢ª«îç¥ ®¤ áâà ¨æ �‡“ ¨
|
||||
®¤ áâà ¨æ Ž‡“ Š�˜-¯ ¬ïâ¨. ‹î¡ ï § ¯¨áì ¢ ¤à¥á®¥ ¯à®áâà á⢮ ¯ ¬ïâ¨
|
||||
¯à®æ¥áá®à ¢ íâ®â ¬®¬¥â ¯à¨¢®¤¨â ª § ¯¨á¨ ¤ ëå ¢ ��‹Œ ¨ ¯à®£à ¬¬ ¢
|
||||
¯®¤ª«î祮© áâà ¨æ¥ �‡“ ¨¬¥¥â ⮫쪮 ®¤ã ¥¤¨á⢥ãî æ¥«ì - § £à㧨âì
|
||||
¢ ��‹Œ ¤ ë¥ ª®ä¨£ãà æ¨¨. ‚ í⮩ ¦¥ áâà ¨æ¥ �‡“ 室ïâáï ¤ ë¥
|
||||
ç «ì®© ª®ä¨£ãà æ¨¨. (‚ ¤ ë© ¬®¬¥â íâ® ª®ä¨£ãà æ¨ï Sprinter-1.)
|
||||
�à®£à ¬¬ § £à㧪¨ ª®ä¨£ãà æ¨¨ ¯à®¢¥àï¥â ä« £ ¢ Š�˜-¯ ¬ï⨠¨, ¥á«¨ ®
|
||||
ãáâ ®¢«¥, § £à㦠¥â ¢ ��‹Œ ¤ ë¥ ¨§ އ“, ¥á«¨ á¡à®è¥, â® ¤ ë¥ ¨§
|
||||
�‡“. � í⮬ ®á®¢ ® ¯¥à¥ª®ä¨£ãà¨à®¢ ¨¥ áå¥¬ë ª®¬¯ìîâ¥à .
|
||||
„«ï ¨§¬¥¥¨ï áå¥¬ë ¤® § £à㧨âì ¢ ¯®á«¥¤îî áâà ¨æã Š�˜-¯ ¬ïâ¨
|
||||
¡«®ª ¤ ëå ª®ä¨£ãà æ¨¨ ᮠᬥ饨ï #100 ¨ ¢ëáâ ¢¨âì ä« £, ª®â®àë¬ ï¢«ï¥âáï
|
||||
⥪á⮢ ï áâப "FLEX_10K_LOADING", § ¯¨á ï ¯® ᬥ饨î #80 ¢ í⮩ ¦¥
|
||||
áâà ¨æ¥ Š�˜- . �®á«¥ í⮣® ¤® ¯à®¨§¢¥á⨠¯®«ë© á¡à®á, ª®â®àë©
|
||||
®áãé¥á⢫ï¥âáï ¯à®£à ¬¬® § ¯¨áìî ¢ á¯¥æ¨ «ìãî áâà ¨æã ¯ ¬ï⨠RESET_PAGE.
|
||||
�à®£à ¬¬ ¢ �‡“, § ¯ã᪠¥¬ ï ¯® á¡à®áã 室¨â ä« £ FLEX_10K_LOADING ¨
|
||||
ç¨ ¥â § £à㧪㠤 ëå ¢ ��‹Œ. �ਠí⮬ ® ®¤®¢à¥¬¥® § â¨à ¥â ä« £,
|
||||
çâ® ¯à¥¤®â¢à é ¥â ¯®¢â®àãî § £à㧪㠮¢®© ª®ä¨£ãà æ¨¨ ¯à¨ ¦ ⨨
|
||||
ª®¯ªã RESET ¨ ¯®§¢®«ï¥â ¢¥àãâìáï ¯®á«¥ "àã箣®" á¡à®á ¢ ç «ìãî
|
||||
ª®ä¨£ãà æ¨î. ‡ â¨à ¨¥ ä« £ â ª ¦¥ ¨§¡ ¢«ï¥â ®â ¬ã票© ¢ á«ãç ¥
|
||||
¯®¤ª«îç¥¨ï ¥¯à ¢¨«ì®© ª®ä¨£ãà æ¨¨ ¢® ¢à¥¬ï íªá¯¥à¨¬¥â®¢ á ¯à®£à ¬¬ ¬¨.
|
||||
� ¦ ⨥ RESET ¢á¥£¤ ¢¥à¥â á奬㠢 ç «ìãî ª®ä¨£ãà æ¨î.
|
||||
|
||||
�ਬ¥ç ¨¥:
|
||||
‚ãâà¥ïï ¨ä®à¬ æ¨ï ¡«®ª ¤ ëå ��‹Œ ï¥âáï § ªàë⮩
|
||||
¨ä®à¬ 樥© ä¨à¬ë ALTERA. Šà®¬¥ á ¬¨å ¬¨ªà®á奬 ��‹Œ ALTERA ¯®áâ ¢«ï¥â
|
||||
¨ ¯à®£à ¬¬®¥ ®¡¥á¯¥ç¥¨¥ ¤«ï à §¢®¤ª¨ á奬 ¢ãâਠ��‹Œ. Š á®¦ «¥¨î, íâ
|
||||
¯à®£à ¬¬ ¥ ¬®¦¥â à ¡®â âì ª®¬¯ìîâ¥à¥ ⨯ ZX-Spectrum ¨ ¢ ¡«¨¦ ©è¥¬
|
||||
®¡®§à¨¬®¬ ¡ã¤ã饬 ¥ ¯à¥¤¢¨¤¨âáï ¥¥ ¢¥àá¨ï ¤«ï Sprinter- . �®í⮬ã
|
||||
à §à ¡®âª ®¢ëå ª®ä¨£ãà æ¨© ¬®¦¥â ¯à®¨§¢®¤¨âáï ⮫쪮 ¯à¨ «¨ç¨¨
|
||||
¤®áâ â®ç® ¬®é®© ¬ è¨ë (¢á¥ ¤¥« «®áì Pentium-166) ¨ ¯à®£à ¬¬ë à §¢®¤ª¨
|
||||
á奬 ¢ ��‹Œ, æ¥ ª®â®àãî á®áâ ¢«ï¥â á®â¨ ¤®«« ஢ ‘˜€.
|
||||
‚ á¢ï§¨ á í⨬, ¢ ¤ ë© ¬®¬¥â Sprinter ¨¬¥¥â ¥áª®«ìª® ª®ªà¥âëå
|
||||
ª®ä¨£ãà æ¨©, ¤¢¥ ¨§ ª®â®àëå § ¯¨á ë ¢ �‡“, ®áâ «ìë¥ ¬®£ãâ ¡ëâì
|
||||
¯®¤£à㦥ë á ¤¨áª¥âë ¨«¨ ¢¨ç¥áâ¥à . �®áâ®ï® ¢¥¤¥âáï ᮢ¥àè¥á⢮¢ ¨¥
|
||||
ª®ªà¥âëå ª®ä¨£ãà æ¨© ¨ à §à ¡®âª ®¢ëå.
|
||||
|
||||
Ю䍣ãà æ¨ï Sprinter-1.
|
||||
|
||||
‚ª«îç ¥â ¢ á¥¡ï ª®ä¨£ãà æ¨î Spectrum-128/256, à á¯à¥¤¥«¥¨¥ ¯ ¬ïâ¨
|
||||
¤® 4Mb, à áè¨à¥ë© íªà á ०¨¬ ¬¨ Spectrum, Text-80x32, Graf-320x256x256,
|
||||
ª®â஫«¥à ¤¨áª®¢®¤ , ª®â஫«¥à IDE ¢¨ç¥áâ¥à , ª®â஫«¥à ª« ¢¨ âãàë AT,
|
||||
¯®¤ª«î祮© ª ª ZX-Keyboard, 8-bit COVOX.
|
||||
�â ª®ä¨£ãà æ¨ï ¬ ªá¨¬ «ì® ¯à¨¡«¨¦¥ ª ª®ä®£ãà æ¨¨ ZX-Spectrum
|
||||
¨ ¯®§¢®«ï¥â à ¡®â âì ®¡ëçëå ᯥªâà㬮¢áª¨å ¯à®£à ¬¬ å ¨ ¯®á⥯¥®
|
||||
¬¥ïâì ¨å ¯®¤ à áè¨à¥ë¥ ०¨¬ë íªà ¨ ¯ ¬ïâ¨, â ª ¦¥ ¤«ï à ¡®âë á
|
||||
®¢ë¬¨ ãáâனá⢠¬¨.
|
||||
|
||||
Ю䍣ãà æ¨ï Sprinter-2.
|
||||
|
||||
‚ª«îç ¥â ¢ á¥¡ï ª®ä¨£ãà æ¨î Spectrum-128/256, à á¯à¥¤¥«¥¨¥ ¯ ¬ïâ¨
|
||||
¤® 4Mb, à áè¨à¥ë© íªà á ०¨¬ ¬¨ Spectrum, Text-80x32, Graf-320x256x256,
|
||||
ª®â஫«¥à ¤¨áª®¢®¤ , ª®â஫«¥à IDE ¢¨ç¥áâ¥à , ª®â஫«¥à ª« ¢¨ âãàë AT,
|
||||
¯®¤ª«î祮© ª ª ZX-Keyboard, Accelerator.
|
||||
Ю䍣ãà æ¨ï, ª ª ¨ Sprinter-1 ¯à¨¡«¨¦¥ ª ᯥªâà㬮¢áª®©, ®
|
||||
¨¬¥¥â ¡®«¥¥ ¦¥á⪨¥ âॡ®¢ ¨ï ª ¯à®£à ¬¬ ¬ ¯® ᮢ¬¥á⨬®áâ¨. �®§¢®«ï¥â
|
||||
¨á¯®«ì§®¢ âì ªá¥«¥à â®à ®¯¥à 権 á ®á®¢ë¬ ¨ ¢¨¤¥®-އ“. €ªá¥«¥à â®à
|
||||
ã᪮àï¥â ®¯¥à 樨 ¯¥à¥á뫪¨ ¡«®ª®¢ ¤ ëå ¨ § ¯®«¥¨ï އ“ ®¤¨¬ ¡ ©â®¬
|
||||
¤® 䨧¨ç¥áª®£® ¯à¥¤¥« ᪮à®á⨠®á®¢®£® އ“.
|
||||
‚ ¯®á«¥¤¥© ¢¥àᨨ ª®ä¨£ãà æ¨ï Sprinter-2 ¥ ¨¬¥¥â Spectrum-®¢áª®©
|
||||
ª« ¢¨ âãàë. ‚¬¥áâ® ¥¥ ¨§ ¯®àâ 0FEh áç¨âë¢ ¥âáï ᪠ª®¤ ¯à¨è¥¤è¨© á
|
||||
AT-ª« ¢¨ âãàë.
|
||||
|
||||
Ю䍣ãà æ¨ï ZX-Spectrum-256/AY.
|
||||
|
||||
�â ª®ä¨£ãà æ¨ï ¬ ªá¨¬ «ì® ¯à¨¡«¨¦¥ ª ZX-Spectrum-128/256
|
||||
¨ ¢ª«îç ¥â ¢ ᥡï á奬㠬ã§ëª «ì®£® á®¯à®æ¥áá®à AY-3-8910. ‚ í⮩
|
||||
ª®ä¨£ãà æ¨¨ ®âáãâáâ¢ãîâ à áè¨à¥ë¥ ०¨¬ë íªà .
|
||||
‚â®à ï ¢¥àá¨ï á奬ë AY ¢ª«îç ¥â ¢ ᥡï âਠ£¥¥à â®à £®«®á®¢,
|
||||
£¥¥à â®à è㬠¨ ॣã«ïâ®àë ¬¯«¨âã¤ë. ƒ¥¥à â®à ®£¨¡ î饩 ®âáãâáâ¢ã¥â.
|
||||
’ ª ¦¥ ®âáãâáâ¢ã¥â ¢®§¬®¦®áâì çâ¥¨ï ¨§ ¯®à⮢ ¤ ëå á®¯à®æ¥áá®à .
|
||||
‚ âà¥â쥩 ¢¥àᨨ AY ¯à¥¤¯®« £ ¥âáï ¤ ë¥ ¥¤®áâ ⪨ ¨áª«îç¨âì.
|
||||
|
||||
Ю䍣ãà æ¨ï Sprinter-3.
|
||||
|
||||
Ю䍣ãà æ¨ï ®â¢ï§ ®â ª®ä¨£ãà æ¨¨ ZX-Spectrum. �®«®áâìî
|
||||
®âª«îç ¥âáï �‡“ ¨ ¢á¥ ¤à¥á®¥ ¯à®áâà á⢮ à §¡¨â® ç¥âëॠ®ª ¯® 16k,
|
||||
¢ ª ¦¤®¥ ¨§ ª®â®àëå ¯®¤ª«îç ¥âáï «î¡ ï ¨§ 256-⨠áâà ¨æ Ž‡“. Žâáãâáâ¢ã¥â
|
||||
ᯥªâà㬮¢áª¨© íªà , £à ä¨ç¥áª¨© íªà â ª®© ¦¥, ª ª ¢ ª®ä¨£ãà æ¨ïå
|
||||
Sprinter-1 ¨ Sprinter-2. ˆ¬¥¥â ¤®¯®«¨â¥«ìë¥ äãªæ¨¨ ªá¥«¥à â®à .
|
||||
�®§¢®«ï¥â ¯à®¨§¢®¤¨âì ®¯¥à 樨 AND, OR ¨ XOR á ¡«®ª ¬¨ ¤ ëå. ˆ¬¥¥â 8-bit
|
||||
COVOX.
|
||||
‚ ¤ «ì¥©è¥¬ ¯à¥¤¯®« £ ¥âáï ¯®¤ª«î票¥ ¢ í⮩ ª®ä¨£ãà æ¨¨
|
||||
á¯à¨â¥à®¢áª®© §¢ãª®¢®© ª àâë.
|
||||
|
||||
Ю䍣ãà æ¨ï Game-1.
|
||||
|
||||
�®å®¦ ª®ä¨£ãà æ¨î Sprinter-3. €ªá¥«¥à â®à ¥ ¨¬¥¥â «®£¨ç¥áª¨å
|
||||
äãªæ¨©, ¤«ï ¢ë¢®¤ §¢ãª ¨¬¥¥â COVOX-Blaster - COVOX á ¡ãä¥àë¬ Ž‡“,
|
||||
¯®§¢®«ïî騬 ¢ë¢®¤¨âì §¢ãª ¯®¡«®ç® ¨ ®á¢®¡®¦¤ âì ¯à®æ¥áá®à®¥ ¢à¥¬ï ¤«ï
|
||||
¤à㣮© à ¡®âë. Ю䍣ãà æ¨ï ®à¨¥â¨à®¢ ¨á¯®«ì§®¢ ¨¥ ¢ ¨£à å ¤«ï
|
||||
Sprinter- .
|
||||
|
||||
|
||||
‘奬 à á¯à¥¤¥«¥¨ï ¯ ¬ïâ¨.
|
||||
|
||||
‘奬ë à á¯à¥¤¥«¥¨ï ¯ ¬ï⨠¢ ª®ä¨£ãà æ¨ïå Sprinter-1 ¨ Sprinter-2
|
||||
®¤¨ ª®¢ë ¨ ¤®áâ â®ç® ¯à®§à çë. ” ªâ¨ç¥áª¨ ® ¯à¥¤áâ ¢«ï¥â ᮡ®© á奬ã
|
||||
à á¯à¥¤¥«¥¨ï ¯ ¬ï⨠ª®¬¯ìîâ¥à Scorpion, á «®¦¥®© ¥¥
|
||||
¤®¯®«¨â¥«ì®© á奬®©, ª®â®à ï ¯®§¢®«ï¥â ¯à®¨§¢®«ì® ãáâ ¢«¨¢ âì ¢á¥
|
||||
áâà ¨æë ¯ ¬ïâ¨, ª ª �‡“, â ª ¨ އ“.
|
||||
Š ¦¤ ï áâà ¨æ �‡“ ¨«¨ އ“ ¨¬¥¥â ᢮© ¯®àâ, ¢ ª®â®à®¬ 㪠§ë¢ ¥âáï
|
||||
¤¥©á⢨⥫ìë© ®¬¥à áâà ¨æë ¨§ 256-⨠áâà ¨æ ¢á¥å 4Mb. ‘âà ¨æë,
|
||||
¯à®¥æ¨àã¥¬ë¥ ¢ à §«¨çë¥ ®ª ¤à¥á®£® ¯à®áâà á⢠¯à®æ¥áá®à ¨¬¥îâ ᢮¨
|
||||
ᮡáâ¢¥ë¥ ¯®àâë. ’.¥. ‘âà ¨æ , ¢ª«îç ¥¬ ï ¢ ¤à¥á #4000..#7FFF, ¨
|
||||
áâà ¨æ ®¬¥à 5 ®¡ë箣® Spectrum-®¢áª®£® à á¯à¥¤¥«¥¨ï ¯ ¬ïâ¨, ¢ª«îç ¥¬ ï
|
||||
¢ ¤à¥á #C000..#FFFF ¨¬¥îâ à §¤¥«ìë¥ ¯®àâë.
|
||||
‚ᥣ® â ª¨å ¯®à⮢ áâà ¨æ ¯ ¬ï⨠- 32.
|
||||
16 ¯®à⮢ ®â¢¥ç îâ § ®¬¥à áâà ¨æ Ž‡“, ¯®¤ª«îç ¥¬ë¥ ª ¤à¥á ¬
|
||||
#C000..#FFFF. …é¥ âਠ¯®à⠮⢥ç îâ § ¯®¤ª«î票¥ áâà ¨æ Ž‡“ ª ¤à¥á ¬
|
||||
#0000..#3FFF, #4000..#7FFF ¨ #8000..#BFFF. ‚®á¥¬ì ¯®à⮢ ¨á¯®«ì§ãîâáï ¤«ï
|
||||
¯®¤ª«î票ï à §«¨çëå áâà ¨æ �‡“. ޤ¨ ¯®àâ - ¤«ï ¯®¤ª«î票ï áâà ¨æë
|
||||
Š�˜- ¢¬¥áâ® �‡“. ˆ ®¤¨ ¯®àâ - íâ® ¯®àâ á¨á⥬®£® �‡“, ¯®¤ª«îç ¥¬®£®
|
||||
¬¥áâ® �‡“ áà §ã ¯®á«¥ á¡à®á ¬ è¨ë ¯® ª« ¢¨è ¬ Ctrl+Alt+Del.
|
||||
Žá⠢訥áï 3 ¯®àâ áâà ¨æ ¯ ¬ï⨠®áâ îâáï ¤ ë© ¬®¬¥â ¢ १¥à¢¥.
|
||||
‘奬 à á¯à¥¤¥«¥¨ï ¯ ¬ï⨠¯®§¢®«ï¥â ¯®¤ª«îç¨âì ¢ ¤à¥á®¥ ¯à®áâà á⢮
|
||||
¯à®æ¥áá®à ¥ ⮫쪮 އ“ ¨«¨ �‡“, ® ¨ ¯®àâë ¨ ¯ ¬ïâì ISA ª àâ, ¢áâ ¢«ï¥¬ëå
|
||||
¢ á«®â.
|
||||
�ਠ¯®¤ª«î票¨ ¢ ¤à¥á #C000..#FFFF ᪮௨®®¢áª¨å à áè¨à¥ëå
|
||||
áâà ¨æ Ž‡“, ¨å ¬¥áâ® ¬®¦® ¯¥à¥ ¤à¥á®¢ âì á«®âë. „«ï í⮣® ¤® ¯à®áâ®
|
||||
§ ¯¨á âì ¢ ¯®àâ ®¤®© ¨§ íâ¨å áâà ¨æ § 票¥, ᮮ⢥âáâ¢ãî饥 ISA-á«®âã,
|
||||
ª ª®â®à®¬ã ¥®¡å®¤¨¬® ¯à®¨§¢¥á⨠®¡à 饨¥. �â® § 票¥ â ª ¦¥ 㪠§ë¢ ¥â
|
||||
ª 祬㠢¥¤¥âáï ®¡à 饨¥, ª ¯®àâ ¬ ¨«¨ ¯ ¬ïâ¨.
|
||||
|
||||
|
||||
‘奬 à á¯à¥¤¥«¥¨ï ¯ ¬ï⨠Sprinter- .
|
||||
|
||||
€¤à¥á®¥ ¯à®áâà á⢮ ‘âà ¨çë¥ ¯®àâë �‡“ ª®¬¯ìîâ¥à
|
||||
¯à®æ¥áá®à ¯®¤ª«îç ¥¬ëå áâà ¨æ áâà ¨æë ¯® 16k
|
||||
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
|
||||
³ #0000..#3FFF ÃÄ>´ ¯®àâë ÃÄÄ>´ ROM_BASIC ÃÄÄ>ÂÄÄÂÄÄÂÄ>´ EXPANSION ³
|
||||
³ ³ ³ #7FFD,³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ³ ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||||
³ ³ ³ #1FFD ÃÄ¿ ³ ROM_TR-DOS ÃÄÄ>´ ³ ÃÄ>´ TR-DOS ³
|
||||
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ÀÄÄÄÄÄÄÄÙ ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ³ ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||||
³ #4000..#7FFF ÃÄÄÄÄÄÄÄÄÄÄ¿ ³ ³ ³ ³ ³ ÃÄ>´ BASIC128 ³
|
||||
³ ³ ³ ³ ÃÄ Ä Ä Ä Ä Ä Ä ´ ³ ³ ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||||
³ ³ ³ ³ ³ ROM_SYSTEM ÃÄÄ>Ù ³ ÃÄ>´ BASIC48 ³
|
||||
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||||
³ #8000..#BFFF ÃÄÄÄÄ¿ ³ À>´ RAM_0000 ÃÄÄÄ>¿ ³ ÃÄ>´ SYSTEM ROM ³
|
||||
³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ³ ³ ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||||
³ ³ ³ ³ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ ³ ÃÄ>´ SYSTEM ROM2 ³
|
||||
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ÀÄÄ>´ RAM_4000 ÃÄÄÄ>´ ³ ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||||
³ #C000..#FFFF ÿ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ³ ³ ÃÄ>´ CONFIG 2 ³
|
||||
³ ³³ ³ ³ ³ ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||||
³ ³³ ³ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ ³ ÀÄ>´ CONFIG 1 ³
|
||||
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ³ ÀÄÄÄÄÄÄÄÄ>´ RAM_8000 ÃÄÄÄ>´ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
|
||||
³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ³ ³
|
||||
³ ³ ³ އ“ ª®¬¯ìîâ¥à
|
||||
³ ÚÄÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ ³ áâà ¨æë ¯® 16k
|
||||
³ ³ �®àâë ÃÄÄ>´ RAM_0 ÃÄÄÄ>´ ³ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
|
||||
³ ³ #7FFD,³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ÃÄÄÄ>ÂÄ>´ RAM_00 ³
|
||||
À>´ #1FFD ÃÄÄ>´ ÃÄÄÄ>´ ³ ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||||
³ ³ ÃÄ Ä Ä Ä Ä Ä Ä ³ ³ ³ ÃÄ>´ RAM_01 ³
|
||||
³ ÃÄÄ>´ RAM_7 ÃÄÄÄ>´ ÀÄ>´ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||||
³ ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ³ ³ ³
|
||||
³ ÃÄÄ>´ RAM_8 ÃÄ>ÂijÄÄÄ>´ ÃÄ Ä Ä Ä Ä Ä Ä ´
|
||||
³ ³ ÃÄ Ä Ä Ä Ä Ä Ä ´ ³ ³ ÀÄÄ´ RAM_7F ³
|
||||
³ ÃÄÄ>´ ÃÄ>´ ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||||
³ ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ÀÄÄÄ>ÂÄ>´ RAM_80 ³
|
||||
³ ÃÄÄ>´ RAM_F ÃÄ>ÁÄ>¿ ³ ÃÄ Ä Ä Ä Ä Ä Ä ´
|
||||
ÀÄÄÄÄÄÄÄÙ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ³ ³ ³ ³
|
||||
‚¥è¨¥ ãáâனá⢠³ ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||||
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ ÃÄ>´ RAM_FE ³
|
||||
�®àâë ÃÄÄÄÄ>´ ISA_1 Ã<ÄÄÄÄ´ ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||||
ª®¬¯ìîâ¥à ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ÀÄ>´ RAM_FF ³
|
||||
ÃÄÄÄÄ>´ ISA_2 Ã<ÄÄÄÄ´ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
|
||||
³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³
|
||||
ÃÄÄÄÄ>´ HDD Ã<ÄÄÄÄ´
|
||||
³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³
|
||||
ÃÄÄÄÄ>´ OVER DEVICES Ã<ÄÄÄÄÙ
|
||||
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
|
||||
|
||||
�¨á㮪 2.
|
||||
|
||||
|
||||
|
||||
‚ ¤àã£¨å ª®ä¨£ãà æ¨ïå á奬 à á¯à¥¤¥«¥¨ï ¯ ¬ï⨠ã¯à®é ¥âáï ¤«ï
|
||||
®á¢®¡®¦¤¥¨ï à¥áãàᮢ ��‹Œ. Œ®£ãâ ®âáãâá⢮¢ âì ¯®àâë #1FFD ¨ #7FFD, â ª
|
||||
¦¥ ã¯à®é ¥âáï á奬 à ¡®âë á ãáâனá⢠¬¨, ®â®¡à ¦ ¥¬ë¬¨ ¯ ¬ïâì.
|
||||
|
||||
|
||||
‘奬 à á¯à¥¤¥«¥¨ï ¯®à⮢.
|
||||
|
||||
Sprinter ¨¬¥¥â ¤¢¥ ®¡®á®¡«¥ë¥ £àã¯¯ë ¯®à⮢. �¥à¢ ï £à㯯 , íâ®
|
||||
¢ãâ२¥ ¯®àâë ¯à®æ¥áá®à Z84C15, ¢â®à ï - ¢¥è¨¥ ¯®àâë. €¤à¥á æ¨ï
|
||||
¯®à⮢ ¯¥à¢®© £àã¯¯ë ¥ ¬®¦¥â ¡ëâì ¨§¬¥¥ , â ª ª ª í⨠¯®àâë ®¤®¬
|
||||
ªà¨áâ ««¥ á ¯à®æ¥áá®à®¬. ‚â®à ï £à㯯 ¯®£ª«îç ¥âáï ç¥à¥§ ��‹Œ ¨ ¨å ¤à¥á
|
||||
¬®£ãâ ¨§¬¥ïâìáï ª ª 㣮¤®, á ¥¤¨áâ¢¥ë¬ ãá«®¢¨¥¬, ¥¯¥à¥á¥ç¥¨ï á
|
||||
¤à¥á ¬¨ ¯¥à¢®© £à㯯ë.
|
||||
Ž â®¬ ª ª¨¥ ¯®àâë ¨¬¥îâáï ªà¨áâ ««¥ Z84C15 ¬®¦® ¯à®ç¨â âì ¢
|
||||
¤®ªã¬¥â 樨 ¯® íâ®¬ã ¯à®æ¥áá®àã ¨ §¤¥áì ï 㯮¬ïã ¥ª®â®àë¥ ¨§ ¨å. ޤ¨
|
||||
¨§ ¯®á«¥¤®¢ ⥫ìëå ¯®à⮢ ¨á¯®«ì§ã¥âáï ¤«ï ¢¢®¤ ¤ ëå á ªâ¨¢®© ¬ëè¨.
|
||||
ޤ¨ ¨§ ¯ à ««¥«ìëå ¨á¯®«ì§ã¥âáï ¤«ï ¢ë¢®¤ ¤ ëå, ¢â®à®© ¯ à ««¥«ìë©
|
||||
¯®àâ § ¢¥¤¥ë ᨣ «ë ¯à¥àë¢ ¨© ¨ § ¯à®á®¢ ¯àאַ£® ¤®áâ㯠ᮠ᫮⮢ ISA.
|
||||
� à ««¥«ìë© ¯®àâ ¯à®æ¥áá®à Z84C15 ãáâ஥ â ª¨¬ ®¡à §®¬, çâ® ¥¬
|
||||
¢®§¬®¦ ®à£ ¨§ æ¨ï ¯à¥àë¢ ¨© ¯® ᨣ « ¬ ¯à¨å®¤ï騬 ç¥à¥§ ¯ à ««¥«ìë©
|
||||
¯®àâ. ” ªâ¨ç¥áª¨ ¢â®à®© ¯ à ««¥«ìë© ¯®à⠨ᯮ«ì§ã¥âáï ª ª ª®â஫«¥à
|
||||
¯à¥àë¢ ¨©.
|
||||
‘奬 à á¯à¥¤¥«¥¨ï ¯®à⮢ ¢â®à®© £àã¯¯ë ¨¬¥¥â á¢®î ®á®¡¥®áâì.
|
||||
ƒ« ¢®© ¨¤¥¥© ¡ë«® ¯®«ã票¥ ¢®§¬®¦®á⨠¡ëáà® ¨§¬¥ïâì ª®ä¨£ãà æ¨î ¯®à⮢
|
||||
¡¥§ ¯¥à¥£à㧪¨ ��‹Œ. �â® ¤®á⨣ãâ® ¯ã⥬ ¯à¨¬¥¥¨ï ª àâë à á¯à¥¤¥«¥¨ï
|
||||
¯®à⮢, à ᯮ« £ î饩áï á¯¥æ¨ «ì®© áâà ¨æ¥ Ž‡“.
|
||||
�ਠ¯®ï¢«¥¨¨ 横« ®¡à é¥¨ï ª ¯®àâã á ç « ¯à®¨á室¨â ®¡à 饨¥
|
||||
ª އ“ ª àâë ¯®à⮢. ‚ ª à⥠¯®à⮢ § ¯¨á ® ª ª®© ¨¬¥® ¯®àâ ¯®¤ª«îç¥ ª
|
||||
¤ ®¬ã ¤à¥áã. „ «¥¥ ¯à®¨á室¨â ¢ãâà¥ïï ¤¥è¨äà æ¨ï ¯® ¡ ©âã ¨§ ª àâë
|
||||
¯®à⮢ ¨ ®¡à 饨¥ ª ¢ë¡à ®¬ã ¯®àâã. ‚ ०¨¬¥ ¥âãà¡® íâ® ¯à®¨á室¨â ¡¥§
|
||||
ª ª¨å «¨¡® § ¤¥à¦¥ª, ¢ ०¨¬¥ âãà¡® ¯à®æ¥áá®àã ¢ëáâ ¢«ï¥âáï ᨣ « WAIT ¢
|
||||
§ ¢¨á¨¬®á⨠®â ¥®¡å®¤¨¬®© ¤«¨ë 横« ®¡à é¥¨ï ª ¯®àâã.
|
||||
„«ï ¯®¤ª«îç¥¨ï ª ª ª®¬ã «¨¡® ¤à¥áã ¨«¨ ®âª«îç¥¨ï ®â ¥£® ª ª®£®
|
||||
«¨¡® ¯®àâ ¤®áâ â®ç® ®âªàëâì ª àâã ¯®à⮢ ¨ ¢¯¨á âì ¢ 㦮¥ ¬¥áâ® ®¤¨
|
||||
¡ ©â.
|
||||
‚ áâà ¨æ¥ ª àâë ¯®à⮢ ᮤ¥à¦¨âáï ç¥âëॠª àâë, ª®â®àë¥ ¬®£ãâ
|
||||
¯¥à¥ª«îç âìáï ç¥à¥§ á¨áâ¥¬ë© ¯®àâ. ’ ª¨¬ ®¡à §®¬ ¬®¦® ®áãé¥á⢨âì ¡ëáâ஥
|
||||
¯¥à¥ª«î票¥ ª®ä¨£ãà æ¨¨ ¯®à⮢, çâ® ¬®¦¥â ¡ëâì ¯®«¥§® ¯à¨ à ¡®â¥
|
||||
Spectrum-®¢áª¨å ¯à®£à ¬¬ ᮢ¬¥áâ® á® Sprinter-®¢áª¨¬ ¡¨®á®¬.
|
||||
|
||||
|
||||
Š®ªà¥âë¥ ¤à¥á ¯®à⮢, ¨á¯®«ì§ã¥¬ë¥ ¢ Sprinter-¥.
|
||||
|
||||
‡¤¥áì ï ¯à¨¢¥¤ã ¤à¥á æ¨î ¯®à⮢ ¤«ï ª®ä¨£ãà æ¨© Sprinter-1 ¨
|
||||
Sprinter-2. ‘à §ã ®â¬¥çã, çâ® í⨠¤à¥á «¥£ª® ¬®£ãâ ¡ëâì ¨§¬¥¥ë ¯à®á⮩
|
||||
¯à®£à ¬¬®©, ¢ á«ãç ¥ ¯®ï¢«¥¨ï â ª®© ¥®¡å®¤¨¬®áâ¨.
|
||||
|
||||
|
||||
‘â ¤ àâë¥ ¯®àâë.
|
||||
|
||||
#FE - RD_KBD - ¯®àâ ª« ¢¨ âãàë
|
||||
#FE - WR_BRD - ¯®àâ ¡®à¤îà
|
||||
#7FFD - ¯®àâ à áè¨à¥¨ï ZX-Spectrum 128k
|
||||
#1FFD - ¯®àâ à áè¨à¥¨ï Scorpion ZS-256
|
||||
#1F,#0F - RD_KEMPS - ¯®àâ ¤¦®©á⨪ . ‚ ª®ä¨£ãà æ¨¨ Sprinter-1 ¯®àâ
|
||||
#1F ¯¯ à â® ¯¥à¥ ¤à¥áã¥âáï ¯®àâ #0F
|
||||
#BFFD,#FFFD - AY-PORTS - ¯®àâë AY-á®¯à®æ¥áá®à (ZX-Spectrum-256/AY)
|
||||
|
||||
�¥ ᮢᥬ áâ ¤ àâë¥ ¯®àâë.
|
||||
|
||||
#FB,#4F - ¯®àâ COVOX- .
|
||||
|
||||
|
||||
„®¯®«¨â¥«ìë¥ 8-¡¨âë¥ ¯®àâë Sprinter- .
|
||||
|
||||
#82 - PAGE0 - áâà ¨æ Ž‡“, ¯®¤ª«îç ¥¬ ï ¢¬¥áâ® �‡“ ç¥à¥§ ¯®àâ #1FFD
|
||||
#A2 - PAGE1 - áâà ¨æ Ž‡“, ¯®¤ª«îç¥ ï ¯® ¤à¥áã #4000
|
||||
#C2 - PAGE2 - áâà ¨æ Ž‡“, ¯®¤ª«îç¥ ï ¯® ¤à¥áã #8000
|
||||
#E2 - PAGE2 - áâà ¨æ Ž‡“, ¯®¤ª«îç¥ ï ¯® ¤à¥áã #C000
|
||||
‡¤¥áì ¤® ®â¬¥â¨âì ®á®¡®, ç¥à¥§ ¯®àâ #E2 ¬®¦® ¨§¬¥¨âì «î¡ãî ¨§
|
||||
16-⨠áâà ¨æ ᪮௨®®¢áª®£® à á¯à¥¤¥«¥¨ï ¯ ¬ïâ¨.
|
||||
#89 - PORT_Y - ¢¥à⨪ «ì ï ª®®à¤¨ â â®çª¨ £à ä¨ç¥áª®¬ íªà ¥
|
||||
¨«¨ áâà ¨æ VIDEO-RAM ¤«ï ᯥªâà㬮¢áª®£® ०¨¬
|
||||
#C9 - RGMOD - ¯®àâ ०¨¬ íªà . �¥à¥ª«îç ¥â áâà ¨æë ०¨¬ íªà .
|
||||
#3C,#7C - SYS_PORT - á¨áâ¥¬ë© ¯®àâ âண âì ¥ ४®¬¥¤ã¥âáï
|
||||
|
||||
#10..#1F,#EE,#EF,#F0,#F1,#F4 - ¢ãâ२¥ ¯®àâë Z84C15
|
||||
|
||||
�®àâë áâà ¨æ Ž‡“ ®âªàëâë ª ª § ¯¨áì, â ª ¨ ç⥨¥. �â®
|
||||
¯®§¢®«ï¥â «¥£ª® ¢ë¯®«ïâì ¯à®£à ¬¬ë, ¨á¯®«ì§ãî騥 ¯¥à¥ª«î票¥ áâà ¨æ,
|
||||
§ ⥬ ¢®§¢à é âì í⨠áâà ¨æë § ¤. �à¨ à ¡®â¥ BIOS- ¢á¥ áâà ¨æë
|
||||
á®åà ïîâáï.
|
||||
|
||||
|
||||
„®¯®«¨â¥«ìë¥ 16-⨡¨âë¥ ¯®àâë Sprinter- .
|
||||
|
||||
#xx50..#xx55 - ¯®àâë HDD - ¨á¯®«ì§®¢ âì ¢¥è¨¬¨ ¯à®£à ¬¬ ¬¨ ¥
|
||||
४®¬¥¤ã¥âáï. ”ãªæ¨¨ à ¡®âë á HDD § ¯¨á ë ¢ �‡“.
|
||||
|
||||
|
||||
‘ªàëâë¥ ¯®àâë Sprinter- .
|
||||
|
||||
‘ªàëâ묨 ïîâáï ¯®àâë ª®â®àë¥ ¤®áâã¯ë ¢ ª®ªà¥âë© ¬®¬¥â
|
||||
¢à¥¬¥¨, ® ¬®£ãâ áâ âì ¤®áâã¯ë¬¨ ¯®á«¥ ¯à®¢¥¤¥¨ï ¨§¬¥¥¨© ¢ ª à⥠¯®à⮢.
|
||||
ˆå ¤à¥á ¥ 㪠§ë¢ îâáï, â ª ª ª ®¨ ¬®£ãâ ¡ëâì ¢ëáâ ¢«¥ë ¢ «î¡®¥ ¬¥áâ®.
|
||||
|
||||
�®àâ �‡“ BASIC48
|
||||
�®àâ �‡“ BASIC128
|
||||
�®àâ �‡“ TR-DOS
|
||||
�®àâ �‡“ EXPANSION
|
||||
�®àâ �‡“ SYSTEM
|
||||
|
||||
—¥à¥§ í⨠¯®àâë ¬®¦® ãáâ ®¢¨âì ®¢ë¥ ¯à®è¨¢ª¨ �‡“. „«ï í⮣® ¨å
|
||||
¤®áâ â®ç® § ¯¨á âì ¢ އ“ á ®¬¥à ¬¨ áâà ¨æ ¬¥ìè¥ #80 ¨ § ¯¨á âì ¢
|
||||
ᮮ⢥âáâ¢ãî騩 ¯®àâ ®¬¥à í⮩ áâà ¨æë. �ਠ⠪®¬ ¯®¤ª«î票¨ áâà ¨æë
|
||||
�⨠áâà ¨æë ¡ã¤ãâ § é¨é¥ë ®â § ¯¨á¨.
|
||||
— áâ¨ç® áªàëâ묨, â ª ¦¥ ïîâáï ¨ ¯®àâë #7FFD,#1FFD ¢ ®¡ë箬
|
||||
á®áâ®ï¨¨ ®¨ ¤®áâã¯ë ⮫쪮 § ¯¨áì, ® § 票ï, § ¯¨áë¢ ¥¬ë¥ ¢ íâ¨
|
||||
¯®àâë ¬®¦® ¯à®ç¨â âì, ®âªàë¢ á®®â¢¥âáâ¢ãî騥 ¯®àâë ç⥨¥.
|
||||
‚ ¤àã£¨å ª®ä¨£ãà æ¨ïå ¬®¦¥â ®âáãâá⢮¢ âì ç áâì ¯®à⮢ ¨«¨
|
||||
¯à¨áãâá⢮¢ âì ®¢ë¥ ¯®àâë.
|
||||
|
||||
|
||||
Žà£ ¨§ æ¨ï ¢¨¤¥®¯ ¬ï⨠¨ ¢¨¤¥®à¥¦¨¬®¢.
|
||||
|
||||
‚¨¤¥®-އ“ Sprinter- á®áâ ¢«ï¥â 256 ª¨«®¡ ©â. ‚ ¤ «ì¥©è¥¬
|
||||
¯à¥¤¯®« £ ¥âáï ¥£® à áè¨à¥¨¥ ¤® 512 ª¨«®¡ ©â, ¤«ï ¯®«ãç¥¨ï ¡®«¥¥
|
||||
¢ë᮪¨å ०¨¬®¢ à §à¥è¥¨ï.
|
||||
‚ ०¨¬¥ Spectrum-®¢áª®£® íªà ¢áï ®à£ ¨§ æ¨ï â ª ï ¦¥ ª ª ¢
|
||||
áâ ¤ à⮬ ZX-Spectrum. ‚ ®áâ «ìëå ०¨¬ å ¢ª«îç ¥âáï Sprinter-®¢áª¨©
|
||||
íªà , áâàãªâãà ª®â®à®£® ¢ª«îç ¥â ¢ á¥¡ï ‘¯¥ªâà㬮¢áª¨© íªà ª ª ç áâì
|
||||
á奬ë.
|
||||
|
||||
“áâனá⢮ íªà .
|
||||
|
||||
‚¥áì íªà à §¡¨â ª¢ ¤à âë, à §¬¥à®¬ ¢ áâ ¤ à⮥
|
||||
‘¯¥ªâà㬮¢áª®¥ § ª®¬¥áâ®. „«ï ª ¦¤®£® ª¢ ¤à â ãáâ ¢«¨¢ ¥âáï ᢮©
|
||||
ᮡáâ¢¥ë© à¥¦¨¬ ¢ë¢®¤ , â ª ¦¥ ¤à¥á ¢¨¤¥®-އ“, ®âªã¤ ¯à®¨§¢®¤¨âáï
|
||||
¢ë¢®¤ ¢ íâ®â ª¢ ¤à â.
|
||||
‚ ª ¦¤®¬ § ª®¬¥á⥠¬®¦¥â ¡ëâì § ¤ ᢮© ᮡáâ¢¥ë© à¥¦¨¬ ¢ë¢®¤ .
|
||||
‚ ¤ ë© ¬®¬¥â ¬®¦® ãáâ ¢«¨¢ âì â ª¨¥ ०¨¬ë:
|
||||
ZX-40 - ®¡ëçë© á¯¥ªâà㬮¢áª¨© ०¨¬ á ®¤¨¬ ¡¨â¯« ®¬ ¨
|
||||
®¤¨¬ âਡã⮬ § ª®¬¥áâ®.
|
||||
ZX-80 - �¥¦¨¬, ¯®å®¦¨© ᯥªâà㬮¢áª¨© ¯® áâ஥¨î
|
||||
ᨬ¢®«®¢, ® ¢ ª ¦¤®¬ § ª®¬¥á⥠®ª §ë¢ ¥âáï ¤¢ ᨬ¢®« , ᦠâë¥ ¯®
|
||||
£®à¨§®â «¨.
|
||||
G256-8 - ƒà ä¨ç¥áª¨© ०¨¬. Š¢ ¤à ⠯।áâ ¢«ï¥â ᮡ®© ¬ áᨢ 8x8
|
||||
â®ç¥ª. ‚ ª ¦¤®© â®çª¥ § ¤ ¥âáï ®¤¨ ¨§ 256-⨠梥⮢, ¢ë¡¨à ¥¬ëå ¨§ ¯ «¨âàë
|
||||
16 ¬¨««¨®®¢ 梥⮢. Š¢ ¤à âë ¬®£ãâ ¨¬¥âì à §ë¥ ¯ «¨âàë. ’ ª¨å ¯ «¨âà ¤«ï
|
||||
०¨¬ G256-8 - ç¥âëà¥.
|
||||
G16-16 - ƒà ä¨ç¥áª¨© ०¨¬. Š¢ ¤à ⠯।áâ ¢«ï¥â ᮡ®© ¬ áᨢ
|
||||
16x8 â®ç¥ª. Š ¦¤ ï â®çª ¨¬¥¥â ®¤¨ ¨§ 16 梥⮢, ¢ë¡¨à ¥¬ëå ¨§ ¯ «¨âàë 16
|
||||
¬¨««¨®®¢ 梥⮢. ’ ª ¦¥, ª ª ¨ G256-8 ¢ ª¢ ¤à ⥠¬®¦¥â ¡ëâì ãáâ ®¢«¥
|
||||
®¤ ¨§ 4-å ¯ «¨âà. � «¨âàë £à ä¨ç¥áª¨å ०¨¬®¢ ¯¥à¥á¥ª îâáï ¤àã£ á ¤à㣮¬.
|
||||
� «¨âà 16-â¨æ¢¥â®£® ०¨¬ íâ® ¯¥à¢ë¥ 16 梥⮢ ¨§ ¯ «¨âàë 256-â¨æ¢¥â®£®.
|
||||
BORDER - ‚ ª¢ ¤à ⠢뢮¤¨âáï æ¢¥â ¡®à¤¥à .
|
||||
BLANK - Š¢ ¤à â £ á¨âáï - áâ ®¢¨âáï ç¥àë¬.
|
||||
|
||||
Ž¡ê¥¬ ¤ ëå ०¨¬ ª¢ ¤à â á®áâ ¢«ï¥â 2 ¡ ©â ,
|
||||
¯®í⮬㠨§¬¥¥¨¥ ०¨¬ ¢á¥£® íªà ᢮¤¨âáï ª ¯¥à¥§ ¯¨á¨ 2.5 ª¨«®¡ ©â
|
||||
¤ ëå ¢ ¢¨¤¥®-އ“.
|
||||
�®¤®¡ ï áâàãªâãà íªà ¯®§¢®«ï¥â «¥£ª® ¯à®¨§¢®¤¨âì áªà®««¨£¨
|
||||
ª ª ¢á¥£®, â ª ¨ ç á⥩ íªà ¯® § ª®¬¥áâ ¬.
|
||||
|
||||
�¥¦¨¬ íªà ãáâ ¢«¨¢ ¥âáï ¯à¨ ¢ª«î票¨, â ª ¦¥ á ¯®¬®éìî
|
||||
äãªæ¨© ¡¨®á . ”ãªæ¨¨ ¡¨®á ¯®§¢®«ïîâ ®âªàë¢ âì íªà ¥ £à ä¨ç¥áª¨¥ ¨
|
||||
⥪áâ®¢ë¥ ®ª ¢ ã¦ëå ¬¥áâ å ¨ 㦮£® à §¬¥à .
|
||||
|
||||
‚ ¡¨®á¥ ¨¬¥îâáï äãªæ¨¨ ®âªàëâ¨ï £à ä¨ç¥áª®£® íªà ¢¥áì íªà
|
||||
320x256 â®ç¥ª. �®á«¥ ®âªàëâ¨ï í⮣® ०¨¬ íªà ¯à¥¤áâ ¢«ï¥â ᮡ®©.
|
||||
¡®à ¨§ 256-⨠«¨¨©, ¤«¨®© ¯® 320 ¡ ©â. ‘®á¥¤¨¥ â®çª¨ ¢ «¨¨¨ - íâ®
|
||||
á®á¥¤¨¥ ¡ ©âë. �¥à¥ª«î票¥ «¨¨© ¯à®¨§¢®¤¨âáï ç¥à¥§ PORT_Y, ¢ ª®â®à®¬
|
||||
ãáâ ¢«¨¢ ¥âáï ®¬¥à «¨¨¨, ¢ë¢®¤¨¬®© íªà . �®¬¥à «¨¨© áç¨â îâáï
|
||||
ᢥàåã íªà , ç¨ ï á ã«¥¢®©.
|
||||
„«ï ¢ë¢®¤ ¢ £à ä¨ç¥áª¨© íªà â ª ¦¥ âॡã¥âáï ®âªàëâì
|
||||
ᮮ⢥âáâ¢ãîéãî áâà ¨æã ®á®¢®£® އ“. ‚ í⮩ áâà ¨æ¥ ¡ã¤¥â ᮤ¥à¦ âìáï
|
||||
ª®¯¨ï ¢¨¤¥®¨§®¡à ¦¥¨ï.
|
||||
‚¨¤¥®-އ“ ï¥âáï ⥥¢ë¬ އ“, ¯®í⮬㠨ä®à¬ æ¨ï, 室ïé ïáï ¢
|
||||
®á®¢®¬ އ“, ¯®¤ ª®â®àë¬ å®¤¨âáï ¢¨¤¥®-އ“ ¥ ®¡ï§ â¥«ì® ¡ã¤¥â
|
||||
ᮢ¯ ¤ âì á ¨ä®à¬ 樥©, 室ï饩áï ¢ í⮬ ¢¨¤¥®-އ“. ‡ ¯¨áì ¢¨¤¥®-¤ ëå
|
||||
¬®¦¥â ¯à®¨§¢®¤¨âìáï ¨ ¡¥§ ¯¥à¥§ ¯¨á¨ ¤ ëå ¢ ®á¢®¬ އ“, çâ® ®ª §ë¢ ¥âáï
|
||||
¯®«¥§ë¬ ¯à¨ à ¡®â¥, ¯à¨¬¥à, á® á¯à ©â ¬¨. „«ï à ¡®âë á® á¯à ©â ¬¨ â ª ¦¥
|
||||
¯à¥¤ãᬮâॠ०¨¬ § ¯¨á¨ ¢ ¢¨¤¥®-އ“ á ¯à®§à çë¬ æ¢¥â®¬. ‚ í⮬ ०¨¬¥
|
||||
¨ä®à¬ æ¨ï, ¯¥à¥¤ ¢ ¥¬ ï ¢ ¢¨¤¥®-އ“ ¯à®¢¥àï¥âáï «¨ç¨¥ ¡ ©â #FF. …᫨
|
||||
íâ®â ¡ ©â ®¡ à㦨¢ ¥âáï, ⮠横« § ¯¨á¨ ¯à®¯ã᪠¥âáï ¨ íªà ¥ ¢ í⮬
|
||||
¬¥á⥠®áâ ¥âáï ⥠¤ ë¥, ª ª¨¥ ¡ë«¨ à ¥¥. ’ ª¨¬ ®¡à §®¬ íªà ¥ ¬®¦®
|
||||
¡ëáâà® ¯à®à¨á®¢ë¢ âì á¯à ©âë, ¯à¥¤áâ ¢«ïî騥 ¨§ á¥¡ï ¯àאַ㣮«ìë¥ ª à⨪¨
|
||||
á "¯à®§à ç묨" 梥⠬¨.
|
||||
|
||||
�ਬ¥à ¯à®£à ¬¬ë ¢ë¢®¤ ¯àאַ㣮«ì®© ª à⨪¨ íªà :
|
||||
|
||||
PAGE3 EQU #E2
|
||||
RGADR EQU #89
|
||||
|
||||
LD A,#50 ; áâà ¨æ £à ä¨ç¥áª®£® ¢¨¤¥®íªà
|
||||
OUT (PAGE3),A ; ãáâ ®¢¨âì ¢ PAGE3
|
||||
LD HL,Pucture ; ¤à¥á ª à⨪¨ (�àï¬ë¥ „ ë¥)
|
||||
LD DE,#C040+HorPlace ; ¯®«®¦¥¨¥ ª à⨪¨ íªà ¥ ¯® £®à¨§®â «¨
|
||||
LD A,VerPlace ; ¯®«®¦¥¨¥ ª à⨪¨ íªà ¥ ¯® ¢¥à⨪ «¨
|
||||
OUT (RGADR),A
|
||||
LD B,VerSize ; ¢ëá®â ª à⨪¨
|
||||
LOOP: PUSH DE ; § ¯®¬¨âì ¯®«®¦¥¨¥ «¨¨¨
|
||||
PUSH BC ; § ¯®¬¨âì áç¥â稪 ¢ëá®âë
|
||||
LD BC,HorSize ; ¤«¨ ª à⨪¨
|
||||
LDIR ; ª®¯¨à®¢ âì «¨¨î
|
||||
POP BC
|
||||
POP DE
|
||||
INC A ; á«¥¤ãîé ï ª®®à¤¨ â ¯® Y
|
||||
OUT (RGADR),A
|
||||
DJNZ LOOP ; ¯®¢â®àïâì 㦮¥ ª®«¨ç¥á⢮ à §
|
||||
|
||||
“¯à ¢«¥¨¥ ०¨¬®¬ ¢ë¢®¤ íªà (¢ª«î票¥ ¢ë¢®¤ á ¯à®§à ç묨
|
||||
梥⠬¨, ®âª«î票¥ ª®¯¨à®¢ ¨ï ¢ ®á®¢®¥ އ“) ®áãé¥á⢫ï¥âáï ç¥à¥§
|
||||
¬« ¤è¨¥ ¡¨âë ¯®àâ áâà ¨æë £à ä¨ç¥áª®£® íªà .
|
||||
|
||||
|
||||
€ªá¥«¥à â®à ®¯¥à 権 á Ž‡“.
|
||||
|
||||
€ªá¥«¥à â®à ®¯¥à 権 á Ž‡“ ¯à¥¤ § ç¥ ¤«ï ãáª®à¥¨ï ®¯¥à 権
|
||||
¯® ¯¥à¥á뫪¥ ¤ ëå ¨«¨ ¯® § ¯®«¥¨î އ“ ®¤¨¬ ¡ ©â®¬. €ªá¥«¥à â®à
|
||||
¯à¨áãâáâ¢ã¥â ¢ ç¨áâ® Sprinter-®¢áª¨å ª®ä¨£ãà æ¨ïå ¨ ¯®í⮬㠨ª ª ¥
|
||||
¬¥è ¥â à ¡®â¥ ®¡ëçëå Spectrum-®¢áª¨å ¯à®£à ¬¬.
|
||||
Žá®¢®© ªá¥«¥à â®à ï¥âáï ¡ëáâ஥ ¢ãâ॥¥ އ“ ¢ ��‹Œ.
|
||||
ޝ¥à 樨 ¯® ¯¥à¥á뫪¥ ¤ ëå ¯à®¨§¢®¤ïâáï ¯ã⥬ § ¯¨á¨ ¡«®ª ¤ ëå ¢ íâ®
|
||||
¢ãâ॥¥ އ“, § ⥬ ª®¯¨à®¢ ¨¨ ¥£® ¢ 㦮¥ ¬¥áâ® ¯ ¬ï⨠¨§ í⮣® އ“.
|
||||
�®á«¥ ®¤®© § ¯¨á¨ ª®¯¨à®¢ ¨¥ ¬®¦¥â ¯à®¨§¢®¤¨âìáï ¥áª®«ìª® à § ¨ â ª¨¬
|
||||
®¡à §®¬ ¬®¦® ¯à®¨§¢®¤¨âì § ¯®«¥¨¥ íªà ⥪áâãà ¬¨.
|
||||
„«ï § ¯®«¥¨ï íªà ®¤¨¬ 梥⮬ ¨á¯®«ì§ã¥âáï ¤à㣮© ०¨¬
|
||||
ªá¥«¥à â®à . ‚ ¥¬ ¢¬¥áâ® ª®¯¨à㥬®£® ¡«®ª ¤ ëå ¨§ ¢ãâ॥£® އ“
|
||||
¯à®¨§¢®¤¨âáï § ¯¨áì ¤ ëå á è¨ë ¯à®æ¥áá®à , ª®â®àë¥ ¢ íâ®â ¬®¬¥â ¥
|
||||
¨§¬¥ïîâáï.
|
||||
�«®ª ¤ ëå, § ¯¨áë¢ ¥¬ë© ¢ އ“ ªá¥«¥à â®à ¬®¦¥â ¨¬¥âì à §«¨çãî
|
||||
¤«¨ã ¨§ ¤¨ ¯ §® 1..256 ¡ ©â.
|
||||
“¯à ¢«¥¨¥ ªá¥«¥à â®à®¬ ¯à®¨§¢®¤¨âáï ¥¯®á।á⢥® ¨§ ¯à®£à ¬¬ë.
|
||||
„«ï í⮣® ¨§¯®«ì§ãîâáï ª®¬ ¤ë ¯à®æ¥áá®à , ª®â®àë¥ ä ªâ¨ç¥áª¨ ïîâáï
|
||||
®¯¥à æ¨ï¬¨ ⨯ NOP.
|
||||
�â® ª®¬ ¤ë LD A,A; LD B,B; LD C,C; LD D,D; LD E,E; LD H,H, LD L,L
|
||||
� § 票¥ ª®¬ ¤ á«¥¤ãî饥:
|
||||
LD B,B - ¢ëª«îç¨âì ªá¥«¥â à®à.
|
||||
LD D,D - ¢ª«îç¨âì ªá¥«¥à â®à ¢ ०¨¬ ¯à¨¥¬ ¡ ©â à §¬¥à ¡«®ª
|
||||
¤ «¥¥ á«¥¤ã¥â ª®¬ ¤ ⨯ LD A,dat, £¤¥ dat ¨ ¡ã¤¥â ®¢ë¬
|
||||
à §¬¥à®¬ ¡«®ª . …᫨ à §¬¥à ¡«®ª ¡ë« ãáâ ®¢«¥ à ¥¥,
|
||||
¥£® ¬®¦® ¥ ãáâ ¢«¨¢ âì.
|
||||
LD C,C - ޝ¥à æ¨ï Fill - § ¯®«¥¨¥ ®¤¨¬ ¡ ©â®¬. �®á«¥¤ãîé ï
|
||||
ª®¬ ¤ ⨯ LD (HL),A ¯à¨¢¥¤¥â ª § ¯®«¥¨î 㪠§ ®£®
|
||||
à ¥¥ ª®«¨ç¥á⢠¡ ©â § 票¥¬ A
|
||||
LD E,E - ޝ¥à æ¨ï Fill ¤«ï £à ä¨ç¥áª®£® íªà - § ¯®«¥¨¥
|
||||
¢¥à⨪ «ìëå «¨¨©.
|
||||
LD H,H - rezerved
|
||||
LD L,L - ª®¯¨à®¢ ¨¥ ¡«®ª . �®á«¥¤ãîé ï ª®¬ ¤ ⨯ LD A,(HL)
|
||||
¯à¨¢¥¤¥â ª § ¯®«¥¨î އ“ ªá¥«¥à â®à ¤ 묨 ¨§ ¤à¥á (HL),
|
||||
ª®¬ ¤ ⨯ LD (DE),A ¯à¨¢¥¤¥â ª ¯¥à¥§ ¯¨á¨ ¤ ëå ¨§ އ“
|
||||
ªá¥«¥à â®à ¢ ®á®¢®¥ ¨«¨ ¢¨¤¥®-އ“.
|
||||
LD A,A - ª®¯¨à®¢ ¨¥ ¡«®ª ¤«ï £à ä¨ç¥áª®£® íªà ¯®¤®¡ ª®¬ ¤¥
|
||||
LD L,L, ® à ¡®â ¥â á ¢¥à⨪ «ì묨 «¨¨ï¬¨ íªà .
|
||||
|
||||
�ਬ¥à ¨á¯®«ì§®¢ ¨ï ªá¥«¥à â®à :
|
||||
|
||||
; ‘ç¨â ¥¬, çâ® íªà ï áâà ¨æ 㦥 ®âªàëâ ¯® ¤à¥áã #C000
|
||||
LD HL,#C040 ; ¤à¥á ç « «¨¨¨ ¯¥à¢®£® íªà
|
||||
LD DE,#C180 ; ¤à¥á ç « «¨¨¨ ¢â®à®£® íªà
|
||||
LD BC,#140 ; ¤«¨ íªà ¯® £®à¨§®â «¨
|
||||
DI ; § ¯à¥â¨âì ¯à¥àë¢ ¨ï ¤«ï à ¡®âë á ªá¥«¥à â®à®¬
|
||||
LD D,D ; ¢ª«îç¨âì ªá¥«¥à â®à ãáâ ®¢ªã à §¬¥à ¡«®ª
|
||||
LD A,0 ; ãáâ ®¢¨âì à §¬¥à ¡«®ª - 256 ¡ ©â
|
||||
LD A,A ; ãáâ ®¢¨âì ªá¥«¥à â®à ª®¯¨à®¢ ¨¥
|
||||
; ¢¥à⨪ «ìëå «¨¨©.
|
||||
LDIR ; ª®¯¨à®¢ âì !
|
||||
LD B,B ; ¢ëª«îç¨âì ªá¥«¥à â®à
|
||||
EI ; ¢ª«îç¨âì ¯à¥àë¢ ¨ï
|
||||
|
||||
�â®â ®â१®ª ¯à®£à ¬¬ë ¯à®¨§¢¥¤¥â ª®¯¨à®¢ ¨¥ ¢á¥£® íªà á ®¤®£®
|
||||
íªà ¤à㣮©. ‚à¥¬ï ¥£® ¨á¯®«¥¨ï á®áâ ¢«ï¥â ¯à¨¬¥à® 1.2 ¨â .
|
||||
|
||||
„®¯®«¨â¥«ìë¥ äãªæ¨¨ ªá¥«¥à â®à ¯®ï¢«ïî騥áï ¢ ª®ä¨£ãà æ¨¨
|
||||
Sprinter-3 à ¡®â îâ ¯®¤®¡ë¬ ¦¥ ®¡à §®¬. „«ï ¢ë¯®«¥¨ï «®£¨ç¥áª¨å äãªæ¨©
|
||||
¨á¯®«ì§ãîâáï ª®¬ ¤ë XOR (HL); OR (HL); AND (HL).
|
||||
|
||||
�ਬ¥à ªá®àª¨ ¡«®ª ¢ 256 ¡ ©â.
|
||||
|
||||
LD HL,ADRES_1
|
||||
LD DE,XOR_DAT
|
||||
DI
|
||||
LD D,D
|
||||
LD A,0 ; ç¨á«® ¡ ©â, ª®â®àë¥ ¤® ¯à®ªá®à¨âì
|
||||
LD L,L
|
||||
LD A,(DE) ; ‚§ïâì ¡«®ª ¢ އ“ ªá¥«¥à â®à
|
||||
XOR (HL) ; ¯à®¨§¢¥á⨠®¯¥à æ¨î XOR á ¤ 묨 ªá¥«¥à â®à
|
||||
LD (HL),A ; § ¯®¬¨âì ¢ އ“ १ã«ìâ â ®¯¥à 樨
|
||||
LD B,B
|
||||
EI
|
||||
|
||||
‘ª®à®áâì à ¡®âë ªá¥«¥à â®à ®£à ¨ç¨¢ ¥âáï ⮫쪮 䨧¨ç¥áª®©
|
||||
᪮à®áâìî à ¡®âë ®á®¢®£® އ“. Ž¯à¥¤¥«¨âì ¢à¥¬ï à ¡®âë ª®¬ ¤ë á
|
||||
ªá¥«¥à â®à®¬ ¬®¦® ¯® â ª®© ¯à¨¬¥à®© ä®à¬ã«¥:
|
||||
|
||||
‚६ï à ¡®âë = ¢à¥¬ï à ¡®âë ª®¬ ¤ë ¡¥§ ªá¥«¥à â®à + ¢à¥¬ï
|
||||
à ¡®âë ªá¥«¥à â®à
|
||||
‚६ï à ¡®âë ªá¥«¥à â®à = ç¨á«® ¯¥à¥áë« ¥¬ëå ¡ ©â /7000000 (ᥪã¤)
|
||||
|
||||
Žâª«î票¥ ¯à¥àë¢ ¨© ¢® ¢à¥¬ï à ¡®âë ªá¥«¥à â®à ¥®¡å®¤¨¬®, â ª
|
||||
ª ª ¢ íâ®â ¬®¬¥â ç áâ¨ç® ¬¥ï¥âáï á¨á⥬ ª®¬ ¤ ¯à®æ¥áá®à ¨ ¯à®£à ¬¬
|
||||
¯à¥àë¢ ¨¨ ¥ ᬮ¦¥â à ¡®â âì ®à¬ «ì®.
|
||||
|
||||
|
||||
‡ ª«î票¥.
|
||||
|
||||
� ¡®â ¤ Sprinter-®¬ ¯à®¤®«¦ ¥âáï. ‘®¢¥àè¥áâ¢ã¥âáï ¦¥«¥§® ¨
|
||||
¡¨®á. �¨è¥âáï á®äâ, ¯®¤¤¥à¦¨¢ î騩 à áè¨à¥ë¥ ०¨¬ë à ¡®âë ª®¬¯ìîâ¥à .
|
||||
|
||||
�® ¢á¥¬ ª®¬¬¥àç¥áª¨¬ ¢®¯à®á ¬ á¢ï§ ë¬ á ¯à¨®¡à¥â¥¨¥¬ ª®¬¯ìîâ¥à
|
||||
¬®¦® ®¡à é âìáï ¢ ä¨à¬ã "�¥â¥àá":
|
||||
|
||||
Adress: ‘ ªâ-�¥â¥à¡ãà£, ã«. ‚®ááâ ¨ï, ¤. 35, ®ä. 31.
|
||||
Phone: (812)-327-35-31
|
||||
E-mail: peters@atlant.ru
|
||||
|
||||
�® â¥å¨ç¥áª¨¬ ¢®¯à®á ¬ ®¡à é âìáï ª® ¬¥:
|
||||
|
||||
Fido: Ivan Mak (2:5030/529.24)
|
||||
E-mail: ivan_mak@yahoo.com (¢à¥¬¥® § ªàëâ)
|
||||
|
||||
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,34 @@
|
||||
# Reference materials
|
||||
|
||||
Положи сюда оригинальную документацию Sprinter / ESTEX. Любые форматы — PDF, TXT, MD, .h / .asm файлы — годятся. Перед написанием кода нужно сверить с этими источниками:
|
||||
|
||||
## Что особенно полезно
|
||||
|
||||
1. **Спецификация формата .EXE (ESTEX SprintEXE)**
|
||||
- Заголовок 512 байт, поля `load`, `start`, `stack`, `offset`, `loader`
|
||||
- Любые упоминания "loader-секции" и multi-page загрузки
|
||||
- Что находится в зарезервированных полях `reserv1`, `reserv2`, `res[490]`
|
||||
|
||||
2. **Карта портов и аппаратной паджинации**
|
||||
- Точная битовая раскладка портов **0x82, 0xA2, 0xC2, 0xE2** (page select для окон 0-3)
|
||||
- Возможные служебные биты: write-protect, video overlay, ROM mapping
|
||||
- Номера физических страниц видеопамяти — соответствие EMM-номеров (0x50..0x5F) и hardware page numbers
|
||||
|
||||
3. **ESTEX API**
|
||||
- Полный список функций RST #10 (особенно файловые и memory management)
|
||||
- Соглашение о возврате ошибок (CF=1?, регистр-код?)
|
||||
- BIOS RST #08 функции (особенно EMM_FN0..EMM_FN7 — менеджер памяти)
|
||||
|
||||
4. **Видеорежимы**
|
||||
- Режимы 320×256×256, 640×256×16, текст 80×32 — как маппится экранная память, какие страницы используются
|
||||
- Адрес VRAM в каждом режиме (если она вообще попадает в адресное пространство CPU)
|
||||
- Регистры выбора видеостраницы и активной палитры
|
||||
|
||||
5. **Прерывания**
|
||||
- IM2 / IM1 / NMI семантика на Sprinter
|
||||
- Источники прерываний (VBL? timer? keyboard?)
|
||||
- Как ESTEX устанавливает таблицу IM2 и можно ли её переопределить
|
||||
|
||||
## Имена файлов
|
||||
|
||||
Можно как угодно — но если у файла есть осмысленное оригинальное имя, лучше оставить (например `estex-api.txt`, `sprinter-ports.pdf`).
|
||||
@@ -0,0 +1,39 @@
|
||||
*** Area: ZX.SPECTRUM Date: 30 Nov 00 21:18:28
|
||||
*** From: Ivan Mak (2:5030/529.24)
|
||||
*** To : Anton Yefimchuk
|
||||
*** Subj: ä®pâ-¯p®è¨¢ª
|
||||
|
||||
�ਢ¥âáâ¢ãî ‚ á, Anton!
|
||||
|
||||
<Friday December 01 2000> <00:04> Anton Yefimchuk wr®te to Ivan Mak:
|
||||
|
||||
IM>> Sprinter-II á Forth-CPU :-))
|
||||
IM>> ˆ«¨, ¥á«¨ å®ç¥âáï ¯®¡ëáâp¥¥, â® Sprinter-2000, ¢ ª®â®p®¬ ⮦¥
|
||||
IM>> Forth-CPU ¬¥ç ¥âáï, ¯®ª ¥£® ¥â, ¥áâì ¯p®áâ® Sprinter-Forth
|
||||
IM>> ¤«ï Z80...
|
||||
AY> € 祬 ‘¯p¨â¥p-2000 ®â«¨ç ¥âáï ®â ¯p®áâ® ‘¯p¨â¥p ?
|
||||
|
||||
"Sprinter-2000 ®â«¨ç ¥âáï 㬮¬ ¨ á®®¡p §¨â¥«ì®áâìî.
|
||||
Žâ«¨ç ¥âáï 㬮¬. Žâ«¨ç ¥âáï á®®¡p §¨â¥«ì®áâìî." (c)... :-))
|
||||
|
||||
€ ¥á«¨ á¥p쥧®, â® £« ¢®¥ ®â«¨ç¨¥ - ¢ ¡®«ì襬 ®¡ê¥¬¥ �‹Œ
|
||||
(¢ 3 p § ¡®«ìè¥, 祬 ¢ ¯p®áâ® ‘¯p¨â¥p¥). ’ ª ¦¥ ¨¬¥¥âáï ®â«¨ç¨¥ ¢
|
||||
p §¢®¤ª¥ ¯ ¬ï⨠¨ ª®âp®««¥p HDD. Žâ«¨ç¨¥ ¢ áâ®p®ã 16-â¨p §p冷áâ¨.
|
||||
�p¨æ¨¯¨ «ì® íâ® ¯®¢ëá¨â ᪮p®áâì ¤®áâ㯠ªá¥«¥p â®p ª އ“ ¨ ᪮p®áâì
|
||||
p ¡®âë á HDD. ‘ª®p®áâì ªá¥«¥p â®p ¯®¢ëè ¥âáï ¤® 14Mb/sek.
|
||||
‘ª®p®áâì HDD - ¤® 7Mb/ᥪ á å®p®è¨¬¨ ¢¨ç¥áâ¥p ¬¨. ‚®§¬®¦® ¨ 14,
|
||||
¥á«¨ 㤠áâáï... …é¥ ®¤ ®á®¡¥®áâì ¢®§¬®¦®áâì ¯®¤ª«îç¥¨ï ¤® 64Mb
|
||||
¯ ¬ïâ¨, å®âï, èâ â® ¡ã¤¥â ¯® ¯p¥¦¥¬ã 4.
|
||||
|
||||
‚ ®¡é¥¬, ¢ë¯ã᪠âì ª®¯¨î Sprinter-97 ᥩç á ¡ë«®, ¨¬å®, ¡ë ¥p §ã¬®,
|
||||
â ª, ¯®ç⨠§ ⥠¦¥ ¤¥ì£¨ ¡®«¥¥ ªpãâ ï ¬ è¨ .
|
||||
|
||||
(�p¥¤¯®«®¦¨â¥«ì® ¯« â Sprinter-2000 ¡ã¤¥â á⮨âì ⥠¦¥ 90$.)
|
||||
|
||||
�à®â®áë á¡¥¦ «¨. ‡¥à£¨ § ª®¯ «¨áì. �®à ¨ ¬¥ § ªà㣫ïâìáï. Ivan.
|
||||
|
||||
- � §¢®¤¨áì á奬ª , ¡®«ìè ¨ ¬ «¥ìª ... [ Sprinter-II ] [Forth-CPU] [ZX]
|
||||
|
||||
... ivan_mak@mail.ru * http://st-rektal.chat.ru * http://www.atlant.ru/peters
|
||||
--- GoldED+/386 1.0.0
|
||||
* Origin: Spectrum - à㫨â, Sprinter - à ¡®â ¥â. (2:5030/529.24)
|
||||
@@ -0,0 +1,75 @@
|
||||
*** Area: ZX.SPECTRUM Date: 18 Mar 01 11:50:05
|
||||
*** From: Ivan Mak (2:5030/529.24)
|
||||
*** To : Stanislav Udin
|
||||
*** Subj: Ž ‘¯p¨â¥p¥.
|
||||
|
||||
|
||||
�ਢ¥âáâ¢ãî ‚ á, Stanislav!
|
||||
|
||||
<Tuesday March 13 2001> <15:11> Stanislav Udin wr®te to Ivan Mak:
|
||||
|
||||
SU> € ¯p¨¬¥pë¥ áp®ª¨ ᪠§ âì ¬®¦¥èì?
|
||||
Œ © ¬¥áïæ, ¥á«¨ ¥ ¡ã¤¥â ¢®¤¥¨©, §¥¬«¥âpïᥨ© ¨ â.¯. ª â ª«¨§¬®¢,
|
||||
¯®¤®¡¨¥ ®¡ p㦥¨ï ªpã¯ëå £«îª®¢ ¢ ¯« â¥....
|
||||
|
||||
SU>>> Œ®¦® «¨ áâp®¨âì ‘¯p¨â¥p â ª, çâ®¡ë ¢ª«î稢 ¥£® ¤ ¦¥ ¨ ¥
|
||||
SU>>> ¯®¤®§p¥¢ âì, çâ® p ¡®â ¥èì ¥ ‘ª®p¯¨®¥?
|
||||
IM>> ’ ª çâ® ¡ë ᮢᥬ ¥ ¯®¤®§p¥¢ âì, ¥ ¯®«yç¨âáï :-)
|
||||
SU> € ª ª ¡y¤¥â ¢ë£«ï¤¥âì ¯¥p¥¢®¤ ‘¯p¨â¥p¥ ¢ p¥¦¨¬ ‘ª®p¯¨® . ‚ª«îç ¥èì
|
||||
SU> ª®¬¯ìîâ¥p ¨ ...
|
||||
|
||||
†¤¥èì ᥪã¤ë 2-3 ¯®ª ¥ § £p㧨âáï system.bat á ¯p®¯¨á ë¬
|
||||
¢ ¥¬ scorpion.exe
|
||||
|
||||
�®á«¥¤¥£®, ¯p ¢¤ , ¥â, ® ª ¦¤ë© ª®¤¥p ᬮ¦¥â ¯¨á âì,
|
||||
¥á«¨ ¡ã¤¥â ¥ «¥ì ¯®âp â¨âì ¤¥ì...
|
||||
|
||||
IM>> H ¤¥îáì, ¯p®¡«¥¬ ¥ ¡y¤¥â.
|
||||
IM>> ‚ ¯®á«¥¤¥© ¢¥pᨨ ©¤¥ ¥é¥ ®¤¨ £«î箪 (¯ p ®£¨¡ îé¨å
|
||||
IM>> ¥¯p ¢¨«ì®), ® ¡y¤¥â ¨á¯p ¢«¥.
|
||||
SU> ‚ᥠ⠪¨ í¬y«ïæ¨ï ¥áâì í¬y«ïæ¨ï. ƒ¤¥ £ p â¨ï, çâ® íâ ¯ p ®£¨¡ îé¨å
|
||||
SU> ¡ë« ¯®á«¥¤¥©.
|
||||
|
||||
ƒ p ⨨ â ª®© ¥â, ® ¥áâì ¨ ï. ‚®§¬®¦ë¥ ®¢ë¥ £«îª¨ ¨á¯p ¢«ïîâáï
|
||||
ç¨áâ® ¯¥p¥è¨¢ª®© �‡“. �p¨æ¨¯¨ «ìëå á«®¦®á⥩ ¥â, ¤® ⮫쪮 § âì
|
||||
¢ ª ª®¬ ¬¥á⥠£«îª ¨ ª ª ¤®«¦® ¡ëâì ¢¥p®.
|
||||
|
||||
IM>> ‚®â íâ® ¡ë«® ¢¥p® ¤«ï ¯p¥¤ë¤y饩 ¯« âë, â ¬ ¬¥áâ ¤«ï ¬ëè¨ ¥
|
||||
IM>> å¢ â «®. ‚ ®¢®© ®® ¥áâì, ¯®á¥¬y ª®âp®««¥p Kempston-Mouse
|
||||
IM>> 室¨âáï ¢ ¯« ¥ p ¡®â...
|
||||
SU> ޝïâì ¦¥ å®â¥«®áì ¡ë y§ âì ® áp®ª å.
|
||||
|
||||
�¥ «¨§ æ¨ï ª¥¬¯áâ® ¢ â¥ç¥¨¥ í⮣® £®¤ . �®«¥¥ â®ç® ¢pï¤ «¨ ᪠¦ã...
|
||||
‚ p¨ â, çâ® ®ª ¦¥âáï 㦥 ¢¬¥áâ¥ á ¯« ⮩ ª ¬ î ¥ ¨áª«îç î...
|
||||
|
||||
IM>> Š ª p § ® 3d13 p¥çì ¨ ¥áâì. ‘ ¢¨ç¥áâ¥p®¬ ¬®¦® p ¡®â âì ¯pאַ ¨§
|
||||
IM>> ª®¬ ¤®© áâp®ª¨ TR-DOS. Š®¬ ¤ë CAT, SAVE, LOAD. ” ©« ä®p¬ â
|
||||
IM>> .trd § £py¦ ¥âáï ¢ RAM-Disk, ¤ «ìè¥ á ¨¬ ¬®¦® p ¡®â âì ª ª á
|
||||
IM>> TR-DOS ç¥p¥§ 3d13.
|
||||
SU> ’® ¥áâì ª ª y H¥¬® Š ¥ (¨«¨ y H¥¬® ª ª ¢ ‘¯p¨â¥p¥)?
|
||||
|
||||
Š®£¤ ¢ ‘¯p¨â¥p¥ 㦥 ¡ë«¨ p ¬¤¨áª¨ ¯® 3d13, H¥¬® £®¢®p¨«, çâ® ‘¯¥ªâpã¬ã
|
||||
¡®«ìè¥ 256Š ¥ ¤®âì, â ª çâ® ¢ë¢®¤ ᮮ⢥âáâ¢ãé訩 :-)
|
||||
|
||||
SU> € ¥á«¨ ᤥ« âì RST0, ¢ p ¬-¤¨áª¥ ®áâ ¥âáï âp¤-®¡p §?
|
||||
|
||||
Žáâ ¥âáï. ˆ ¥á«¨ ctrl+alt+del, ⮦¥ ®áâ ¥âáï.
|
||||
—â® ¡ë ¨á祧 ¥áâì ᯥæ-ª®¬ ¤ ¢ TR-DOS-¥:
|
||||
/CLEAR x ¤«ï ª®ªp¥â®£® p ¬¤¨áª ¨
|
||||
/INIT ¤«ï ¢á¥å áp §ã...
|
||||
Hã ¨ ¥é¥ ª®¯ª Power :)
|
||||
|
||||
SU> € ¬®£® «¨ ¢®®¡é¥ ¯®«ì§®¢ ⥫¥© ‘¯p¨â¥p ? Œ®£® «¨ ¨§ ¨å ¯¨èyâ �Ž
|
||||
SU> ¤«ï ¤®¯®«¨â¥«ìëå p¥¦¨¬®¢ í⮣® ª®¬¯ìîâ¥p ?
|
||||
|
||||
�®«ì§®¢ ⥫¥© ¯p¨¬¥p® 25, â®ç¥¥ ᥩç á ¥ § î.
|
||||
ˆ§ ¯¨èãé¨å �Ž â®ç® ¥áâì ¤¢®¥ (ï ¥ ¢ áç¥â), ¯® á«ãå ¬
|
||||
ªâ®-â® ¥é¥ ⮦¥ § ¨¬ ¥âáï ¯p®£p ¬¬ ¬¨...
|
||||
|
||||
�à®â®áë á¡¥¦ «¨. ‡¥à£¨ § ª®¯ «¨áì. �®à ¨ ¬¥ § ªà㣫ïâìáï. Ivan.
|
||||
|
||||
- � §¢®¤¨áì á奬ª , ¡®«ìè ¨ ¬ «¥ìª ... [ Sprinter-II ] [Forth-CPU] [ZX]
|
||||
|
||||
... ivan_mak@mail.ru * http://st-rektal.chat.ru * http://www.atlant.ru/peters
|
||||
--- GoldED+/386 1.0.0
|
||||
* Origin: The Sprinter has You! (2:5030/529.24)
|
||||
@@ -0,0 +1,49 @@
|
||||
*** Area: ZX.SPECTRUM Date: 18 Mar 01 11:51:19
|
||||
*** From: Ivan Mak (2:5030/529.24)
|
||||
*** To : Nikolay G.Arhipoff
|
||||
*** Subj: Ž ‘¯p¨â¥p¥.
|
||||
|
||||
|
||||
�ਢ¥âáâ¢ãî ‚ á, Nikolay!
|
||||
|
||||
<Tuesday March 13 2001> <19:00> Nikolay G.Arhipoff wr®te to Ivan Mak:
|
||||
|
||||
[¯p® ª¥¬¯áâ®-¬ëèã]
|
||||
SU>> ޝïâì ¦¥ å®â¥«®áì ¡ë y§ âì ® áp®ª å.
|
||||
NA> �ë«® £®¢®à¥®, çâ® ¢ ‘¯à¨â ¢âëª ¥âáï ¬ëèª ®ää⮯¨ª ¡¥§ ¯¥à¥¤¥«ª¨.
|
||||
|
||||
„ , ® ¢âëª ¥âáï ¯pאַ ¡¥§ ¯¥p¥¤¥«®ª.
|
||||
|
||||
NA> Ž ¡ã¤¥â _í¬ã«¨à®¢ âìáï_ ª ª Š¥¬¯áâ®? ˆ«¨ ¥áâì ¢ë¡®à
|
||||
NA> ª¥¬¯áâ®\¥ª¥¬¯áâ®?
|
||||
|
||||
�㤥â í¬ã«¨p®¢ âìáï ª ª Š¥¬¯áâ®, ª ª ¥ª¥¬¯áâ® p ¡®â ¥â 㦥 ᥩç á
|
||||
¨ ¡ã¤ãâ ®¡ ¢ p¨ â ®¤®¢p¥¬¥®, ¨«¨ ⮫쪮 ¥ª¥¯áâ®, ¢ § ¢¨á¨¬®áâ¨
|
||||
®â ¢ë¡p ®© ¯p®è¨¢ª¨ (¯®¤£p㦠¥¬®© á ¤¨áª ¨«¨ èâ ⮩ ¨§ �‡“).
|
||||
|
||||
NA> ‚ Š€… ®¡à §ë ¤¨áª®¢ åà ïâáï ¢ ¨á¤®á¥, §¤¥áì? ‚ ᢮¥© Ž‘? ˆ ª ª ®
|
||||
NA> §ë¢ ¥âáï? ˆ çâ® ¯®¤ ¥¥ ¥áâì? Š®£¤ -â® á®§¤ ¢ «áï । ªâ®à ⥪á⮢
|
||||
NA> ¨ H®àâ® ;)
|
||||
|
||||
Ž‘ ᢮ï - Sprinter-OS. �® ᢮¥¬ã ãáâp®©áâ¢ã ¡«¨¦¥ ª MS-DOS.
|
||||
” ©«®¢ ï á¨á⥬ HDD - MS-DOS FAT16. ‚¨ç¥áâ¥p ¢ëãâë© ¨§ ‘¯p¨â¥p ¨
|
||||
¢áâ ¢«¥ë© ¢ �– ¡ã¤¥â â ¬ ¢¨¤¥. ˆ ®¡®p®â, ¥á«¨ ¢ �– ® FAT16.
|
||||
„¥« «®áì â ª ¨¬¥® ¤«ï ¯p®áâ®âë ¯¥p¥®á ä ©«®¢ â㤠-áî¤ .
|
||||
„¨áª¥âë ¢ ä®p¬ â å TR-DOS/MS-DOS.
|
||||
„«ï âp¥å¤î©¬®¢ëå ¤¨áª®¢ ¯®¤¤¥p¦¨¢ ¥âáï ä®p¬ â 720Kb ¨ 1.44Mb.
|
||||
|
||||
ˆ§ ª®¬ ¤¥p®¢ ¤«ï ‘¯p¨â¥p á ¬ë© ªpã⮩ - FlexNavigator - ¯® ãp®¢î
|
||||
¨á¯®«¥¨ï ¡«¨¦¥ ª WinComander-ã 祬 ª H®âp®ã (16-æ¢.£p 䨪 640x256).
|
||||
|
||||
IM>>> …£® y¢¨¤¨â ¯p®£p ¬¬ BC-terminal. ‘¯p¨â¥p®¢áª ï. ‚ ¥© ¦¥ ¨
|
||||
IM>>> FIDO-‘Ǵp.
|
||||
NA> € ¬®¤¥¬ ª ª®©? Hãâàﮩ ¨«¨ ¢¥è¨©?
|
||||
‚ãâp¥¨©. ‚âëª ¥âáï ¯pאַ ¢ ¨¬¥î騩áï ¡®pâã ISA p §ê¥¬.
|
||||
|
||||
�à®â®áë á¡¥¦ «¨. ‡¥à£¨ § ª®¯ «¨áì. �®à ¨ ¬¥ § ªà㣫ïâìáï. Ivan.
|
||||
|
||||
- � §¢®¤¨áì á奬ª , ¡®«ìè ¨ ¬ «¥ìª ... [ Sprinter-II ] [Forth-CPU] [ZX]
|
||||
|
||||
... ivan_mak@mail.ru * http://st-rektal.chat.ru * http://www.atlant.ru/peters
|
||||
--- GoldED+/386 1.0.0
|
||||
* Origin: The Sprinter has You! (2:5030/529.24)
|
||||
@@ -0,0 +1,32 @@
|
||||
*** Area: ZX.SPECTRUM Date: 18 Mar 01 11:55:28
|
||||
*** From: Ivan Mak (2:5030/529.24)
|
||||
*** To : Maxim Vialkov
|
||||
*** Subj: ˆä
|
||||
|
||||
|
||||
�ਢ¥âáâ¢ãî ‚ á, Maxim!
|
||||
|
||||
<Thursday March 15 2001> <07:18> Maxim Vialkov wr®te to Kirill Frolov:
|
||||
|
||||
KF>> 1. ‘¯à¨â¥à. $100 ⮫쪮 ¬ â쯫 â . www.peters.spb.ru ¨«¨ ª ª-â®
|
||||
|
||||
www.atlant.ru/peters ¨«¨ petersplus.da.ru
|
||||
|
||||
KF>> 2. Scorpion. >= $30 www.scorpion.... ⮦¥ ª ª-â® â ª.
|
||||
KF>> 3. Kay. >= $30 H¥¬® á¥â¥© ¥ ¯à¨§ñâ. ’¥«¥ä® ⥡¥ ᪠§ «¨.
|
||||
MV> �®ç¥¬ã â ª®© ᨫìë© à §¡à®á æ¥? ˆ«¨ "‘¯à¨â¥à"- ªàãâ ¥¬¥àï®?
|
||||
|
||||
ˆ¬¥® â ª. …᫨ 2 ¨ 3 ¤®¯®«ïâì ª®âp®««¥p ¬¨ �–-ª« ¢ë/¬ ãá , •„„, ‘Œ“Š-®¬, ¨
|
||||
ƒŒ•-®¬, ¯®«ãç¨âáï ¤®p®¦¥, ¤® ‘¯p¨â¥p ¤ ¦¥ ¥ ¤®âïãâ ¯® ᯮᮡ®áâï¬,
|
||||
¨¡® ¢ ‘¯p¨â¥p¥ ¢á¥ 㦥 ¢ ¬ â-¯« ⥠¨¬¥¥âáï,
|
||||
|
||||
ˆ æ¥ ‘¯p¨â¥p ¢ ᯨá®çª¥ ¥¬®£® § ¢ëè¥ ... $95 ã ¥£® :-)
|
||||
|
||||
|
||||
�à®â®áë á¡¥¦ «¨. ‡¥à£¨ § ª®¯ «¨áì. �®à ¨ ¬¥ § ªà㣫ïâìáï. Ivan.
|
||||
|
||||
- � §¢®¤¨áì á奬ª , ¡®«ìè ¨ ¬ «¥ìª ... [ Sprinter-II ] [Forth-CPU] [ZX]
|
||||
|
||||
... ivan_mak@mail.ru * http://st-rektal.chat.ru * http://www.atlant.ru/peters
|
||||
--- GoldED+/386 1.0.0
|
||||
* Origin: The Sprinter has You! (2:5030/529.24)
|
||||
@@ -0,0 +1,86 @@
|
||||
*** Area: ZX.SPECTRUM Date: 19 Mar 01 1:02:50
|
||||
*** From: Ivan Mak (2:5030/529.24)
|
||||
*** To : Stanislav Udin
|
||||
*** Subj: Ž ‘¯p¨â¥p¥.
|
||||
|
||||
|
||||
�ਢ¥âáâ¢ãî ‚ á, Stanislav!
|
||||
|
||||
<Sunday March 18 2001> <23:48> Stanislav Udin wr®te to Ivan Mak:
|
||||
|
||||
IM>> Œ © ¬¥áïæ, ¥á«¨ ¥ ¡y¤¥â ¢®¤¥¨©, §¥¬«¥âpïᥨ© ¨ â.¯.
|
||||
IM>> ª â ª«¨§¬®¢, ¯®¤®¡¨¥ ®¡ py¦¥¨ï ªpy¯ëå £«îª®¢ ¢ ¯« â¥....
|
||||
SU> ‚ ¯p¨æ¨¯¥ áp®ª ¤®áâ â®ç® ¥ ¡®«ì让.
|
||||
Hã â ª ¢¥¤ì p ¡®â ¥¬ :)
|
||||
|
||||
IM>> †¤¥èì ᥪy¤ë 2-3 ¯®ª ¥ § £py§¨âáï system.bat á ¯p®¯¨á ë¬
|
||||
IM>> ¢ ¥¬ scorpion.exe
|
||||
IM>> �®á«¥¤¥£®, ¯p ¢¤ , ¥â, ® ª ¦¤ë© ª®¤¥p ᬮ¦¥â ¯¨á âì,
|
||||
IM>> ¥á«¨ ¡y¤¥â ¥ «¥ì ¯®âp â¨âì ¤¥ì...
|
||||
SU> �â® ¡y¤¥â £¤¥-¨¡y¤ì ¤®ªy¬¥â¨p®¢ ®?
|
||||
|
||||
„®ªã¬¥â¨p®¢ ®, ª ª ¯®¤ª«îç âì ¢¬¥áâ® áâ ¤ âp®© ¯p®è¨¢ª¨ �‡“ «î¡ãî
|
||||
¤pã£ãî. € p á¯p¥¤¥«¥¨¥ ¯ ¬ï⨠¨ ¯®¤ª«î票¥ �‡“ ¯® 1FFD â ª®¥ ¦¥ ª ª ¢
|
||||
‘ª®p¯¨®¥, § ¨áª«î票¥¬ ¥ª®â®pëå ¬¥«ª¨å ¤¥â «¥© (¢ ‘ª®p¯¨®¥, ¥á«¨ ¬¥ ¥
|
||||
¨§¬¥ï¥â ¯ ¬ïâì, ¯p¨ ¢ª«î祮© ¡ ª¥ 0 ¯®pâë TR-DOS § ªpëâë, ¢ ‘¯p¨â¥p¥
|
||||
®¨ ®âªp®îâáï ¯p¨ ¢å®¤¥ ¢ ®¡« áâì #3dxx) ¨ § ªp®îâáï ⮫쪮 ¯p¨ ¢ë室¥
|
||||
¯p®£p ¬¬ë
|
||||
¨§ 0-© ¡ ª¨.
|
||||
|
||||
SU> ‚ â ª®¬ á«yç ¥ ¢®¯p®á á«¥¤yî騩. ƒ¤¥-¨¡y¤ì ç¥p¥§ £®¤ ¥ª¨© ¬y§ëª â
|
||||
SU> 室¨â ®è¨¡ªy ¢ í¬y«ï樨 AY, ®¡p é ¥âáï ¢ �¥â¥pá, â ¬ ¥¬y £®¢®pïâ,
|
||||
SU> çâ®, ¬®«, ¨§¢¨¨, ® ¬ë ¡®«ìè¥ ‘¯p¨â¥p ¬¨ ¥ § ¨¬ ¥¬áï. ‘ª®«ìª®
|
||||
SU> 祫®¢¥ª, ªp®¬¥ â¥¡ï ¯®¤¤¥p¦¨¢ îâ ¨¤¥®«®£¨î ‘¯p¨â¥p ¢ �¥â¥pᥠ¨
|
||||
SU> ᪮«ìª® ¢p¥¬¥¨ å¢ â¨â íây§¨ §¬ ?
|
||||
|
||||
�â㧨 §¬ å¢ â ¥â. ‘®¢á¥¬ ¥¤ ¢® ¡ë« ¯p¨ïâ ¥é¥ ®¤¨ 祫®¢¥ª ¨¬¥®
|
||||
¤«ï p ¡®âë ¯® ⥬¥ ‘¯p¨â¥p . Šp®¬¥ ⮣® ¨¬¥¥âáï ¯ çª § ª §®¢,
|
||||
ç⮠ᥩç á ¦¤¥â ¬ ©áª¨å ¯« â.
|
||||
|
||||
IM>> �¥ «¨§ æ¨ï ª¥¬¯áâ® ¢ â¥ç¥¨¥ í⮣® £®¤ . �®«¥¥ â®ç® ¢pï¤ «¨
|
||||
IM>> ᪠¦y... ‚ p¨ â, çâ® ®ª ¦¥âáï y¦¥ ¢¬¥áâ¥ á ¯« ⮩ ª ¬ î ¥
|
||||
IM>> ¨áª«îç î...
|
||||
SU> € ®â ª®£® íâ® § ¢¨á¨â?
|
||||
|
||||
�â® § ¢¨á¨â ®â ¬®¥© £®«®¢ë. …᫨ á㬥¥â ᤥ« âì ¡ëáâp®, § ç¨â ¡ã¤¥â ¡ëáâp® :)
|
||||
|
||||
SU> ˆ§ í⮩ ¨ ¯®á«¥¤yîé¨å äp § ï ¯®¨¬ î, çâ® p ¬-¤¨áª®¢ ¬®¦¥â ¡ëâì
|
||||
SU> ¥áª®«ìª®, ¤«ï ª ¦¤®£® ¤¨áª®¢®¤ ᢮©?
|
||||
|
||||
� ¬-¤¨áª®¢ ¤® 16-⨠èâ. Ž¡ê¥¬ ª ¦¤®£® ªp ⥠16ª¡ ¨ ¢ á㬬¥ ¥ ¯p¥¢ëè ¥â
|
||||
~3.4Mb. Žáâ «ì ï ¯ ¬ïâì ¨á¯®«ì§ã¥âáï ¢ p §ëå ¬¥áâ å ¨ § ïâ ¯®áâ®ï®.
|
||||
�®¤ª«îç âìáï ª ¤¨áª®¢®¤ ¬ ®¨ ¬®£ãâ ª ª 㣮¤®, â.¥. ¯p®£p ¬¬ ¬®¦¥â ¯®
|
||||
᢮¥¬ã ãᬮâp¥¨î ¯®¤ª«îç¨âì/®âª«îç¨âì «î¡®© p ¬¤¨áª ®â ⥪ã饣® ¤¨áª®¢®¤ .
|
||||
�p¨ ¥®¡å®¤¨¬®á⨠¬®¦® ¯®¤ª«îç¨âì å®âì ª® ¢á¥¬ ç¥âëp¥¬ ¤¨áª®¢®¤ ¬ ç¥âëp¥
|
||||
p ¬¤¨áª ...
|
||||
|
||||
SU> H¥ ᫨誮¬ ¬®£® :( € ¯®ç¥¬y â ª ¬ «® p¥ª« ¬ë? Š®¬¯ìîâ¥p áy¤ï ¯®
|
||||
SU> ¢á¥¬y ¢¥áì¬ ¥¯«®å®©, æ¥ ¢¯®«¥ ¯p¨¥¬«¥¬ ï. �®ç¥¬y ¦¥ ¢á¥£® 25
|
||||
SU> ¯®«ì§®¢ ⥫¥©? —¥¬ ¡®«ìè¥ p¥ª« ¬ë, ⥬ ¡®«ìè¥ ¯®«ì§®¢ ⥫¥©
|
||||
SU> áâ ¤ pâëå ¢®§¬®¦®á⥩ ‘¯¥ªâpy¬ ‘¯p¨â¥p¥, ¢ ¤ «ì¥©è¥¬ ®¨
|
||||
SU> ¬®£«¨ ¡ë § ¤¥©á⢮¢ âì ¨ ®áâ «ìë¥ p¥ááypáë ¬ è¨ë. ‚®â §¤¥áì
|
||||
SU> ¥ª®â®pë¥ ¢®®¡é¥ ¥ á«ëè «¨ ¯p® ‘¯p¨â¥p. � §¢¥ íâ® ¯p ¢¨«ì®? H¥
|
||||
SU> ¬®£¨¥ § îâ, çâ® á¯p¨â¥p¥ ¬®¦® ªy¯¨âì ¯® ¯®çâ¥. �â® ¢ è¨ y¯y饨ï.
|
||||
|
||||
‚ íå¥ p¥ª« ¬ë ¡ë«® ¥ ¬ «® (¬®¦¥â, ª®¥ç®, ¨ ¥ ¤®áâ â®ç®). �ë« ¨
|
||||
¢ ¤pã£¨å ¬¥áâ å, ¢ í«¥ªâp®ëå ¨§¤ ¨ïå. ‘¥©ç á ¨¡®«ìè ï p¥ª« ¬ ï
|
||||
£p㧪 ¢ ¨â¥p¥â¥, ¨ ¤¥«® ¯®á⥯¥® ¤¢¨¦¥âáï...
|
||||
|
||||
|
||||
SU> ˆ ¯®á«¥¤¨© ¢®¯p®á. Œ®¦® «¨ ¯¥p¥¢¥á⨠¤¥ì£¨ § ‘¯p¨â¥p ¯® ¡¥§ «y,
|
||||
SU> ª ª ®â í⮣® ¡y¤¥â § ¢¨á¥âì æ¥ ¨ áp®ª¨?
|
||||
|
||||
�® ¯®¢®¤ã ¡¥§ « ¨ ᮮ⢥âáâ¢ãî饩 æ¥ë, «ãçè¥ áp §ã ®¡p â¨âìáï ¯® ¤p¥áã
|
||||
peters@atlant.ru ï ¯® í⨬ ¢®¯p®á ¬ ¥ ¢ ªãpá¥. „®£®¢ p¨¢ âìáï ® ¯®ªã¯ª¥, ¢
|
||||
«î¡®¬ á«ãç ¥, ¨¬¥® ¯® í⮬㠤p¥áã.
|
||||
|
||||
‘p®ª ¥ ¤ã¬ î, çâ® áãé¥á⢥® ¨§¬¥¨âáï (¯®« £ î, § ¢¨á¨â ⮫쪮 ®â
|
||||
§ ¬®p®ç¥ª á ¯p®å®¦¤¥¨¥¬ ¤¥¥â ¨ â.¯. ®, ᪮p¥¥ ¢á¥£®, í⮣® ¥â).
|
||||
|
||||
�à®â®áë á¡¥¦ «¨. ‡¥à£¨ § ª®¯ «¨áì. �®à ¨ ¬¥ § ªà㣫ïâìáï. Ivan.
|
||||
|
||||
- � §¢®¤¨áì á奬ª , ¡®«ìè ¨ ¬ «¥ìª ... [ Sprinter-II ] [Forth-CPU] [ZX]
|
||||
|
||||
... ivan_mak@mail.ru * http://st-rektal.chat.ru * http://www.atlant.ru/peters
|
||||
--- GoldED+/386 1.0.0
|
||||
* Origin: The Sprinter has You! (2:5030/529.24)
|
||||
@@ -0,0 +1,26 @@
|
||||
*** Area: ZX.SPECTRUM Date: 19 Mar 01 0:59:51
|
||||
*** From: Ivan Mak (2:5030/529.24)
|
||||
*** To : Stanislav Udin
|
||||
*** Subj: Ž ‘¯p¨â¥p¥.
|
||||
|
||||
|
||||
�ਢ¥âáâ¢ãî ‚ á, Stanislav!
|
||||
|
||||
<Sunday March 18 2001> <23:59> Stanislav Udin wr®te to Ivan Mak:
|
||||
|
||||
IM>> ˆ§ ª®¬ ¤¥p®¢ ¤«ï ‘¯p¨â¥p á ¬ë© ªpy⮩ - FlexNavigator - ¯®
|
||||
IM>> yp®¢î ¨á¯®«¥¨ï ¡«¨¦¥ ª WinComander-y 祬 ª H®âp®y
|
||||
IM>> (16-æ¢.£p 䨪 640x256).
|
||||
SU> ƒ¤¥ ¬®¦® ¯®á¬®âp¥âì áªp¨è®âë?
|
||||
|
||||
‚ ¨â¥p¥â¥, www.atlant.ru/peters ¯®¤ áá뫪®© "�p®£p ¬®¥ ®¡¥á¯¥ç¥¨¥"
|
||||
(¥á«¨ ¥ ®è¨¡ îáì). H¥ 㢥p¥, çâ® â ¬ ᥩç á ¥áâì áªp¨è®â ®â FN, ®
|
||||
®pâ® ¨ £p ä-p¥¤ ªâ®p â ¬ â®ç® ¯®ª § ë.
|
||||
|
||||
�à®â®áë á¡¥¦ «¨. ‡¥à£¨ § ª®¯ «¨áì. �®à ¨ ¬¥ § ªà㣫ïâìáï. Ivan.
|
||||
|
||||
- � §¢®¤¨áì á奬ª , ¡®«ìè ¨ ¬ «¥ìª ... [ Sprinter-II ] [Forth-CPU] [ZX]
|
||||
|
||||
... ivan_mak@mail.ru * http://st-rektal.chat.ru * http://www.atlant.ru/peters
|
||||
--- GoldED+/386 1.0.0
|
||||
* Origin: The Sprinter has You! (2:5030/529.24)
|
||||
@@ -0,0 +1,29 @@
|
||||
*** Area: ZX.SPECTRUM Date: 22 Mar 01 11:31:25
|
||||
*** From: Ivan Mak (2:5030/529.24)
|
||||
*** To : Stanislav Udin
|
||||
*** Subj: Ž ‘¯p¨â¥p¥.
|
||||
|
||||
|
||||
�ਢ¥âáâ¢ãî ‚ á, Stanislav!
|
||||
|
||||
<Thursday March 22 2001> <11:33> Stanislav Udin wr®te to Ivan Mak:
|
||||
|
||||
SU> ‚¯¥ç â«ï¥â! ’®«ìª® ¯®ç¥¬y ®¡®¨å áªp¨è®â å á⮨⠤ â 19 ¬ ï 1998
|
||||
SU> £®¤ ¯p¨ í⮬ ¢ ¤py£®¬ y£«y ¯¨á ®: Flex Navogator v1.03 (Release
|
||||
SU> data 23.10.1999) Šáâ ⨠¯p®è«® y¦¥ ¯®ç⨠¯®«â®p £®¤ á ¬®¬¥â ¢ë室
|
||||
SU> í⮩ ¢¥pᨨ, § íâ® ¢p¥¬ï ¬®¦® ¡ë«® ¯¨á âì y¦¥ ¨ ¢¥pá¨î 2.0.
|
||||
SU> Žâ祣® â ª¨¥ â®p¬®§ ?
|
||||
|
||||
19 ¬ ï 1998-£® £®¤ , íâ® á¨á⥬ ï ¤ â , ãáâ ¢«¨¢ ¥¬ ï ¢ ª®¬¯ìîâ¥p¥,
|
||||
¥á«¨ ¥â CMOS- . ‘ CMOS â ¬ áâ®ï« ¡ë ⥪ãé ï ¤ â ¨ ¢p¥¬ï.
|
||||
|
||||
€ ¢¥pá¨ï ¥ ¬¥ï« áì, ¯®â®¬ã çâ® €â®, ª ᮦ «¥¨î, ᥩç á ¤p㣨¬¨
|
||||
¤¥« ¬¨ § ¨¬ ¥âáï, ¥ FN... ¥ á¯p¨â¥p®¢áª¨¬¨ :(
|
||||
|
||||
�à®â®áë á¡¥¦ «¨. ‡¥à£¨ § ª®¯ «¨áì. �®à ¨ ¬¥ § ªà㣫ïâìáï. Ivan.
|
||||
|
||||
- � §¢®¤¨áì á奬ª , ¡®«ìè ¨ ¬ «¥ìª ... [ Sprinter-II ] [Forth-CPU] [ZX]
|
||||
|
||||
... ivan_mak@mail.ru * http://st-rektal.chat.ru * http://www.atlant.ru/peters
|
||||
--- GoldED+/386 1.0.0
|
||||
* Origin: The Sprinter has You! (2:5030/529.24)
|
||||
@@ -0,0 +1,104 @@
|
||||
*** Area: ZX.SPECTRUM Date: 22 Mar 01 17:42:00
|
||||
*** From: Alex Goryachev (2:5030/529.48)
|
||||
*** To : All
|
||||
*** Subj: Sprinter News
|
||||
|
||||
|
||||
�ਢ¥âáâ¢ãî, All!
|
||||
|
||||
Žâ¢¥ç ï ¢®¯à®áë ® ª®¬¯ìîâ¥à¥ Sprinter, ¯®ï¢¨¢è¨¥áï ¢ ª®ä¥à¥æ¨¨,
|
||||
¤¥îáì ¯®¨¬ ¨¥ ¨ ¤®¡à®¦¥« ⥫쮥 ®â®è¥¨¥.
|
||||
‚ áâ®ï騩 ¬®¬¥â ¯à®¥ªâ "Sprinter" (ªáâ â¨, ¯¨á âì 㦮 ¨¬¥® ¯®
|
||||
£«¨©áª¨, ¯®â®¬ã ª ª - Trade Mark :-) ªâ¨¢® à §¢¨¢ ¥âáï.
|
||||
“ç¨âë¢ ï ¢á¥¬ ¨§¢¥á⮥ ¯®«®¦¥¨¥ á ¯¥àá® «ì묨 ª®¬¯ìîâ¥à ¬¨ ¨
|
||||
à á¯à®áâà ¥¨¥¬ ¯à®£à ¬¬®£® ®¡¥á¯¥ç¥¨ï ã á ¢ áâà ¥, ¬ë ¤¥¥¬áï ᥩç á
|
||||
¨â¥à¥á ª Sprinter-ã á® áâ®à®ë ¨®áâà æ¥¢.
|
||||
H ᥣ®¤ï襬 íâ ¯¥ à ¡®âë ¬ë å®â¨¬ ¯à¥¤áâ ¢¨âì ¬¨àã ª®¬¯ìîâ¥à ᯮᮡë©
|
||||
§ ¨â¥à¥á®¢ âì ¢ ¯¥à¢ãî ®ç¥à¥¤ì à §à ¡®â稪®¢ ¯à®£à ¬¬®£® ®¡¥á¯¥ç¥¨ï 8-¬¨
|
||||
¨ 16-⨠¡¨âëå ª®¬¯ìîâ¥à®¢, ¯à¨áâ ¢®ª ¨ ¨£à®¢ëå ¢â®¬ ⮢, ¨¬¥îé¨å
|
||||
ª ª®©-«¨¡® à뮪 á¡ëâ ᢮¨å ¯à®£à ¬¬ ¨ ᮯãâáâ¢ãîé¨å ⮢ ஢.
|
||||
’ ª¨¥ ª®¬ ¤ë ¥áâì ¯®áª®«ìªã § £à ¨æ¥© ¯« âïâ ¤¥ì£¨ § �Ž, ¥áâì ª«ã¡ë ¨
|
||||
¯®áâ®ïë¥ ¯®«ì§®¢ ⥫¨. ˆ ¯®í⮬ã è¨ ¤¨áâਡìîâ®àë ‡ ¯ ¤¥ ᬮ£ãâ
|
||||
¯à®¤ ¢ âì ᢮¥ ®¢®¥ �Ž ¢¬¥á⥠ᮠSprinter-®¬. �® § ¯ ¤ë¬ ¬¥àª ¬ Sprinter
|
||||
á⮨⠥ ¤®à®£® (ãç¨âë¢ ï ¢®§¬®¦®á⨠¨ 㤮¡á⢮ ¨á¯®«ì§®¢ ¨ï ¯¥à¨ä¥à¨¨),
|
||||
â ª çâ® §¤¥áì ¢®§¬®¦¥ á¥àì¥§ë© ¡¨§¥á.
|
||||
�ਠãá«®¢¨¨ á®§¤ ¨ï �Ž ¤«ï Sprinter- ‡ ¯ ¤¥, è ª®¬¯ìîâ¥à ¬®¦¥â
|
||||
®ª § âìáï ¢®áâॡ®¢ ë¬ ¨ ¢ãâ॥¬ à몥. H ¤¥¥¬áï íâ®.
|
||||
‘¥©ç á ã á § ¢ï§ «¨áì ®â®è¥¨ï á ¤¢ã¬ï ¯®â¥æ¨ «ì묨 ¤¨áâਡìîâ¥à ¬¨
|
||||
(¢ ˆá¯ ¨¨ ¨ ¢ ‘˜€). ˆ¬¨ 㦥 ¯à¨®¡à¥â¥ë â¥áâ®¢ë¥ íª§¥¬¯«ïàë, ¨¤¥â ªâ¨¢ ï
|
||||
¯¥à¥¯¨áª ¨ ¯¥àᯥªâ¨¢ë ¢¯®«¥ ®¡ ¤¥¦¨¢ î騥. …áâì ¨ ç áâë¥ «¨æ , § ª § ¢è¨¥
|
||||
Sprinter.
|
||||
�®í⮬ã à ¡®âë ¤ ¯à®¥ªâ®¬ ¢¥¤ãâáï ᥩç á ¢ âà¥å ¯«®áª®áâïå: ¤®à ¡®âª
|
||||
¦¥«¥§ ; ®¯â¨¬¨§ æ¨ï ¡ §®¢®£® �Ž, ¯®§¢®«ïî饣® ¨á¯®«ì§®¢ âì ¦¥«¥§® ¨ á®§¤ ¢ âì
|
||||
¥¬ ¯à¨ª« ¤®¥ �Ž; ¯à®¤¢¨¦¥¨¥ Sprinter- ¢¥è¥¬ à몥 ¨ ªâ¨¢ë© PR.
|
||||
‚ ¡ §®¢®¥ �Ž ¢ 襬 ¯à¥¤áâ ¢«¥¨¨ ¢å®¤¨â: DOS, ä ©«®¢ë© ¬¥¥¤¦¥à,
|
||||
⥪áâ®¢ë© ¨ £à ä¨ç¥áª¨© । ªâ®àë, áᥬ¡«¥à, ª®¬¯¨«ïâ®àë á ï§ëª®¢
|
||||
¯à®£à ¬¬¨à®¢ ¨ï, ¡®à ã⨫¨â (ª®¢¥àâ¥àë, ¢ìàë).
|
||||
—â® ª á ¥âáï ¦¥«¥§ , ⮠ᥩç á â¥áâ¨àã¥âáï ®¢ ï ¯« â Sp2000 �‹Œ
|
||||
EP1K30QC208-3 (á ®¡ê¥¬®¬ ¢ âà¨ à § ¡®«ìè¥), ª®â®à ï ¤®«¦ áâ âì ®á®¢®©
|
||||
«¨¨¨ ¬®¤¥«¥© Sprinter. ’ãâ ¥®¡å®¤¨¬® à §¤¥«¨âì ¯®ïâ¨ï "¯« â ª®¬¯ìîâ¥à "
|
||||
¨ " ¬®¤¥«ì ª®¬¯ìîâ¥à ". �®¤ ¯« ⮩ ¤® ¯®¨¬ âì ᮡá⢥® ¯« âã, ª ª
|
||||
¦¥«¥§®, ¯®¤ ¬®¤¥«ìî ª®¬¯ìîâ¥à ¤® ¯®¤à §ã¬¥¢ âì ¡®à ª®ä¨£ãà æ¨©,
|
||||
¢ë¯®«¥ëå ¢ €«ìâ¥à¥. …᫨ £®¢®à¨âì ® ¯®â¥æ¨ «¥ ¯« âë Sp2000, â® ¬®¦®
|
||||
¯¥à¥ç¨á«¨âì â® ®¢®¥, çâ® ® ¯®§¢®«ï¥â ॠ«¨§®¢ âì:
|
||||
|
||||
1. 16-â¨ à §àï¤ãî àå¨â¥ªâãàã ᮯà殮¨ï �‹Œ á ®á®¢®© ¯ ¬ïâìî ¨ IDE
|
||||
(¯®§¢®«¨â 㢥«¨ç¨âì ᪮à®áâì à ¡®âë á HDD ¨ ᪮à®áâì à ¡®âë ªá¥«¥à â®à )
|
||||
|
||||
2. � §¤¥«ìãî á奬ã à §¢®¤ª¨ ¡«®ª ®á®¢®£® އ“, IDE, FDD á ¡«®ª®¬
|
||||
¯à®æ¥áá®à , �‡“, Š�˜-އ“, ISA. �®§¢®«¨â:
|
||||
- ®à£ ¨§®¢ âì ¯àאַ© ¤®áâ㯠ª ¯ ¬ï⨠¤«ï IDE, FDD ¨ ¥ ⮫쪮;
|
||||
- ¥é¥ ¡®«¥¥ 㢥«¨ç¨âì ᪮à®áâì IDE;
|
||||
- ®à£ ¨§®¢ âì ¡ëáâàãî ¯ à ««¥«ìãî à ¡®âã IDE ¨ ¯à®æ¥áá®à ;
|
||||
- ®à£ ¨§®¢ âì ¢¨¤¥®à¥¦¨¬ë á à ᯮ«®¦¥¨¥¬ ¤ ëå ¢ ®á®¢®¬ އ“;
|
||||
|
||||
3. 16-¡¨âë© ¤¢ãåª «ìë© §¢ãª®¢®© –€�. € íâ® ¯®«®æ¥ë© 16-¡¨âë© §¢ãª.
|
||||
|
||||
4. ˆ ¥ª®â®àë¥ ¤®¯®«¨â¥«ìë¥ ¢®§¬®¦®áâ¨:
|
||||
- ¯®¤ª«î票¥ 72-pin SIMM ®â 4-å ¤® 64-å ¬¥£ ¡ ©â;
|
||||
- �‡“ ¤® 256Kb
|
||||
- ¯®«ë© ¯®àâ ¯à¨â¥à .
|
||||
|
||||
�à¨æ¨¯¨ «ì®¥ ®â«¨ç¨¥ ¯« âë Sp2000 ¢ ⮬, çâ® ® ¯®§¢®«ï¥â ¯à®¢®¤¨âì
|
||||
¯£à¥©¤ ¬®¤¥«¨ ª®¬¯ìîâ¥à ¡¥§ § ¬¥ë ¯« âë. �â® ®áãé¥á⢫ï¥âáï á ¯®¬®éìî
|
||||
¯à®£à ¬¬ë § ¯ã᪠¥¬®© á ¬®¬ Sprinter-¥ ¨ ¯¥à¥§ ¯¨áë¢ î饩 ¨ä®à¬ æ¨î ¢
|
||||
稯 å ¯« âë. ‘⮨¬®áâì ¯®¤®¡®£® ¯£à¥©¤ ¡ã¤¥â ¥¢¥«¨ª . �⮠ᤥ« ¥â
|
||||
Sprinter ¤¥©áâ¢¨â¥«ì® £¨¡ª¨¬ 㨢¥àá «ìë¬ ª®¬¯ìîâ¥à®¬.
|
||||
‘¥£®¤ïèïï ¬®¤¥«ì Sprinter ª 㦥 ¨§¢¥áâë¬ ¯ à ¬¥âà ¬ ¤®¡ ¢¨« ¯®«ë©
|
||||
¯®àâ LPT ¨ 16 ¡¨âë© §¢ãª®¢®© –€�. ‘⮨¬®áâì ¯®¤®¡®© ª®ä¨£ãà æ¨¨ á®áâ ¢«ï¥â
|
||||
95 ¤®«« ஢.
|
||||
‚ áâ®ï騩 ¬®¬¥â ¯« â Sp2000 ¯à®å®¤¨â â¥áâ¨à®¢ ¨¥ ¨ ¯®ª ¥ £®â®¢ ¤«ï
|
||||
¯à®¤ ¦¨ ª®¥çë¬
|
||||
¯®«ì§®¢ ⥫ï¬. ‚ ¥© ¡ë«® ॠ«¨§®¢ ® ¬®£® ®¢¨®ª, çâ® ¥ ¯®§¢®«ï¥â
|
||||
¢ë¯ãáâ¨âì ¥¥ ¢ ¯à®¤ ¦ã ¡¥§ âé ⥫쮩 ¯à®¢¥àª¨ ¨ ¤®¢®¤ª¨.
|
||||
|
||||
‘ ãç¥â®¬ í⮣®, ¬ë à¥è¨«¨ à áè¨à¨âì «¨¥©ªã ¯« â Sprinter- ¨ £®â®¢ë
|
||||
¯à¥¤«®¦¨âì ¯®«ì§®¢ â¥«ï¬ ¯« âã Sp2000-Light. Žâ«¨ç¨¥ ®â Sp2000 á®á⮨⠢
|
||||
®âáãâá⢨¨ ISA ᫮⮢, ¢â®à®£® IDE à §ê¥¬ ¨ ®£à ¨ç¥¨¨ ¢¨¤¥® އ“ ¤® 256Kb.
|
||||
�â® ¯®§¢®«¨«® ᨧ¨âì á⮨¬®áâì "¦¥«¥§ " ¤® 85 ¤®«« ஢. �ਠí⮬ ¯« â
|
||||
á®åà ¨« ¢®§¬®¦®áâì ¯à®£à ¬¬®£® ¯£à¥©¤ ¬®¤¥«¨ ª®¬ìîâ¥à .
|
||||
H ¤¥¥¬áï, çâ® ®¢ ï ¯« â ᬮ¦¥â § ¨â¥à¥á®¢ âì ¯®«ì§®¢ ⥫¥©, ª®â®àë¬
|
||||
Sprinter
|
||||
¨â¥à¥á¥ ¢ ¯¥à¢ãî ®ç¥à¥¤ì ª ª "¯à®¤¢¨ãâë©" Specrtum.
|
||||
…᫨ ¢ë å®â¨â¥ § ª § âì ¯« âã Sp-2000-Light ¨«¨ ã ¢ á ¥áâì ª ª¨¥ «¨¡® ¢®¯à®áë
|
||||
¯¨è¨â¥:
|
||||
|
||||
FIDO: 2:5030/529.48
|
||||
e-mail: peters@atlant.ru
|
||||
|
||||
ˆ§®¡à ¦¥¨ï ®¢ëå ¯« â ¤®áâã¯ë 襬 á ©â¥ http://www.petersplus.da.ru
|
||||
|
||||
’ ª¦¥, ¥á«¨ ¢ë ¦¨¢¥â¥ ¢ ‘ ªâ-�¥â¥à¡ãࣥ, ¢ë ¬®¦¥â¥ ¯®§ ª®¬¨âìáï á
|
||||
ª®¬¯ìîâ¥à®¬ Sprinter ¥á«¨ § ©¤¥â¥ ¢ ®ä¨á ä¨à¬ë "�…’…�‘ �«îá" ¯® ¤à¥áã
|
||||
ã«.‚®ááâ ¨ï 35, ®ä.31 (4 íâ ¦),
|
||||
(¯® à ¡®ç¨¬ ¤ï¬, ⮫쪮 á 17 ¤® 19 ç ᮢ)
|
||||
⥫. (812) 327-3531
|
||||
|
||||
“¤ ç¨ ¢á¥¬!
|
||||
|
||||
€«¥ªá¥© ƒ®àï祢 (¬¥¥¤¦¥à ¯à®¥ªâ "Sprinter")
|
||||
|
||||
... Ÿ ¤ãå §« , ᨫ¨ï ¨ ᬥàâ¨. �â® ¬¥ï ®â£®ï«¨ ¡¥ááâà èë¥ ¬® å¨, 㤠àïï
|
||||
¢
|
||||
---
|
||||
* Origin: PETERS PLUS LTD (2:5030/529.48)
|
||||
@@ -0,0 +1,132 @@
|
||||
*** Area: ZX.SPECTRUM Date: 30 Mar 01 0:19:20
|
||||
*** From: Alex Goryachev (2:5030/529.48)
|
||||
*** To : Alex Shevchuk
|
||||
*** Subj: Sprinter News
|
||||
|
||||
� ¤ ¯à¨¢¥âá⢮¢ âì ⥡ï, Alex!
|
||||
|
||||
Friday March 23 2001 Alex Shevchuk -> Alex Goryachev.
|
||||
|
||||
AS> 1. ISA á«®âë? ˆ 祣® â㤠§ á®¢ë¢ âì?
|
||||
|
||||
‹î¡ãî ¯¥à¨ä¥à¨î, ª®â®à ï ¡ã¤¥â ¯®¤¤¥à¦¨¢ âìáï. ‘¥©ç á íâ® ¬®¤¥¬ ¨ ¯¥à¥å®¤¨ª
|
||||
ᯥªâà㬮¢áªãî è¨ã.
|
||||
|
||||
AS> 2. Š ª áç¥â à ¡®âë ¢ á¥â¨? � ¡®âë á ¬®¤¥¬®¬?
|
||||
|
||||
„«ï à ¡®âë á Hayes-¬®¤¥¬®¬ ¥áâì â¥à¬¨ «ª (X,Y,Z ¯à®â®ª®«ë). �¨è¥âáï ¬¥©«¥à.
|
||||
|
||||
AS> 3. Œ®¦® ¯®¯®¤à®¡¥© ® ¯à®æ¥ ¨ ¯à®£à ¬¬¨à®¢ ¨¨ ¯®¤ ¥£®? —â® § ç¨â
|
||||
AS> "¯à®¤¢¨ãâë© á¯¥ªâàã¬"?
|
||||
|
||||
Sprinter, ¨¬¥¥â ०¨¬ à ¡®âë, ®¡¥á¯¥ç¨¢ î騩 ¯®«ãî ᮢ¬¥á⨬®áâì á®
|
||||
‘¯¥ªâà㬮¬, ¯à¨ í⮬, ¯à¨¬¥à, ¯®¤¤¥à¦¨¢ ¥âáï à ¡®â á ¥áª®«ìª¨¬¨
|
||||
RAM-¤¨áª ¬¨ ¨ ᪮à®áâì à ¡®âë ª®¬¯ìîâ¥à ¬®¦¥â ¡ëâì 㢥«¨ç¥ § áç¥â
|
||||
¯®¢ë襨ï ç áâ®âë à ¡®âë ¯à®æ¥áá®à " 室ã".
|
||||
|
||||
‚ ª ç¥á⢥ ¯à®æ¥áá®à ¨á¯®«ì§ã¥âáï Z84C15 á ç áâ®â ¬¨ 21/3,5MHz.
|
||||
|
||||
€ ¯®¤à®¡¥¥ ® à ¡®â¥ ¯à®æ¥áá®à ¨ ¥£® ¯à®£à ¬¬¨à®¢ ¨¨, ¤ã¬ î, ®â¢¥â¨â è
|
||||
ª®áâàãªâ®à, Ivan Mak.
|
||||
|
||||
AS> 4. ‘ ª ª¨¬¨ ãáâனá⢠¬¨ ¢®®¡é¥ ® ¬®¦¥â/¡ã¤¥â à ¡®â âì?
|
||||
|
||||
—â® ¨¬¥¥âáï ¢¢¨¤ã ¯®¤ "ãáâனá⢠¬¨ ¢®®¡é¥"? :-)
|
||||
H ᥣ®¤ï訩 ¤¥ì: MS mouse, AT ª« ¢¨ âãà , FDD 3,5" ¨ 5,25", ¢¨ç¥áâ¥à (á
|
||||
FAT 16), CD-ROM, ¯à¨â¥à (¢ ⮬ ç¨á«¥ 梥⮩), Hayes-¬®¤¥¬, XTR-¬®¤¥¬ ¨
|
||||
GSound (ç¥à¥§ ¯¥à¥å®¤¨ª ISA2ZX), CGA ¬®¨â®à, ⥫¥¢¨§®à á® SCART,
|
||||
¬ £¨â®ä®. ‚த¥ ¢á¥ ¯¥à¥ç¨á«¨«.
|
||||
€ á ª ª¨¬¨ ¡ã¤¥â, ¯®á¬®âਬ. ’ ª¨¥ ãáâனá⢠â®ç® ¥áâì, ¯à¨¬¥à VGA
|
||||
¬®¨â®à.
|
||||
|
||||
|
||||
AS> 5. Š ª¨¥ ãáâனá⢠áâ ¤ à⮣® ¢¢®¤ /¢ë¢®¤ ã ¥£® ¡ã¤ãâ
|
||||
AS> ¨á¯®«ì§®¢ âìáï? Ÿ ¨¬¥î ¢¢¨¤ã ª« ¢ã/¬ëèì/¬®¨â®à.
|
||||
|
||||
‘¥©ç á ¨á¯®«ì§ãîâáï ª« ¢¨ âãà ¨ ¬ëèì, ¯à®¤ î騥áï ¢ «î¡®¬ ª®¬¯ìîâ¥à®¬
|
||||
¬ £ §¨¥, 祣® ¥ ᪠¦¥èì ¯®ª , ª ᮦ «¥¨î, ® ¬®¨â®à¥. H® ®áâ ¥âáï
|
||||
¢®§¬®¦®áâì ¨á¯®«ì§®¢ ¨ï ⥫¥¢¨§®à á® áâ ¤ àâë¬ à §ê¥¬®¬ SCART.
|
||||
|
||||
|
||||
AS> 6. Š ª áç¥â 䨤®è®© ¯®¤¤¥à¦ª¨? �㤥⥠ᮧ¤ ¢ âì íåã ¨ äíåã?
|
||||
|
||||
�å¨ ¨ äíå¨ ¯®ª à ® á®§¤ ¢ âì - ¥ ⮠稫® ¯®«ì§®¢ ⥫¥©. € çâ® ª á ¥âáï
|
||||
¯®¤¤¥à¦ª¨, â® ¢ è ¨â¥à¥á ¨ ¢®¯à®áë ¨ ¥áâì â á ¬ ï ¯®¤¤¥à¦ª . ”ˆ„Ž ¨ª®£¤ ¥
|
||||
¡ã¤¥â ⮫쪮 ४« ¬ë¬ ¯®«¥¬, ¥ ¤«ï ⮣® íâ á¥âì áãé¥áâ¢ã¥â, ¢®â ¯®¬®çì ¢
|
||||
¢ë¡®à¥ ª®¬¯ìîâ¥à (¥á«¨ â ª ï ¯®âॡ®áâì ¢®§¨ª¥â), ®â¢¥â¨âì ¢®¯à®áë,
|
||||
¯®«ãç¨âì ¤¥«ìë© á®¢¥â ¨«¨ ¯à¥¤«®¦¨âì ¨¤¥î, ©â¨ ¯à®£à ¬¬¨á⮢, ¦¥« îé¨å
|
||||
¯®¯à®¡®¢ âì ¢®§¬®¦®á⨠Sprinter- ¤«ï ॠ«¨§ 樨 ᢮¨å ¯à®¥ªâ®¢, §¤¥áì ”ˆ„Ž
|
||||
ª ª à § ¬®¦¥â ¯®¬®çì.
|
||||
|
||||
AS> 7. ‚ ª ª¨å ¯à ¢«¥¨ïå ¢ë ¡ã¤¥â¥ à §¢¨¢ âì íâã â¥å®«®£¨î?
|
||||
AS> "„®¬ 訩 ª®¬¯ìîâ¥à"? ‡ ç¨â, á®ä⠡㤥â à §à ¡ âë¢ âìáï á â ª®© ¦¥
|
||||
AS> ⥬ ⨪®©, ª ª ¨ ᯥª¥?
|
||||
|
||||
“ç¨âë¢ ï £¨¡ª®áâì àå¨â¥ªâãàë, Sprinter ¬®¦¥â áâ âì 㨢¥àá «ìë¬ ª®¬¯ìîâ¥à®¬.
|
||||
“¨¢¥àá «ì®áâì,
|
||||
ª®¥ç®, ¤® à áᬠâਢ âì ¢ à ¬ª å ¥£® ¯¯ à âëå ¢®§¬®¦®á⥩. …áâì ¬®£®
|
||||
§ ¤ ç, ¥ ¯®¤¯ ¤ îé¨å ¯®¤ ¢ë¢¥áªã "„®¬ 訩 ª®¬¯ìîâ¥à", ª®â®àë¥ ¯® ¯«¥çã
|
||||
Sprinter-ã, ¨¬¥© ® ᮮ⢥âáâ¢ãî饥 �Ž.
|
||||
|
||||
…᫨ £®¢®à¨âì ® â¥å®«®£¨¨ ¢ 楫®¬, â® ¤®¬ 訩 ª®¬¯ìîâ¥à - í⮠⮫쪮 á ¬®¥
|
||||
¡«¨§ª®¥ ¨ ®ç¥¢¨¤®¥ ¯à ¢«¥¨¥. ‚ ¯¥àᯥªâ¨¢¥ ¢®§¬®¦® ¯®ï¢«¥¨¥ ®¡«¥£ç¥ëå
|
||||
ãáâனáâ¢ á¯¥æ¨ «ì®£® ¯à¨¬¥¥¨ï. “ ¨å ¡ã¤ãâ äãªæ¨® «ìë¥ ®£à ¨ç¥¨ï, ®
|
||||
§ â® ¨ á⮨¬®áâì â ª¨å ãáâனá⢠¡ã¤¥â áãé¥á⢥® ¨¦¥. �⨠ãáâனá⢠¡ã¤ãâ
|
||||
¤à㣨¬¨ ¨ ¢ãâ॥ ¨ ¢¥è¥. H ¯à¨¬¥à ˆâ¥à¥â-¯à¨áâ ¢ª ª ¤®¬ 襬ã
|
||||
⥫¥¢¨§®àã. …© ¥ âॡã¥âáï ¯®¤¤¥à¦ª ¡®«ì襣® ç¨á« ¯¥à¨ä¥à¨¨, ¥ ã¦
|
||||
áâ ¤ àâ ï ª« ¢¨ âãà ¨ £à®¬®§¤ª¨© ª®à¯ãá, ® ᮢ¥à襮 ¥®¡å®¤¨¬® «¨ç¨¥
|
||||
ä«íè-¯ ¬ïâ¨.
|
||||
|
||||
AS> 8. Š ª áç¥â ¯¥ç âëå ¨§¤ ¨©? Ѝ£¨, ¦ãà «ë, á¯à ¢®ç¨ª¨
|
||||
AS> ¨ ¯à®ç ï «¨â¥à âãà . € ¢ í«¥ªâà®®¬ ¢¨¤¥?
|
||||
|
||||
„®ªã¬¥â æ¨ï ¥áâì, ® ¯®áâ®ï® ¯®¯®«ï¥âáï ¨ ¯à¨ç¥áë¢ ¥âáï. „® á¨å ¯®à ¬ë
|
||||
®¡å®¤¨«¨áì ¡à®èîà ¬¨ ᮡá⢥®£® ¨§£®â®¢«¥¨ï, ® ¯à¨ ª®¬¬¥àç¥áª¨å
|
||||
ª®«¨ç¥áâ¢ å ¯® ¤®¡ïâáï ãá«ã£¨ ⨯®£à 䨨.
|
||||
‚ ¯¥à¨®¤ ¯®¢ë襮£® ¨â¥à¥á ª ¯à®¥ªâã Sprinter, ¢ 97-98 £®¤ã, ®¢®á⨠® 室¥
|
||||
à ¡®â, áâ âì¨ "§ " ¨ "¯à®â¨¢" ॣã«ïà® ¯®ï¢«ï«¨áì ¢ ᯥªâà㬮¢áª¨å
|
||||
í«¥ªâà®ëå £ §¥â å ¨ ¦ãà « å. ‘ â¥å ¯®à ¨§¬¥¥¨ï ¢ ¯à®¥ªâ¥ ¯à®¨§®è«¨, ®
|
||||
®¨ ª®á㫨áì ¢ ®á®¢®¬ ª ç¥á⢠¯¯ à ⮣® ¨ ¯à®£à ¬¬®£® ¨á¯®«¥¨ï, çâ®
|
||||
¥ ¯®§¢®«ï¥â ¯àאַ ᥣ®¤ï § âì ¢® ¢á¥ãá«ëè ì¥ ® ⮬, çâ® Sprinter
|
||||
ï¥âáï ¯à®¤ãªâ®¬, £®â®¢ë¬ ¤«ï è¨à®ª®£® ¯à¨¬¥¥¨ï. �®ª Sprinter ®áâ ¥âáï
|
||||
ã஢¥ ¤¥£à 㤠, ¨ ⮫쪮-⮫쪮 ç¨ ¥â á¥àì¥§ë¥ è £¨ ª ª®¬¯ìîâ¥à®¬ã
|
||||
àëªã.
|
||||
|
||||
AS> 9. Ÿ «î¡«î ᯥª. Š ª¨¥ ¯à¨ç¨ë ¤®«¦ë § áâ ¢¨âì ¬¥ï ¯®«ì§®¢ âìáï
|
||||
AS> á¯à¨...®©, ¨§¢¨¨, â®à£®¢ ï ¬ ઠ=)... Sprinter-®¬?
|
||||
|
||||
‚ ç «¥ ¤® à §®¡à âìáï, § 祬 ⥡¥ 㦥 ª®¬¯ìîâ¥à, ¯®â®¬ áà ¢¨âì
|
||||
¯®âॡ®áâ¨ á ¢®§¬®¦®áâﬨ ª ¦¤®© ª®ªà¥â®© ¬®¤¥«¨, § ⥬ ⮫쪮 à¥è âì
|
||||
㦥 ¨¬¥® íâ®â ª®¬¯ìîâ¥à ¨«¨ ª ª®©-â® ¤à㣮©.
|
||||
H¥ § ï ¯®âॡ®á⥩ ª®ªà¥â®£® 祫®¢¥ª , âà㤮 ¢ãè âì ¥¬ã ¥®¡å®¤¨¬®áâì
|
||||
⮩ ¨«¨ ¨®© ¯®ªã¯ª¨.
|
||||
Š á®¦ «¥¨î, ¤®«£®¥ ¢à¥¬ï ¯à¨ á®§¤ ¨¨ Sprinter- ®¡à â ï á¢ï§ì ¡ë«
|
||||
¥à¥£ã«ïன ¨ ¥ ãç¨âë¢ « áì, ¯® ¡®«ì讬ã áç¥âã. ˆ§¬¥¥¨ï, ª®â®àë¥ ¯à®¨§®è«¨
|
||||
¢ ç «¥ í⮣® £®¤ ¢ ¯à®¥ªâ¥ Sprinter, ¯à¨§¢ ë ª ª à § à¥è¨âì ¯à®¡«¥¬ë
|
||||
®à£ ¨§ 樨 à ¡®âë.
|
||||
|
||||
AS> 10. € £¤¥ ¡à âì á®äâ ¤«ï ¯à®£à ¬¬¨à®¢ ¨ï, ¤®ª¨ ¯® á¨á⥬¥ ¨
|
||||
AS> ¦¥«¥§ª ¬, etc.?
|
||||
|
||||
�à®£à ¬¬¨à®¢ ¨¥ ¯®¤ Sprinter ¢¯®«¥ ¯® ᨫ ¬ 祫®¢¥ªã ¯¨á ¢è¥¬ã ¯à®£à ¬¬ë ¤«ï
|
||||
‘¯¥ªâà㬠.
|
||||
‘¥£®¤ï á®äâ ¯¨è¥âáï ¨ Sprinter-¥ ¢ ᯥªâà㬮¢áª¨å áᥬ¡«¥à å, ¨ PC ¢
|
||||
ªà®á áᥬ¡«¥à å.
|
||||
Š á®¦ «¥¨î, ®ç¥ì ¯¥àᯥªâ¨¢ë© ¤¢ã¯à®å®¤ë© âãà¡® áᥬ¡«¥à TASM,
|
||||
¨á¯®«ì§ãî騩 ¢á¥ ¢®§¬®¦®á⨠Sprinter- , ®áâ ¥âáï ¯®ª ¥§ ª®ç¥ë¬ ¯® àï¤ã
|
||||
¯à¨ç¨.
|
||||
‚ ¡«¨¦ ©è¨¥ ¯« ë ¢å®¤¨â ¤ ¯â æ¨ï CP/M-80 ¯®¤ Sprinter, ª ª à § ¤«ï
|
||||
¨á¯®«ì§®¢ ¨ï ï§ëª®¢ ¯à®£à ¬¬¨à®¢ ¨ï ¨ áᥬ¡«¥à®¢ à ¡®â îé¨å ¯®¤ í⮩
|
||||
®¯¥à 樮ª®©. €¤ ¯â æ¨ï ¯®¤à §ã¬¥¢ ¥â ª ª ¯®¤¤¥à¦ªã DOS Sprinter- (¤«ï à ¡®âë
|
||||
á ¢¨ç¥áâ¥à®¬), â ª ¨ à ¡®â®á¯®á®¡®áâì 㦥 áãé¥áâ¢ãîé¨å ¯à®£à ¬¬ ¯®¤ CP/M-80
|
||||
(¤«ï ¯®«®âë ¤ ¯â 樨).
|
||||
—â®-¦¥ ª á ¥âáï ¨ä®à¬ 樨 ¤«ï ¯à®£à ¬¬¨à®¢ ¨ï, â® ¢áï ¥®¡å®¤¨¬ ï ¨ä®à¬ æ¨ï
|
||||
¬®¦¥â ¡ëâì ¢ëá« .
|
||||
|
||||
“¤ ç¨!
|
||||
|
||||
€«¥ªá¥© ƒ®àï祢
|
||||
|
||||
... ‚® ¨¬ï ‘íâ , ï ¢¤à㣠㦠ᮠ§ å®â¥« ¯®¢¨¤« . „ ¦¥ ¢® àâã ¯¥à¥á®å«®.
|
||||
---
|
||||
* Origin: PETERS PLUS LTD (2:5030/529.48)
|
||||
@@ -0,0 +1,77 @@
|
||||
*** Area: ZX.SPECTRUM Date: 31 Mar 01 4:49:56
|
||||
*** From: Ivan Mak (2:5030/529.24)
|
||||
*** To : Eugene Ostroukhov
|
||||
*** Subj: Sprinter News
|
||||
|
||||
|
||||
�ਢ¥âáâ¢ãî ‚ á, Eugene!
|
||||
|
||||
<Friday March 30 2001> <11:08> Eugene Ostroukhov wr®te to Alex Goryachev:
|
||||
|
||||
>> ª ç¥á⢥ ¯à®æ¥áá®à ¨á¯®«ì§ã¥âáï Z84C15 á ç áâ®â ¬¨ 21/3,5MHz. €
|
||||
>> ¯®¤à®¡¥¥ ® à ¡®â¥ ¯à®æ¥áá®à ¨ ¥£® ¯à®£à ¬¬¨à®¢ ¨¨, ¤ã¬ î, ®â¢¥â¨â
|
||||
>> è ª®áâàãªâ®à, Ivan Mak.
|
||||
EO> € ¬®¦® ¯®¤à®¡¥¥, çâ® § ª ¬¥ì? 8 ¡¨â ¨ â.¤. � §®£ ë© Z80?
|
||||
|
||||
‚믨᪠¨§ ¨áâ®p¨¨ ¡®«¥§¨... âìäã, ¨§ ¤ â -è¨â :
|
||||
|
||||
Z84C15:
|
||||
- Z84C00 Z80 CPU with Z84C30 STC, Z84C4X SIO,
|
||||
CGC, Watch Dog Timer (WDT), and Z84C20 PIO.
|
||||
- High speed 6, 10, 16 MHz
|
||||
- Low Power
|
||||
41mA typ. - RUN mode
|
||||
6mA typ. - Idle1 mode
|
||||
60mkA typ. - Idle2 mode
|
||||
0.5mkA typ. - Stop mode
|
||||
- Single 5V +/-10%
|
||||
- TTL/CMOS compatible
|
||||
- Features:
|
||||
- Z80 CPU
|
||||
- On-Chip 2 chanel SIO (Z80 SIO)
|
||||
- On-Chip 4 chanel Counter Timer Controller (Z80 CTC)
|
||||
- Build-in Clock Generator Controller (CGC)
|
||||
- Build-in Watch Dog Timer (WDT)
|
||||
- Noise filter to CLK/TRG inputs of CTC
|
||||
- On-Chip 2 8bit ports (Z80 PIO)
|
||||
- 100pin QFP package
|
||||
- Enchancements
|
||||
- Power-On reset
|
||||
- Addition of 2 Chip Select pins
|
||||
- 32bit CRC for chanel A SIO
|
||||
- Wait state generator
|
||||
- Simplified EV mode selection
|
||||
- Shmitt trigger inputs for clocks of SIO
|
||||
- Cristal divide-by-one mode
|
||||
|
||||
”®p¬ «ì®, íâ® â®â ¦¥ áâ ¤ pâë© Z80 á ¥áª®«ìª¨¬¨ ¯®pâ ¬¨ â ®¬ ¦¥
|
||||
ªp¨áâ ««¥. �®«ìè ï ç áâì ¯®p⮢ ¨á¯®«ì§®¢ ¤«ï ¯®¤ª«îç¥¨ï ¬ëè¨, ª« ¢¨ âãpë,
|
||||
¯p¨â¥p ¨ ¯p¥pë¢ ¨© ®â ISA.
|
||||
|
||||
�p¨ ¯p®£p ¬¬¨p®¢ ¨¨ ¨ç¥¬ ¥ ®â«¨ç ¥âáï ®â Z80. „®¯®«¨â¥«ìë¥ ãáâp®©áâ¢
|
||||
¤®áâã¯ë ¯® ª®¬ ¤ ¬ IN ¨ OUT.
|
||||
|
||||
‚ ‘¯p¨â¥p¥ ¯p®æ¥áá®p ¥¬®£® p §®£ á 16 (¯® ¯ ᯮpâã) ¤® 21MHz.
|
||||
|
||||
EO> ˆâ¥à¥â-¯à¨áâ ¢ª ˆŒ•Ž ¤®«¦ :
|
||||
EO> - � §à¥è¥¨¥ 800å600x16 ¡¨â 梥â (¬¨¨¬ã¬)
|
||||
EO> - �ந£àë¢ ¨¥ MPEG/QuickTime/mp3
|
||||
EO> - •¢ â âì ¯à®¨§¢®¤¨â¥«ì®á⨠ShockWave/Java.
|
||||
|
||||
EO> Ž á¯à ¢¨âáï?
|
||||
|
||||
800x600 ¨ª ª®© TV ¥ ¤ áâ, ¥ ¡®«¥¥ 800x256 (280?)
|
||||
�®«ìè¥ «¨¨© ⮫쪮 ¨â¥p«¥©á.
|
||||
|
||||
„¥ª®¤¥p ¬¯¥£ ç¨áâ® ¯p¨æ¨¯¨ «ì® ¢®§¬®¦¥.
|
||||
ˆ¬¥î饩áï �‹Œ ¬®¦¥â ¥ å¢ â¨âì, ® ¬®¦® ãáâ ®¢¨âì �‹Œ ¨
|
||||
¯®ªp㯥¥ ¢ ¢ p¨ ⥠¨â¥p¥â-¯p¨áâ ¢ª¨. „«ï í⮣® âp¥¡ãîâáï ¨áá«¥¤®¢ ¨ï...
|
||||
Java ⮦¥ ¥é¥ ¯®¤ ¢®¯p®á®¬...
|
||||
|
||||
�à®â®áë á¡¥¦ «¨. ‡¥à£¨ § ª®¯ «¨áì. �®à ¨ ¬¥ § ªà㣫ïâìáï. Ivan.
|
||||
|
||||
- � §¢®¤¨áì á奬ª , ¡®«ìè ¨ ¬ «¥ìª ... [ Sprinter-II ] [Forth-CPU] [ZX]
|
||||
|
||||
... ivan_mak@mail.ru * http://st-rektal.chat.ru * http://www.atlant.ru/peters
|
||||
--- GoldED+/386 1.0.0
|
||||
* Origin: The Sprinter has You! (2:5030/529.24)
|
||||
@@ -0,0 +1,32 @@
|
||||
*** Area: ZX.SPECTRUM Date: 31 Mar 01 5:15:30
|
||||
*** From: Ivan Mak (2:5030/529.24)
|
||||
*** To : Nikolay G.Arhipoff
|
||||
*** Subj: Ž ‘¯p¨â¥p¥.
|
||||
|
||||
|
||||
�ਢ¥âáâ¢ãî ‚ á, Nikolay!
|
||||
|
||||
<Friday March 30 2001> <13:03> Nikolay G.Arhipoff wr®te to Ivan Mak:
|
||||
|
||||
NA> H¥ ⮫쪮... �à¨ç¨ ¥áª®«ìª® - ¯à á ä¨ á ¬¨, ¯à¨§ë¢ ¢ ନî,
|
||||
NA> ¬ «® á®äâ . ‘ ¬ ï £« ¢ ï - à §£à®¬ ï áâ âìï ¢ ª ª®¬-â® ¦ãà «¥, çâ®
|
||||
NA> íâ®â ª®¬¯ ¯«®å® áâëªã¥âáï á ¯¥à¨ä¥à¨¥© ¨ ¢á¥ ¯à¨å®¤¨âáï ¯®¤¡¨à âì ¤«ï
|
||||
NA> ª®ªà¥â®© ¬®¤¥«¨ ª®¬¯ ª ª-â® ¬ëè , ª« ¢ª ¨ â.¤.
|
||||
|
||||
‚®â íâ áâ âìï ®â 祫®¢¥ª , ª®â®pë© ¡ë« 㢮«¥ ¨§ �¥â¥pá ¨ p¥è¨« ᮫¨âì.
|
||||
‚ ¥© ®âªp®¢¥®¥ _¢p ì¥_, ¨ ®¡ í⮬ ï 㦥 ¯¨á «. —¥«®¢¥ª â®â ª ‘¯p¨â¥pã
|
||||
¨¬¥« ¥ ¡®«ìè¥ ®â®è¥¨ï 祬 ᢨìï ª ¯¥«ìᨠ¬... Ž ¢®®¡é¥ _ ¬¨¦¨ª_!
|
||||
|
||||
�®¤¡¨p âì ¯p¨å®¤¨«®áì ⮫쪮 ¤¨ª®-áâ pë¥ ¢¨âë, ª®â®pë¥ ¨ �– ¯®«®¢¨ ¥
|
||||
§ ¢®¤¨«¨áì. ‘ ª« ¢¨ âãp®© ¨ ¬ëè ¬¨ á¥p쥧ëå ¯p®¡«¥¬ ¢®¢á¥ ¥ ¡ë«®, ¨§
|
||||
¥á¥p쥧ëå ⮫쪮 ⥠¯«®å® p ¡®â «¨, çâ® á ¬¨ ¯® ᥡ¥ ¯®«ã¤®å«ë¥ ¡ë«¨...
|
||||
|
||||
Ž â®¬, çâ® ¦ãp « SE ¢ë¯ã᪠«áï ª®ªãp¥â ¬¨, ¨ £®¢®p¨âì ¥ç¥£®...
|
||||
|
||||
�à®â®áë á¡¥¦ «¨. ‡¥à£¨ § ª®¯ «¨áì. �®à ¨ ¬¥ § ªà㣫ïâìáï. Ivan.
|
||||
|
||||
- � §¢®¤¨áì á奬ª , ¡®«ìè ¨ ¬ «¥ìª ... [ Sprinter-II ] [Forth-CPU] [ZX]
|
||||
|
||||
... ivan_mak@mail.ru * http://st-rektal.chat.ru * http://www.atlant.ru/peters
|
||||
--- GoldED+/386 1.0.0
|
||||
* Origin: The Sprinter has You! (2:5030/529.24)
|
||||
@@ -0,0 +1,29 @@
|
||||
*** Area: ZX.SPECTRUM Date: 31 Mar 01 8:38:51
|
||||
*** From: Ivan Mak (2:5030/529.24)
|
||||
*** To : Kirill Frolov
|
||||
*** Subj: Sprinter News
|
||||
|
||||
|
||||
�ਢ¥âáâ¢ãî ‚ á, Kirill!
|
||||
|
||||
<Saturday March 31 2001> <00:55> Kirill Frolov wr®te to Alex Goryachev:
|
||||
|
||||
AG>> —â® ¨¬¥¥âáï ¢¢¨¤ã ¯®¤ "ãáâனá⢠¬¨ ¢®®¡é¥"? :-)
|
||||
AG>> H ᥣ®¤ï訩 ¤¥ì: MS mouse, AT ª« ¢¨ âãà , FDD 3,5" ¨ 5,25",
|
||||
|
||||
KF> ’ ¬ å®âì ®¤¨ ¯®á«¥¤®¢ ⥫ìë© ¯®àâ (¡¥§ ¬ëè¨) ¥áâì?
|
||||
|
||||
Ž¡ ¯®pâ § ïâë. ޤ¨ ¬ëèì, ¢â®p®© ª« ¢¨ âãpã.
|
||||
|
||||
KF> ‚த¥ ¥â.... Kaª ¦¥ ¥£® á ¯¨á¬ ᮥ¤¨ïâì?
|
||||
|
||||
€ ¯p¨â¥pë© ¯®pâ 祬 ¥ p ¢¨âáï?
|
||||
(¤¢ã ¯p ¢«¥ë© :))
|
||||
|
||||
�à®â®áë á¡¥¦ «¨. ‡¥à£¨ § ª®¯ «¨áì. �®à ¨ ¬¥ § ªà㣫ïâìáï. Ivan.
|
||||
|
||||
- � §¢®¤¨áì á奬ª , ¡®«ìè ¨ ¬ «¥ìª ... [ Sprinter-II ] [Forth-CPU] [ZX]
|
||||
|
||||
... ivan_mak@mail.ru * http://st-rektal.chat.ru * http://www.atlant.ru/peters
|
||||
--- GoldED+/386 1.0.0
|
||||
* Origin: The Sprinter has You! (2:5030/529.24)
|
||||
@@ -0,0 +1,47 @@
|
||||
*** Area: ZX.SPECTRUM Date: 4 Apr 01 3:23:34
|
||||
*** From: Denis Parinov (2:5030/529.48)
|
||||
*** To : Alex Shevchuk
|
||||
*** Subj: Sprinter News
|
||||
|
||||
� ¤ ¯à¨¢¥âá⢮¢ âì ⥡ï, Alex!
|
||||
|
||||
Saturday March 31 2001 Alex Shevchuk -> Alex Goryachev.
|
||||
|
||||
AG>> Sprinter, ¨¬¥¥â ०¨¬ à ¡®âë, ®¡¥á¯¥ç¨¢ î騩 ¯®«ãî
|
||||
AG>> ᮢ¬¥á⨬®áâì á® ‘¯¥ªâà㬮¬,
|
||||
AS> ’ ª-â ª, ª ª¨¥ ¥éñ ¥áâì ०¨¬ë?
|
||||
|
||||
:) ¥®¡¥á¯¥ç¨¢ î騥 ¯®«ãî ᮢ¬¥á⨬®áâì á® ‘¯¥ªâà㬮¬.
|
||||
â ¬ ¬®£® ¢á¥£®, ¯®¤à®¡¥¥ ¢ ¤®ªã¬¥â 樨.
|
||||
|
||||
AS> ‚®®¡é¥, «¨ç® ¬¥ï ¡®«ìè¥ ¢á¥£® ¢ ‘¯à¨â¥à¥ ¡¥á¯®ª®¨â 64Š¡ ©â ï
|
||||
AS> ¬®¤¥«ì ¯ ¬ïâ¨.
|
||||
|
||||
Z80, ¬®¦¥â çâ®â® 㤠áâìáï à¥è¨âì ¯à¨ ¯®¬®é¨ ¯à®æ¥áá®à ¢ Alter'¥, ® ¯®ª
|
||||
64K c 4 ®ª ¬¨ ¯® 16K.
|
||||
|
||||
AS>>> 4. ‘ ª ª¨¬¨ ãáâனá⢠¬¨ ¢®®¡é¥ ® ¬®¦¥â/¡ã¤¥â à ¡®â âì?
|
||||
AS> € ª ª áç¥â ¤¦®©á⨪ ?
|
||||
|
||||
ZX or PC?
|
||||
|
||||
AG>> à ¬ª å ¥£® ¯¯ à âëå ¢®§¬®¦®á⥩. …áâì ¬®£® § ¤ ç, ¥
|
||||
AG>> ¯®¤¯ ¤ îé¨å ¯®¤ ¢ë¢¥áªã "„®¬ 訩 ª®¬¯ìîâ¥à", ª®â®àë¥ ¯® ¯«¥çã
|
||||
AG>> Sprinter-ã, ¨¬¥© ® ᮮ⢥âáâ¢ãî饥 �Ž.
|
||||
AS> Hã á �Ž, ï ¤ã¬ î, ¥ ¡ã¤¥â á¨«ì® ¡®«ìè¨å á«®¦®á⥩...
|
||||
|
||||
:) ã ¯®ª çâ® ¢á¥ £®¢®àïâ "ƒ¤¥ �Ž", â ª çâ® çìîâ® ¯®¬®éì à áç¨âë¢ âì ¥
|
||||
¯à¨å®¤¨âìáï ¢® ¢á类¬ á«ãç ¥ ¢ �®áᨨ. •®âï ¬ë ¤ ¦¥ ¯ëâ «¨áì ¤ ¢ âì Sprinter'ë
|
||||
¤«ï à §à ¡®âª¨ �Ž. H® ª ª â® ¢á¥ ¥ 㤠ç®.
|
||||
|
||||
AS> —â®-â® ï ¥ ®ç¥ì ¯®ï« áç¥â Ž‘. Š ª ï ¡ã¤¥â ¨á¯®«ì§®¢ âìáï? ˆ«¨ ¨å
|
||||
AS> ¡ã¤¥â ¥áª®«ìª®? ’ ª «¨ 㦠㦮 ¨á¯®«ì§®¢ âì CP/M?
|
||||
|
||||
OS ᢮ï. ¤ ë© ¬®¬¥â ᤥ« ¤¨áª®¢ ï ¯®¤á¨á⥬ + ª®¥-çâ® ¤«ï à ¡®âë
|
||||
á íªà ®¬, ¯ ¬ïâìî, ª« ¢¨ âãன, ¬ëèìî. _‘¥©ç á_ íâ® ¡®«ìè¥ ¯®å®¦¥ MSDOS.
|
||||
|
||||
‘ 㢠¦¥¨¥¬, Denis.
|
||||
|
||||
... ‚® ¨¬ï ‘íâ , ï ¢¤à㣠㦠ᮠ§ å®â¥« ¯®¢¨¤« . „ ¦¥ ¢® àâã ¯¥à¥á®å«®.
|
||||
---
|
||||
* Origin: PETERS PLUS LTD (2:5030/529.48)
|
||||
@@ -0,0 +1,57 @@
|
||||
*** Area: ZX.SPECTRUM Date: 4 Apr 01 3:27:44
|
||||
*** From: Denis Parinov (2:5030/529.48)
|
||||
*** To : Sergey Krinitsin
|
||||
*** Subj: Sprinter News
|
||||
|
||||
� ¤ ¯à¨¢¥âá⢮¢ âì ⥡ï, Sergey!
|
||||
|
||||
Saturday March 31 2001 Sergey Krinitsin -> Alex Goryachev.
|
||||
|
||||
AG>> —â® ª á ¥âáï ¦¥«¥§ , ⮠ᥩç á â¥áâ¨àã¥âáï ®¢ ï ¯« â
|
||||
SK> € ᪮«ìª® ®¢ ï ¬®¤¥«ì ¡ã¤¥â ᮢ¬¥á⨬ á® áâ ன? �㤥⠫¨
|
||||
SK> ®¢®¥ �Ž à ¡®â âì áâ àëå ¯« â å? …᫨ ¥â, â® £¤¥ £ à â¨ï,
|
||||
SK> çâ® ç¥à¥§ £®¤ ¢ë ¥ ¯®¢¥à¥â¥ ª ®¢®© "£¥¥à «ì®© «¨¨¨", ª¨ã¢ â ª¨¬
|
||||
SK> ®¡à §®¬ ¯®«ì§®¢ ⥫¥©, ªã¯¨¢è¨å "áâ àãî" ?
|
||||
|
||||
H Sprinter'¥ �Ž à §à ¡ âë¢ ¥âìáï ¯®¤ ¥£® ®¯¥à 樮ãî á¨á⥬ã, ª®â®à ï ¢ ᢮î
|
||||
®ç¥à¥¤ì ®¡à é ¥âìáï ª BIOS. Žá®¢®¥ �Ž ¡ã¤¥â à ¡®â âì ¨ â ¬ ¨ â ¬.
|
||||
‚® ¢á类¬ á«ãç ¥ ã ¬¥ï á⮫¥ á⮨⠨¬¥® Sprinter-97 ª®â®à®¬ ï ¢á¥
|
||||
®â« ¦¨¢ î. H® ¯à®£à¥áá ¥¨§¡¥¦¥ ¢®§¬®¦® çâ®-â® ¡ã¤¥â ¥á®¢¬¥á⨬®.
|
||||
Sp2000 ¢ë©¤¥â £¤¥â® ¢ á¥à¥¤¨¥ 2001 £®¤ â.¥. ç¥à¥§ 4 £®¤ ¯®á«¥ Sprinter-97.
|
||||
|
||||
SK> ˆ¬å®, á í⮩ ¯« ⮩ ¢ë ¬®¦¥â¥ ª®ªà¥â® ¯à®«¥â¥âì. �® ¬®¨¬ £àã¡ë¬
|
||||
SK> ¯®¤áç¥â ¬, æ¥ �Ž‹HŽ–…HHŽƒŽ ª®¬¯ ¨§ ¢ 襩 ¯« âë á®áâ ¢¨â ®ª®«® 300$
|
||||
SK> (¢¨â/ä«®¯/ª®à¯ãá/ª« ¢ /¬ëè /¬®¨â®à/ ¢ è ¯« â ). ‘®¬¥¢ îáì, çâ®
|
||||
SK> 祫®¢¥ª âà âï騩 í⨠¤¥ì£¨ ¯®¦ «¥¥â 10$ ¯®ªã¯ ï ª áâà â , ¥
|
||||
|
||||
�® ¯®¢®¤ã æ¥:
|
||||
ª®¬¯ìîâ¥à Sprinter(4Mb/FDD144/Minitower/Keyboard/mouse) - $135
|
||||
HDD 40Mb - 20Gb $5-$100
|
||||
CGA monitor $8-$10
|
||||
|
||||
ˆâ®£® ®â $150 ¤® $245 å®âï ¬®¦® ¢¨â ¢§ïâì ¨ 75Gb ¨ CDROM 50x.
|
||||
⮣¤ ¬®¦¥â ¡ëâì ¤® $300 ¨ ¤®âï¥â ⮫쪮 ¢®â çâ® âë â ª®¬
|
||||
¤¨áª®¢®¬ ¯à®áâà á⢥ ¡ã¤¥èì åà ¨âì ¡¥§ ¢¨¤®¢á ª®â®àë© § ¨¬ ¥â
|
||||
¬¥áâ á⮫쪮, ᪮«ìª® 室¨â. ;)
|
||||
¯à¨¬¥à á¨á⥬ Sprinter' ᥩç á § ¨¬ ¥â ®ª®«® 16Kb, ª ⮬㦥 ¬®¦®
|
||||
á®§¤ âì �€Œ¤¨áª ¬¥£ ¡ ©â ¤¢ ¨ ¨á¯®«ì§®¢ âì ¥£® ª ª ¢¨ç¥áâ¥à.
|
||||
|
||||
AG>> H ¤¥¥¬áï, çâ® ®¢ ï ¯« â ᬮ¦¥â § ¨â¥à¥á®¢ âì
|
||||
AG>> ¯®«ì§®¢ ⥫¥©, ª®â®àë¬ Sprinter
|
||||
AG>> ¨â¥à¥á¥ ¢ ¯¥à¢ãî ®ç¥à¥¤ì ª ª "¯à®¤¢¨ãâë©" Specrtum.
|
||||
|
||||
SK> •®ç¥âáï ¯®¢â®à¨âì ¢®¯à®á 㦥 § ¤ ¢ ¥¬ë© ¢ íå¥ - à ¤¨ 祣® ¯®ªã¯ âì
|
||||
SK> ¢ è ª®¬¯? � ¤¨ ®¡¥é ¨ï ç⮠᪮à®, ¢®§¬®¦® - ¢¥à®ïâ® ¢áï ¥£®
|
||||
SK> ªàã⨧ ¡ã¤¥â ¯®¤¤¥à¦¥ § ¡ã£®à묨 ¯à®£à ¬¨áâ ¬¨? € ¯®ª î§ âì
|
||||
SK> ᯥª®¢áª¨© á®äâ, ãâ¥è ï ᥡï çâ® ã ¬¥ï "¯à®¤¢¨ãâë©" ᯥª ? ’ ª ¬®©
|
||||
SK> "¥ ¯à®¤¢¨ãâë©" á í⨬ á®ä⮬
|
||||
SK> á¯à ¢«ï¥âáï ¨ 300$ ¥ âॡã¥â ;)
|
||||
|
||||
€ ¬ë ¨ª®£® ¨ ¥ § áâ ¢«ï¥¬ ¯®ªã¯ âì Sprinter ¬ë ¢á¥£®«¨èì à á᪠§ë¢ ¥¬
|
||||
® á®áâ®ï¨¨ ¯à®¥ªâ ’…Œ ŠŽŒ“ �’Ž ˆH’…�…‘Ž.
|
||||
|
||||
‘ 㢠¦¥¨¥¬, Denis.
|
||||
|
||||
... ˆ§ á ç¥â¢¥àëå ¢ í⮩ 娡 ॠ⮫쪮 ®¤¨ ˆá £ ठ¨ ¡ë« 祫®¢¥ª®¬.
|
||||
---
|
||||
* Origin: PETERS PLUS LTD (2:5030/529.48)
|
||||
@@ -0,0 +1,32 @@
|
||||
*** Area: ZX.SPECTRUM Date: 4 Apr 01 6:38:24
|
||||
*** From: Ivan Mak (2:5030/529.24)
|
||||
*** To : Nikolay G.Arhipoff
|
||||
*** Subj: Sprinter News
|
||||
|
||||
|
||||
�ਢ¥âáâ¢ãî ‚ á, Nikolay!
|
||||
|
||||
<Saturday March 31 2001> <10:00> Nikolay G.Arhipoff wr®te to Ivan Mak:
|
||||
|
||||
IM>> �p¨ ¯p®£p ¬¬¨p®¢ ¨¨ ¨ç¥¬ ¥ ®â«¨ç ¥âáï ®â Z80. „®¯®«¨â¥«ìë¥
|
||||
IM>> ãáâp®©á⢠¤®áâã¯ë ¯® ª®¬ ¤ ¬ IN ¨ OUT.
|
||||
NA> ’.¥. ¥â ¨ª ª¨å ®â«¨ç¨©? € ¯à¥ä¨ªáë¥ ª®¬ ¤ë? ‘®¢¬¥á⨬®áâì ª ª?
|
||||
|
||||
�® ª®¬ ¤ ¬ ®â«¨ç¨© ¥â. �â® _â®â ¦¥_ Z80, ¯p®áâ® ®¤®¬ ªp¨áâ ««¥ á ¨¬
|
||||
p §¬¥é¥ë ¤®¯®«¨â¥«ìë¥ ãáâp®©á⢠. ‚ᥠª®¬ ¤ë p ¡®â îâ, ¢ ⮬ ç¨á«¥ ¨
|
||||
¥¤®ªã¬¥â¨p®¢ ë¥ á ¯®«®¢¨ª ¬¨ p¥£¨áâp®¢, á å¨âp묨 ᤢ¨£ ¬¨ ¨ â.¯.
|
||||
|
||||
IM>> 800x600 ¨ª ª®© TV ¥ ¤ áâ, ¥ ¡®«¥¥ 800x256 (280?) �®«ìè¥ «¨¨©
|
||||
IM>> ⮫쪮 ¨â¥p«¥©á.
|
||||
NA> Œ®¦¥â å¢ â¨â ’‚ ®à¨¥â¨à®¢ âìáï? H ¤® SVGA ¬®¨â®à, ®¤ ª®, £« § ,
|
||||
NA> ç ©, ¥ ª §¥ë¥... 8)
|
||||
|
||||
„«ï SVGA ¡ã¤¥â ¤pã£ ï ¬®¤¥«ì, ® ¯®¯®§¦¥ ¨ ¯®¤®p®¦¥...
|
||||
|
||||
�à®â®áë á¡¥¦ «¨. ‡¥à£¨ § ª®¯ «¨áì. �®à ¨ ¬¥ § ªà㣫ïâìáï. Ivan.
|
||||
|
||||
- � §¢®¤¨áì á奬ª , ¡®«ìè ¨ ¬ «¥ìª ... [ Sprinter-II ] [Forth-CPU] [ZX]
|
||||
|
||||
... ivan_mak@mail.ru * http://st-rektal.chat.ru * http://www.atlant.ru/peters
|
||||
--- GoldED+/386 1.0.0
|
||||
* Origin: The Sprinter has You! (2:5030/529.24)
|
||||
@@ -0,0 +1,34 @@
|
||||
*** Area: ZX.SPECTRUM Date: 4 Apr 01 6:41:06
|
||||
*** From: Ivan Mak (2:5030/529.24)
|
||||
*** To : Eugene Ostroukhov
|
||||
*** Subj: Sprinter News
|
||||
|
||||
|
||||
�ਢ¥âáâ¢ãî ‚ á, Eugene!
|
||||
|
||||
<Saturday March 31 2001> <11:19> Eugene Ostroukhov wr®te to Ivan Mak:
|
||||
|
||||
>> �p¨ ¯p®£p ¬¬¨p®¢ ¨¨ ¨ç¥¬ ¥ ®â«¨ç ¥âáï ®â Z80. „®¯®«¨â¥«ìë¥
|
||||
>> ãáâp®©á⢠¤®áâã¯ë ¯® ª®¬ ¤ ¬ IN ¨ OUT. ‚ ‘¯p¨â¥p¥ ¯p®æ¥áá®p
|
||||
>> ¥¬®£® p §®£ á 16 (¯® ¯ ᯮpâã) ¤® 21MHz.
|
||||
EO> ƒ à â¨ï áâ ¡¨«ì®áâ¨?
|
||||
|
||||
�®«¥¥ ¤¢ãå ¤¥áï⪮¢ ¢®¯p®á®¢ á í⨬ ¥ ¯®ï¢«ï«®áì. € ¢ á ¬®¬ ç «¥
|
||||
¯p®¢®¤¨«¨áì ¨áá«¥¤®¢ ¨ï íâ®â áç¥â. „® 21MHz £®¨âáï ¤ ¦¥ ¬®¤¨ä¨ª æ¨ï
|
||||
Z84C15 10MHz.
|
||||
’ ª çâ® ¤«ï 16-£® § ¯ á ¥áâì. € ¢ëè¥ ¥ áâ ¢¨¬ ¢ ¢¨¤ã ®âáãâá⢨ï â ª®¢®£®.
|
||||
16-ï £p ¤ æ¨ï ¤«ï Z84C14 ¬ ªá¨¬ «ì ï.
|
||||
|
||||
>> 800x600 ¨ª ª®© TV ¥ ¤ áâ, ¥ ¡®«¥¥ 800x256 (280?)
|
||||
>> �®«ìè¥ «¨¨© ⮫쪮 ¨â¥p«¥©á.
|
||||
EO> 800x600 - áâ ¤ à⮥ à §à¥è¥¨¥ ⥫¥¢¨§®à ã ¯¨á¢.
|
||||
|
||||
‚ ¨â¥p«¥©á¥ ¨ á ®¡p¥§ 묨 ¢¥p娬¨/¨¦¨¬¨ áâp®ª ¬¨ 90% TV... § ¥¬...
|
||||
|
||||
�à®â®áë á¡¥¦ «¨. ‡¥à£¨ § ª®¯ «¨áì. �®à ¨ ¬¥ § ªà㣫ïâìáï. Ivan.
|
||||
|
||||
- � §¢®¤¨áì á奬ª , ¡®«ìè ¨ ¬ «¥ìª ... [ Sprinter-II ] [Forth-CPU] [ZX]
|
||||
|
||||
... ivan_mak@mail.ru * http://st-rektal.chat.ru * http://www.atlant.ru/peters
|
||||
--- GoldED+/386 1.0.0
|
||||
* Origin: The Sprinter has You! (2:5030/529.24)
|
||||
@@ -0,0 +1,35 @@
|
||||
*** Area: ZX.SPECTRUM Date: 4 Apr 01 6:55:28
|
||||
*** From: Ivan Mak (2:5030/529.24)
|
||||
*** To : Doba Nova
|
||||
*** Subj: Ž ‘¯p¨â¥p¥.
|
||||
|
||||
|
||||
�ਢ¥âáâ¢ãî ‚ á, Doba!
|
||||
|
||||
<Saturday March 31 2001> <15:54> Doba Nova wr®te to Ivan Mak:
|
||||
|
||||
DN> € ¢®â ¥é¥ ¢®¯à®á: ¡ §¥ á¯à¨â¥à ¬®¦® MSX-2 § ¯à®£à ¬¬¨à®¢ âì?
|
||||
DN> ˆ«¨ ¥ ¯®âï¥â?
|
||||
|
||||
�p¨æ¨¯¨ «ìëå ¯p®¡«¥¬ ¤ ë© ¬®¬¥â ¥ ¢¨¤®. „«ï í⮣® 㦥 祫®¢¥ª,
|
||||
ª®â®pë© ¢ MSX p §¡¨p ¥âáï. H¥ ¢ ⮬ á¬ëá«¥, çâ® ¯p®£p ¬¬¨p®¢ âì, ® ¨ ¢
|
||||
¦¥«¥§¥, § âì, ª ª ¢á¥ ãáâp®¥®, çâ® ¡ë ¢ �‹Œ íâ® ¤¥«® ¯p®è¨âì.
|
||||
|
||||
DN> ’ ¬ ¯® ¨¤¥¥ ⮫쪮 ¢¨¤¥®ç¨¯ ¢®à®ç ë©... H® ¥á«¨ ¡ë ¡ë« ¯®¤¤¥à¦ª
|
||||
DN> MSX-2 ¢ ¤®¯®«¥¨¥ ª ZX Spectrum - ï ¡ë ªã¯¨« ¤¢ , ¥â - âਠª®¬¯ ! ˆ
|
||||
DN> ¥é¥ ¢á¥¬ MSX-®á⠫죨áâ ¬ ¯®á®¢¥â®¢ «.
|
||||
|
||||
ˆä®p¬ æ¨ï ¯® í⮬㠢¨¤¥®ç¨¯ã 㦠. †¥«¥§ ï ¨ ¯®« ï.
|
||||
|
||||
€ ç¨áâ® ¯p¨æ¨¯¨ «ì® ¢®§¬®¦ p¥ «¨§ æ¨ï «î¡®£® ¦¥«¥§ «î¡®£® ª®¬¯ìîâ¥p
|
||||
Z80. Ž£p ¨ç¥¨¥ ⮫쪮 ¯® á«®¦®á⨠¦¥«¥§ . Žç¥ì á¨«ì® ¢®p®ç¥®¥ ¬®¦¥â ¢
|
||||
�‹Œ ¥ ¯®¬¥áâ¨âìáï, ® ¨ ¢ í⮬ á«ãç ¥ ¥áâì ¢®§¬®¦®áâì ¢ 㢥«¨ç¥¨¨ ®¡ê¥¬
|
||||
�‹Œ ¤«ï ᯥæ.p¥ «¨§ 権.
|
||||
|
||||
�à®â®áë á¡¥¦ «¨. ‡¥à£¨ § ª®¯ «¨áì. �®à ¨ ¬¥ § ªà㣫ïâìáï. Ivan.
|
||||
|
||||
- � §¢®¤¨áì á奬ª , ¡®«ìè ¨ ¬ «¥ìª ... [ Sprinter-II ] [Forth-CPU] [ZX]
|
||||
|
||||
... ivan_mak@mail.ru * http://st-rektal.chat.ru * http://www.atlant.ru/peters
|
||||
--- GoldED+/386 1.0.0
|
||||
* Origin: The Sprinter has You! (2:5030/529.24)
|
||||
@@ -0,0 +1,30 @@
|
||||
*** Area: ZX.SPECTRUM Date: 4 Apr 01 7:13:17
|
||||
*** From: Ivan Mak (2:5030/529.24)
|
||||
*** To : Kirill Frolov
|
||||
*** Subj: Ž ‘¯p¨â¥p¥.
|
||||
|
||||
|
||||
�ਢ¥âáâ¢ãî ‚ á, Kirill!
|
||||
|
||||
<Monday April 02 2001> <03:38> Kirill Frolov wr®te to Ivan Mak:
|
||||
|
||||
AV>> Hã ¢®¡é¥¬ ã¡¥¤¨« - Sprinter àã«¥§.
|
||||
KF> ˆâ¥à¥á®, ¥áâì ᢮¡®¤® à á¯à®áâà 塞㥠¨áå®¤ë¥ â¥ªáâë å®âì
|
||||
KF> ª ª®©-¨¡ã¤ì á奬ë �‹Œ ¤«ï ‘¯à¨â¥à , ¯à¨¬¥à ᯥªâà㬮¢áª®©?
|
||||
|
||||
ˆá室¨ª¨ �‹Œ ᢮¡®¤® ¥ p á¯p®áâp ïîâáï.
|
||||
…᫨ ¦¥ ®¨ ¯®âp¥¡ãîâáï ¤«ï ª®ªp¥â®£® ¤¥« , â® ¬®¦® ®¡ í⮬ ¨ ¯®£®¢®p¨âì.
|
||||
|
||||
KF> € ¨áå®¤ë¥ â¥ªáâë ª ª¨å-«¨¡® ¯à®£à ¬¬ ¯®¤ ‘¯à¨â¥à?
|
||||
|
||||
€ «®£¨ç®...
|
||||
H ¤ ë© ¬®¬¥â, ᢮¨ ¨á室¨ª¨ (¤ã¬ ¢ ⮬ ç¨á«¥) ï ®â¤ î ª ¦¤®¬ã, ªâ®
|
||||
¯®¯p®á¨â.
|
||||
|
||||
�à®â®áë á¡¥¦ «¨. ‡¥à£¨ § ª®¯ «¨áì. �®à ¨ ¬¥ § ªà㣫ïâìáï. Ivan.
|
||||
|
||||
- � §¢®¤¨áì á奬ª , ¡®«ìè ¨ ¬ «¥ìª ... [ Sprinter-II ] [Forth-CPU] [ZX]
|
||||
|
||||
... ivan_mak@mail.ru * http://st-rektal.chat.ru * http://www.atlant.ru/peters
|
||||
--- GoldED+/386 1.0.0
|
||||
* Origin: The Sprinter has You! (2:5030/529.24)
|
||||
@@ -0,0 +1,155 @@
|
||||
*** Area: ZX.SPECTRUM Date: 6 Apr 01 15:54:00
|
||||
*** From: Alex Goryachev (2:5030/529.56)
|
||||
*** To : Sergey Krinitsin
|
||||
*** Subj: Sprinter News
|
||||
|
||||
�ΰ¨Ά¥βαβΆγξ, Sergey!
|
||||
|
||||
AG>> ISA2ZX), CGA ¬®¨β®ΰ, ⥫¥Ά¨§®ΰ α® SCART, ¬ £¨β®δ®.
|
||||
|
||||
>€ CGA § 祬? ƒ¤¥ ¥£® ¨α� βμ? H®Άλε ¤ Ά® ¥ Άλ―γα� ξβ. —β® ―®�γ― βμ
|
||||
>ΰ §Ά «ξεγ Άλ―γι¥γξ 20 «¥β § ¤?
|
||||
|
||||
‚®β νβ®β α«γη © ¨ ―p¥¤γᬮβp¥ Ά p¨ β ¨α―®«μ§®Ά ¨ο ⥫¥Ά¨§®p .
|
||||
|
||||
>‚λ �®¬¥ΰη¥α� ο δ¨ΰ¬ . � � Άλ ΅γ¤¥β¥ ―®¤¤¥ΰ¦¨Ά βμ νβ¨ε ―ΰ®£ΰ ¬¬¨αβ®Ά?
|
||||
>�㤥⥠¨¬
|
||||
>―« β¨βμ? �«¨ ―®�γ― βμ ¨ε ―ΰ®£ΰ ¬¬λ ¤«ο
|
||||
>¤ «μ¥©θ¥© ΰ¥ «¨§ 樨? �«¨ ε®βο΅λ �…‘�‹€’H� ―।®αβ Ά¨β¥ ¨¬ �®¬―
|
||||
>(―®«®ζ¥λ©,
|
||||
> ¥ ―ΰ®αβ® ―« βγ) ¤«ο ΰ ΅®βλ? ‘®¬¥Ά ξαμ.
|
||||
|
||||
€ §pο.
|
||||
Sprinter (�®¬―μξβ¥p Ά α΅®p¥) ¨ p μθ¥ ―p¥¤®αβ Ά«ο«αο, β¥―¥pμ ΆαΆο§¨ α
|
||||
�β¨Ά¨§ 樥© p ΅®β ¤ ―p®¥�⮬ ¬¨ § ―« ¨p®Ά ® Ά®§®΅®Ά¨βμ ―®¤®΅γξ
|
||||
―p �β¨�γ.
|
||||
|
||||
“α«®Ά¨ο ―p¥¤®αβ Ά«¥¨ο �®¬―μξβ¥p ―p®£p ¬¬¨αβ ¬ β �®Άλ:
|
||||
1. H «¨η¨¥ § �®η¥λε ―p®¥�β®Ά ―p®δ¥αᨮ «μ®£® γp®Άο � �®©-«¨΅®
|
||||
�®¬―μξβ¥p®© ―« βδ®p¬¥.
|
||||
2. �p¥¤Ά p¨β¥«μ®¥ ¨§γ票¥ Ά®§¬®¦®α⥩ Sprinter- ¨ ¤®�㬥β 樨 ―®
|
||||
―p®£p ¬¬¨p®Ά ¨ξ.
|
||||
3. H «¨η¨¥ ―p®¥�β ―¥pα―¥�β¨Ά®£® ―p®£p ¬¬®£® ―p®¤γ�β .
|
||||
4. H «¨η¨¥ ―®¤p®΅®£® ―« p ΅®β, α γ� § ¨¥¬ νβ ―®Ά ¨ αp®�®Ά Άλ―®«¥¨ο.
|
||||
|
||||
‘ ―p®£p ¬¬¨α⮬ § �«ξη ¥βαο ¤®£®Ά®p.
|
||||
�® ®�®η ¨ξ p ΅®β �®¬―μξβ¥p «¨΅® Ά®§Άp ι ¥βαο δ¨p¬¥, «¨΅® ¨¤¥β Ά § η¥β
|
||||
®―« βλ.
|
||||
�® ¤®£®Ά®p¥®αβ¨ ¨ ¨αε®¤ο ¨§ �®¬¬¥pη¥α�®© ζ¥®αβ¨ ―p®£p ¬¬®£® ―p®¤γ�β ,
|
||||
α®§¤ ο ―p®£p ¬¬ ¬®¦¥β ΅λβμ «¨΅® �γ―«¥ α® Άα¥¬¨ ―p Ά ¬¨, «¨΅® ―p¨οβ
|
||||
p α―p®αβp ¥¨¥.
|
||||
|
||||
�®Άβ®pοξ, νβ α奬 㦥 ¥ p § ―p®Ά¥p¥ . € ―p®Ά¥p¨βμ ¥¥ α ¬®¬γ ¨ηβ® ¥
|
||||
¬¥θ ¥β.
|
||||
|
||||
>‘®§¤ ¥βαο Ά―¥η β«¥¨¥, ηβ® Ά θ δ¨ΰ¬ § βΰ β¨Ά ®―।¥«¥λ¥
|
||||
>α।αβΆ (¨¬ε® ᮢᥬ ¥ ΅®«μ訥), ―λβ ¥βαο «ξ묨 α―®α®΅ ¬¨ α΅ £ΰ¨βμ �®¬―
|
||||
>� �
|
||||
>¬®¦® ΅®«μ襬γ η¨α«γ «ξ¤¥©, ¤¥οαμ ―ΰ¨β®�
|
||||
>ε «οΆ®£® α®δβ , ηβ®΅λ ¥ι¥ ΅®«¥¥ γΆ¥«¨η¨βμ ―ΰ®¤ ¦¨. H® ¬ θ¨
|
||||
>΅¥§ α®δβ , § β �γξ ζ¥γ, ¬ «® �®£® ¬®¦¥β § ¨β¥ΰ¥α®Ά βμ.
|
||||
>�β® Ά¨¤® ¨§ ⮣®, ηβ® § ¥α�®«μ�® «¥β Ά ¬ γ¤ «®αμ ―ΰ¨Ά«¥η αΆ®ξ
|
||||
>―« βδ®ΰ¬γ β®«μ�® 25 ―®«μ§®Ά ⥫¥©.
|
||||
|
||||
H¥ ΅γ¤γ ®΅p ι βμ Ά¨¬ ¨¥ ¨§Άp ι¥®¥ ―p¥¤αβ Ά«¥¨¥ �®¬¬¥pη¥α�¨ε 楫¥©
|
||||
襩 δ¨p¬λ.
|
||||
H θ¨ p αη¥βλ αΆο§ λ α ⥬, ηβ® Sprinter ΅γ¤¥β ¨¬¥βμ β �®© α®δβ, �®β®pλ©
|
||||
¨§¬¥¨β α®®β®θ¥¨¥ ζ¥ /� η¥αβΆ® Ά ―®«μ§γ ―®α«¥¤¥£®. � ―γβοε ―®«γ票ο ν⮣®
|
||||
α®δβ ο ―¨α « ¨ §¤¥αμ ¨ p ¥¥. H® ―®� ¥£® ¥β Ά ¤®αβ β®η®¬ �®«¨η¥αβΆ¥ ¨
|
||||
� η¥αβΆ¥, ¬λ ¨ ¥ Ά¥¤¥¬ p¥ημ ® η «¥ �®¬¬¥pη¥α�¨ε ―p®¤ ¦.
|
||||
� §®Άλ¥ ―®�γ―�¨ Sprinter- ¥ Ά αη¥β (―p¨΅λ«μ ®β ¨ε ¥αγι¥αβΆ¥ ), «ξ¤¨
|
||||
¤¥« ξβ Ά ΅®«μθ¨αβΆ¥ αΆ®¥¬ ®α¬λα«¥γξ ―®�γ―�γ, ¨ ¨α室οβ ¨§ αγι¥αβΆγξι¨ε
|
||||
¤®α⮨αβΆ �®¬―μξβ¥p , ¥ ¨§ p¥�« ¬λε ®΅¥ι ¨©.
|
||||
…᫨ �β®-β® ¥ι¥ ¥ § ¥β 楫¨ θ¥£® ®΅ι¥¨ο Ά νβ®© �®δ¥p¥ζ¨¨, β® ―®οαξ,
|
||||
ηβ® ® α®α⮨⠥ Ά ―®¨α�¥ ―®�㯠⥫¥©, Ά ¦¥« ¨¨ ―®§ �®¬¨βμ
|
||||
¨β¥p¥αγξι¨εαο α® Sprinter-®¬, α ®¤®© αβ®p®λ, ¨ ©β¨ «ξ¤¥©, ¦¥« ξι¨ε
|
||||
―®γη αβΆ®Ά βμ Ά ―p®¥�β¥, α ¤pγ£®©. �λ αβ p ¥¬αο α®§¤ βμ γα«®Ά¨ο ¤«ο
|
||||
®΅®ξ¤®Άλ£®¤®£® α®βp㤨η¥αβΆ .
|
||||
|
||||
AG>> …᫨ £®Ά®ΰ¨βμ ® β¥ε®«®£¨¨ Ά 楫®¬, β® ¤®¬ 訩 �®¬―μξβ¥ΰ -
|
||||
AG>> νβ® β®«μ�® α ¬®¥ ΅«¨§�®¥ ¨ ®η¥Ά¨¤®¥ ―ΰ Ά«¥¨¥. ‚
|
||||
AG>> ―¥ΰα―¥�β¨Ά¥ Ά®§¬®¦® ―®οΆ«¥¨¥ ®΅«¥£η¥λε γαβΰ®©αβΆ
|
||||
AG>> α―¥ζ¨ «μ®£® ―ਬ¥¥¨ο. “ ¨ε ΅γ¤γβ δγ�樮 «μλ¥
|
||||
AG>> ®£ΰ ¨η¥¨ο, ® § β® ¨ α⮨¬®αβμ β �¨ε γαβΰ®©αβΆ ΅γ¤¥β
|
||||
AG>> αγι¥αβΆ¥® ¨¦¥.
|
||||
|
||||
>‚λ 㦥 ―ΰ¥§¥β®Ά «¨ ®΅«¥£η¥γξ ―« βγ α αγ―¥ΰα�¨¤�®© Ά 10$.
|
||||
|
||||
�β® ¥ α�¨¤� , p §¨ζ Ά α⮨¬®αβ¨. �« β Light ―®§Ά®«ο¥β ―®�㯠⥫ξ
|
||||
ακν�®®¬¨βμ Ά®§¬®¦®αβ¨ p ΅®βλ α ISA γαβp®©αβΆ ¬¨, �®β®pλ¥ ¥¬γ ¥ γ¦λ
|
||||
(¥α«¨ ®¨ ¥ γ¦λ).
|
||||
’¥ε®«®£¨ο ―p®¨§Ά®¤αβΆ ―®«®© ¨ ®΅«¥£η¥®© ―« βλ ¨ 祬 ¥ ®β«¨η ¥βαο,
|
||||
β®«μ�® ¥ γαβ Ά«¨Ά ξβαο ¥�®β®pλ¥ ν«¥¬¥βλ. Sp2000-Light ¬λ ―« ¨p㥬
|
||||
¨§£®β Ά«¨Ά βμ β®«μ�® § � §.
|
||||
|
||||
AG>> �β¨ γαβΰ®©αβΆ ΅γ¤γβ ¤ΰ㣨¬¨ ¨ Άγβΰ¥¥
|
||||
AG>> ¨ Ά¥θ¥.
|
||||
|
||||
>� ¨¬¥βμ α®Ά¬¥α⨬®αβμ β®«μ�® γΰ®Ά¥ �®¬¬ ¤ ―ΰ®ζ¥αα®ΰ ? :)
|
||||
|
||||
� §Ά¥ ο £®Ά®p¨«, ηβ® ®¨ ¤®«¦λ ¨¬¥βμ α®Ά¬¥α⨬®αβμ? � � ο ¬®¦¥β ΅λβμ
|
||||
α®Ά¬¥α⨬®αβμ γ "γβξ£ " ¨ "ε®«®¤¨«μ¨� "? �p®¬¥ p §Ά¥ ηβ® �¥β®Άα�¨ε
|
||||
¤p ©Ά¥p®Ά... :)
|
||||
�¥ημ Ά¥¤μ ¥ ® ¬®¤¥«οε �®¬―μξβ¥p®Ά, ¥αβμ ¨ ¤p㣨¥ γαβp®©αβΆ .
|
||||
|
||||
AG>> H ―ਬ¥ΰ �β¥ΰ¥β-―ΰ¨αβ Ά� � ¤®¬ 襬γ
|
||||
AG>> ⥫¥Ά¨§®ΰγ. …© ¥ βॡγ¥βαο ―®¤¤¥ΰ¦� ΅®«μθ¥£® η¨α«
|
||||
AG>> ―¥ΰ¨δ¥ΰ¨¨, ¥ γ¦ αβ ¤ ΰβ ο �« Ά¨ βγΰ ¨ £ΰ®¬®§¤�¨©
|
||||
AG>> �®ΰ―γα, ® α®Ά¥ΰθ¥® ¥®΅ε®¤¨¬® «¨η¨¥ δ«νθ-― ¬οβ¨.
|
||||
|
||||
>€ ΅γ¤¥β «¨ Ά θ "¥ αβ ¤ ΰβ ο" �« Ά¨ βγΰ α⮨βμ ¤¥θ¥Ά«¥ α ¬®© «¥Ά®©
|
||||
>�–'θ®© �« Άλ?
|
||||
|
||||
�β¥p¥β-―p¨αβ Ά�¥ Ά®®΅ι¥ ¥ γ¦ �« Ά¨ βγp Ά ―p¨Άλ箬 Ά¨¤¥ (⥬ ΅®«¥¥
|
||||
«¥Ά ο). ‚Ά®¤ β¥�αβ®Ά®© ¨δ®p¬ 樨 ( ―p¨¬¥p URL) ¬®¦® ®αγι¥αβΆ«οβμ α ―®¬®ιμξ
|
||||
¤¦®©αβ¨� ¨«¨ ¨£p®Ά®£® ―γ«μβ (θ¨p®�® p α―p®αβp ¥λε) η¥p¥§ Ά¨pβγ «μγξ
|
||||
�« Ά¨ βγpγ ν�p ¥.
|
||||
|
||||
AG>> ‚ η «¥ ¤® ΰ §®΅ΰ βμαο, § 祬 ⥡¥ 㦥 �®¬―μξβ¥ΰ, ―®β®¬
|
||||
AG>> αΰ Ά¨βμ ―®βॡ®αβ¨ α Ά®§¬®¦®αβﬨ � ¦¤®© �®�ΰ¥β®©
|
||||
AG>> ¬®¤¥«¨, § ⥬ β®«μ�® ΰ¥θ βμ 㦥 ¨¬¥® νβ®β �®¬―μξβ¥ΰ
|
||||
AG>> ¨«¨ � �®©-β® ¤ΰγ£®©.
|
||||
|
||||
>€ ηβ® α¥£®¤¥θ¨© ¤¥μ ¬®¦¥β Sprinter �஬¥ ξ§ ¨ο α―¥�βΰ㬮Άα�®£®
|
||||
>α®δβ ?
|
||||
|
||||
H ¤® Ά¨¤¥βμ, � � Sprinter ¬®¦¥β p ΅®β βμ α® α―¥�®Άα�¨¬ α®δ⮬! ‘�®p®αβμ p ΅®βλ
|
||||
α―¥�βp㬮Άα�¨ε ―p®£p ¬¬, 㤮΅αβΆ® ¨ε εp ¥¨ο ¨ ¤®αβγ― � ¨¬, Ά®§¬®¦®αβμ
|
||||
¨¬¥βμ ¥α�®«μ�® α―¥�βpγ¬-α®Ά¬¥α⨬λε �®¬―μξβ¥p®Ά Ά ®¤®¬... � νβ® β®«μ�® ®¤¨
|
||||
¨§ p¥¦¨¬®Ά p ΅®βλ Sprinter- . H θ �®αβpγ�β®p Ivan Mak ¥ §pο ―p¥¤« £ ¥β «ξ¤ο¬
|
||||
Ά« ¤¥ξ騬 ¨δ®p¬ 樥© ® ¦¥«¥§¥ MSX ―®¤¥«¨βμαο ¥ξ. …αβμ ―¥pα―¥�β¨Ά α®§¤ ¨ο
|
||||
p¥¦¨¬ ν⮣® �®¬―μξβ¥p .
|
||||
€ Ά¥¤μ ¥αβμ ¥ι¥ ―p®£p ¬¬λ ―¨α λ¥ ¥―®αp¥¤αβΆ¥® ¤«ο α ¬®£® Sprinter- .
|
||||
�ε ¥¬®£®, ® ®¨ α®§¤ ξβαο ¨ Ά ¤ γξ ¬¨γβγ.
|
||||
€ ¥ι¥ Ά®§¬®¦®αβμ p ΅®β βμ α® αβ ¤ pβ®© α®Άp¥¬¥®© ―¥p¨δ¥p¨¥©. H ―p¨¬¥p,
|
||||
p ΅®β βμ α £¨£ ΅ ©β묨 Ά¨β ¬¨, α«γθ βμ ¬γ§λ�γ α �®¬― �β®Ά, εp ¨βμ ¨ε
|
||||
pε¨Άλ.
|
||||
|
||||
>�®βp¥΅®αβ¨ ―®«μ§®Ά ⥫ο 㦥 ―¥p¥η¨α«ο«¨αμξ ‚λ £®β®Άλ ¨ε
|
||||
>㤮Ά«¥βΆ®p¨βμ΅ ¨«¨ α� ¦¥β¥ ‘ β �¨¬¨ § ―p®α ¬¨ ®΅p ι ©β¥αμ �
|
||||
>―p®¨§Ά®¤¨β¥«ο¬ �–�,
|
||||
|
||||
�®«μθ¨αβΆ® ¨§ ν⮣® ¬®¦® p¥ «¨§®Ά βμ, Ά®―p®α β®«μ�® Ά® Άp¥¬¥¨. —¥¬ ΅®«μθ¥
|
||||
祫®Ά¥� ΅γ¤¥β γη αβΆ®Ά βμ Ά ―p®¥�β¥, ⥬ ΅λαβp¥¥ p αθ¨pοβαο Ά®§¬®¦®αβ¨
|
||||
Sprinter- .
|
||||
|
||||
AG>> � ᮦ «¥¨ξ, ¤®«£®¥ Άΰ¥¬ο ―ΰ¨ α®§¤ ¨¨ Sprinter- ®΅ΰ β ο
|
||||
AG>> αΆο§μ ΅λ« ¥ΰ¥£γ«οΰ®© ¨ ¥ γη¨βλΆ « αμ, ―® ΅®«μ讬γ
|
||||
AG>> αη¥βγ.
|
||||
|
||||
>‘βΰ ®, ⮣¤ § 祬 ―஥�β ΅λ«® η¨ βμ?
|
||||
|
||||
�β® Ά®―p®α ¥ � ζ¥«ο¬ p ΅®βλ ¤ ―p®¥�⮬, � ®p£ ¨§ 樨 νβ®© p ΅®βλ.
|
||||
‚ οΆ p¥ ν⮣® £®¤ ―p®¨§®θ«¨ ¨§¬¥¥¨ο, ―p Ά«¥λ¥ p¥θ¥¨¥ ¨ ―p®΅«¥¬λ
|
||||
αΆο§¨ α ―®«μ§®Ά ⥫ﬨ, Ά ⮬ η¨α«¥. H θ¥ ®΅ι¥¨¥ Ά νβ®© �®δ¥p¥ζ¨¨ η αβμ
|
||||
νβ¨ε γᨫ¨©.
|
||||
|
||||
|
||||
“¤ η¨!
|
||||
|
||||
Alex Goryachev.
|
||||
|
||||
[ZX]...[Sprinter]...
|
||||
|
||||
---
|
||||
* Origin: PETERS PLUS LTD (2:5030/529.56)
|
||||
@@ -0,0 +1,55 @@
|
||||
*** Area: ZX.SPECTRUM Date: 6 Apr 01 3:40:49
|
||||
*** From: Slavka Kalinin (2:5030/885.50)
|
||||
*** To : Dmitry Ishankulov
|
||||
*** Subj: ‘¯à¨â¥à ¨ â.¯.
|
||||
|
||||
|
||||
|
||||
ƒ¤¥-â® 04-04-01 ®ª®«® 16:16:19
|
||||
Dmitry Ishankulov áâãç « ª« ¢¥ ¥ª®¬ã All,
|
||||
¯à® ‘¯à¨â¥à ¨ â.¯. ...
|
||||
|
||||
|
||||
|
||||
DI> ‡¤à áâ¢ã©, All!
|
||||
|
||||
DI> ‚®â âãâ â¥¬ë ¯®áà®ï® 室ïâ ¯p® ‘¯p¨â¥p ¨ ⮬㠯®¤®¡®¥.
|
||||
DI> Ÿ ¥ å®çã ¯p®¢®¤¨âì â¨p¥ª« ¬ë,® ¢áñ-â ª¨ âãâ å®çã ¢ë᪠§ âìáï ¯® í⮬ã
|
||||
¯®¢®¤ã:
|
||||
DI> ã ¢®â ¯¨èãâ,çâ® ‘¯p¨â¥p â ª®© å®p®è¨©,¢áñ ñ¬ ¬®¦® ¤¥« âì,® ¨
|
||||
®¤¨ 祫®¢¥ª
|
||||
DI> ¥ § å®ç¥â ¯p®¬¥ïâì ᢮© Pentium ¨«¨ Mac ‘¯p¨â¥p.
|
||||
DI> Š ¦¤ë© ¯®«ì§®¢ â¥«ì ¡ã¤¥â p áᬠâp¨¢ âì á ¡¦¥¢ë© ª®¬ ª ª ¤®¯®«¥¨¥ ª
|
||||
᢮¥¬ã ¯î
|
||||
DI> ¨ ¨ç¥£® ¡®«ìè¥ - ¯p®áâ® ®á⠫죨ï,⪠¡®«ìè¨á⢮ ç¨ «®
|
||||
‘¯¥ªâp㬠å.
|
||||
DI> ‚®â ã ¬¥ï á⮨â Pentium II 420 , ¥¬ ï ¤¥« î ªãpᮢë¥,« ¡ë,î§ î ”¨¤® ¨
|
||||
ˆâ¥p¥â,ᬮâpî
|
||||
DI> ¢¨¤¥® ¨ á«ãå î ¬ã§ëªã.Hã ªp®¬¥ 䨤®,çâ® ¨§ í⮣® ¬®¦¥â ᤥ« âì ᯥªâpã¬.
|
||||
DI> Hã ¨ ª®¥æ, §®¢¨â¥ ¬¥ 7 ¯p¨ç¨,¯® ª®â®pë¬ ï ¤®«¦¥ ®âª § âìáï ®â IBM
|
||||
¨ ¯¥p¥á¥áâì
|
||||
DI> § ‘¯p¨â¥p ? Hã ¥áá® á ¯®«®© p£ã¬¥â 樥©.
|
||||
Ž¡ëçë¬ î§¥à ¬ (⨯ ⥡ï) ¬®¦¥â ¨ ¥ç¥£® (¯®ª ) ¤¥« âì
|
||||
‘¯à¨â¥à¥, ¢®â ⢮àç¥áª¨¬ «î¤ï¬ ª®â®àë¥ çâ®-â® ¯¨èãâ
|
||||
ᯥªâà㬥 ‘¯à¨â¥à ®ç¥ì ¯à¨£ ¤¨«áï ¡ë, ¤ ¨ á �– ¥£®
|
||||
®ç¥ì 㤮¡® ä ©«ë ¯¥à¥â ᪨¢ âì. ‚ᥠíâ® ï £®¢®àî ®á®¢ë¢
|
||||
ïáì â® çâ® á¯à¨â¥à ï ¢¨¤¥« ¨ î§ « ¥ ®¤¨ à §.
|
||||
|
||||
Šáâ â¨, ¥á«¨ ªâ® ¥ § ¥â â® á®®¡éã, çâ® ¥¡¥§¨§¢¥á⮥
|
||||
ª®¬¯ìîâ¥à®¥ ¨§¤ ¨¥ ¯®¤ §¢ ¨¥¬ ZX-News ¤¥« ¥âáï
|
||||
‘¯à¨â¥à¥.
|
||||
|
||||
DI> „® ᢨ¤ ¨ï!
|
||||
|
||||
DI> -+- Traffic Increaser 3.0.1
|
||||
DI> + Origin: With Love From Russia ishankulov@mail.ru (2:5010/50.25)
|
||||
|
||||
H í⮬ ãá¥. �®ª , Dmitry!
|
||||
|
||||
[CGE] [ARTVIEW] [THE KNIGHT'S ARENA] [IF GAME]
|
||||
to be continued ...
|
||||
|
||||
NEWART/n-Discovery * Coder, gfx artist, AY music's fanat
|
||||
|
||||
--- DME v1.23+Ay rulez foreva
|
||||
* Origin: ZX Spectrum of the best hobby (2:5030/885.50)
|
||||
@@ -0,0 +1,50 @@
|
||||
*** Area: ZX.SPECTRUM Date: 7 Apr 01 22:16:00
|
||||
*** From: Alex Goryachev (2:5030/529.56)
|
||||
*** To : Kirill Frolov
|
||||
*** Subj: Sprinter News
|
||||
|
||||
�ΰ¨Ά¥βαβΆγξ, Kirill!
|
||||
|
||||
Saturday April 07 2001 Kirill Frolov -> Slavka Kalinin.
|
||||
|
||||
|
||||
|
||||
KF> ‘।αβΆ ¤«ο ΰ §ΰ ΅®β�¨ "Ά¥α祩" ―ΰ �β¨η¥α�¨ ¨� �¨ε ⮦¥ ¥β.
|
||||
KF> ” �β¨η¥α�¨ ¤® p冷¬ ¥ιρ ―¨αξ� αβ Ά¨βμ.
|
||||
|
||||
�β® β �, ¥α«¨ ¥ αη¨β βμ α―¥�βp㬮Άα�¨¥ αᥬ΅«¥pλ, α ―®¬®ιμξ �®β®pλε ΅λ«®
|
||||
―¨α ® 85% αγι¥αβΆγξι¥£® α®δβ ¤«ο Sprinter- . H® β � ο α¨βγ ζ¨ο Άp¥¬¥ ο.
|
||||
‚ 楫®¬ ―p¥¤α⮨β ᤥ« βμ Άλ΅®p, � �¨¥ αp¥¤αβΆ p §p ΅®β�¨ �� γ¦λ ᥩη α Ά
|
||||
―¥pΆγξ ®η¥p¥¤μ: α ¬®¬ Sprinter-¥ ¨«¨ ΅®«¥¥ ¬®ιλε ¬ θ¨ ε, � �®β®pλ¬ γ¦¥
|
||||
―p¨Άλ�«¨ ―p®£p ¬¬¨αβλ? �®οβ®, ηβ® ¥®΅ε®¤¨¬® ¨ β® ¨ ¤pγ£®¥. H Άα¥ε
|
||||
―« βδ®p¬ ε ―p®£p ¬¬¨p®Ά ¨¥¬ § ¨¬ ξβαο � � ―p®δ¥αᨮ «λ, β � ¨ «ξ΅¨β¥«¨ α
|
||||
p §λ¬ γp®Ά¥¬ § ¨©. �®ν⮬γ Sprinter-¥ γ¦λ ¥ β®«μ�® αᥬ΅«¥pλ, ® ¨
|
||||
�®¬―¨«οβ®pλ α ¤p㣨ε ο§λ�®Ά ―p®£p ¬¬¨p®Ά ¨ο ¨ ¤ ¦¥ ¨β¥p―p¥β β®pλ.
|
||||
H® ¤ Ά ©β¥ p αᬮβp¨¬ α¥£®¤οθξξ α¨βγ ζ¨ξ α® Sprinter-®¬. ‘®δβ ―p �β¨η¥α�¨
|
||||
¥β, η⮠ᨦ ¥β ―p¨Ά«¥� ⥫μ®αβμ ν⮣® �®¬―μξβ¥p . �¥θ¨βμ ―p®΅«¥¬γ ¬®¦®
|
||||
β®«μ�® ―p¨Ά«¥� ο ―p®£p ¬¬¨αβ®Ά α® αβ®p®λ ¨ α®§¤ Ά ο ¨¬ γα«®Ά¨ο ¤«ο p ΅®βλ ¨
|
||||
§ p ΅®β� . ‚§οβμαο § ―¨α ¨¥ αβ®«μ γ¦λε ᥩη α � η¥αβΆ¥λε ―p¨�« ¤λε
|
||||
―p®£p ¬¬ ¨ ¨£pγθ¥�, ¬®£γβ, ―®¦ «γ©, β®«μ�® γΆ¥p¥λ¥ Ά γα―¥θ®αβ¨ αΆ®¨ε
|
||||
―p®¥�β®Ά ―p®£p ¬¬¨αβλ γp®Άο ―p®δ¥αᨮ «®Ά. H® ®¨ ΅γ¤γβ �®¤¨βμ, γΆ¥p¥, α
|
||||
―®¬®ιμξ �p®αα αp¥¤αβΆ PC. H ―p¨¬¥p ―p®£p ¬¬¨αβλ 襩 δ¨p¬λ ¨α―®«μ§γξβ
|
||||
�p®αα αᥬ΅«¥pλ. �αβ β¨, θ¨ ― pβ¥pλ § pγ΅¥¦®¬ ⮦¥ ΅γ¤γβ ―¨α βμ α®δβ ¥
|
||||
Sprinter-¥.
|
||||
�αε®¤ο ¨§ νβ¨ε α®®΅p ¦¥¨© ¬λ ¥ δ®pα¨p㥬 α®§¤ ¨¥ αp¥¤αβΆ ―p®£p ¬¬¨p®Ά ¨ο
|
||||
¥―®αp¥¤αβΆ¥® ¤«ο Sprinter- . H® ¤«ο ⮣® ηβ® ΅λ γ ―®«μ§®Ά ⥫¥©, ¨¬¥ξι¨ε
|
||||
β®«μ�® Sprinter, ΅λ« Ά®§¬®¦®αβμ ―p®£p ¬¬¨p®Ά βμ ―®¤ ¥£®, ¬λ ¨ ―« ¨p㥬
|
||||
¤ ―β¨p®Ά βμ CP/M-80, �®β®pλ© ¨¬¥¥β pο¤ ¥―«®ε¨ε αᥬ΅«¥p®Ά ¨ ¤p㣨ε ο§λ�®Ά
|
||||
―p®£p ¬¬¨p®Ά ¨ο. � � ο 㦥 ―¨α «, ¬λ ―®αβ p ¥¬αο Άλ―®«¨βμ ¤ ―β ζ¨ξ
|
||||
£p ¬®β®, α ⥬ ηβ® ΅λ pο¤γ α ―p®§p η®αβμξ Sprinter-®Άα�®£® DOS ¤«ο CP/M,
|
||||
α®εp ¨βμ ―®«γξ p ΅®β®α―®α®΅®αβμ α ¬®£® CP/M.
|
||||
� ΅®β ―® ¤ ―β 樨 η¥βαο Ά �®ζ¥ «¥β . …᫨ γ �®£®-β®, �β® ¨β¥p¥αγ¥βαο
|
||||
CP/M ¥αβμ � �¨¥-«¨΅® ―®¦¥« ¨ο, β® ¥αβμ Άp¥¬ο ¨ε α¥pμ¥§® ®΅α㤨βμ.
|
||||
|
||||
|
||||
“¤ η¨!
|
||||
|
||||
Alex Goryachev.
|
||||
|
||||
[ZX]...[Sprinter]...
|
||||
|
||||
---
|
||||
* Origin: PETERS PLUS LTD (2:5030/529.56)
|
||||
@@ -0,0 +1,110 @@
|
||||
*** Area: ZX.SPECTRUM Date: 9 Apr 01 22:35:00
|
||||
*** From: Alex Goryachev (2:5030/529.56)
|
||||
*** To : Sergey Krinitsin
|
||||
*** Subj: Sprinter News
|
||||
|
||||
�ਢ¥âáâ¢ãî, Sergey!
|
||||
|
||||
Saturday April 07 2001 Sergey Krinitsin -> Alex Goryachev.
|
||||
|
||||
AG>> ‚®â íâ®â á«ãç © ¨ ¯p¥¤ãᬮâp¥ ¢ p¨ ⠨ᯮ«ì§®¢ ¨ï
|
||||
AG>> ⥫¥¢¨§®p .
|
||||
|
||||
SK> € ¢ë á ¬¨ ¯à®¡®¢ «¨ ¯®à ¡®â âì á ⥫¥¢¨§®à®¬ ¢¬¥áâ® ¬®¨â®à ?
|
||||
SK> Žá®¡¥® ¢ë᮪¨å à §à¥è¥¨ïå? Œ®¦¥â ¤ ¦¥ ¯®à ¢¨«®áì?
|
||||
|
||||
‘ 94 ¯® 98 £®¤ ã ¬¥ï ¡ë«® ¥áª®«ìª® ¬®¤¥«¥© ‘¯¥ªâp㬠¨ ¢á¥ ¡ë«¨ ®¡®p㤮¢ ë
|
||||
‚— ¬®¤ã«ïâ®p ¬¨ ¯®áª®«ìªã ¢ ª ç¥á⢥ ¬®¨â®p ï ¨á¯®«ì§®¢ « ⥫¥¢¨§®p ¡¥§
|
||||
SCART- . �®â®¬ ï ¯®¯p®¡®¢ « ¯®¤ª«î票¥ ª SCART-ã ¤p㣮¬ ⥫¥¢¨§®p¥ (NEC,
|
||||
89 £®¤ ) ¨ ®æ¥¨« p §¨æã. ˆ ¬®£ã á 㢥p¥®áâìî £®¢®p¨âì, ç⮠ᮢp¥¬¥ë¥
|
||||
⥫¥¢¨§®pë ( p §ê¥¬ë SCART ¤p¥¢¨å ¥ ©¤¥èì) ¢¯®«¥ ¬®£ãâ âï£ âìáï á
|
||||
¬®¨â®p ¬¨ ¯® ª ç¥áâ¢ã ¨§®¡p ¦¥¨ï. € Sprinter á ⥫¥¢¨§®p®¬, ¢®â 㦥
|
||||
¤«¨â¥«ì®¥ ¢p¥¬ï, ¨á¯®«ì§ã¥â Ivan Mak.
|
||||
‚®¡é¥¬ Sprinter ¯p¥¤« £ ¥âáï ¯®¤ª«îç âì ª ⥫¥¢¨§®pã ¨¬¥® ¢ SCART, ¢ í⮬
|
||||
á«ãç ¥ ¨§®¡p ¦¥¨¥ ¡ã¤¥â ç¥âª¨¬.
|
||||
|
||||
>>> ‘®§¤ ¥âáï ¢¯¥ç â«¥¨¥, çâ® ¢ è ä¨à¬ § âà ⨢ ®¯à¥¤¥«¥ë¥
|
||||
>>> á।á⢠(¨¬å® ᮢᥬ ¥ ¡®«ì訥), ¯ëâ ¥âáï «î묨 ᯮᮡ ¬¨
|
||||
>>> á¡ £à¨âì ª®¬¯
|
||||
>>> ª ª
|
||||
>>> ¬®¦® ¡®«ì襬ã ç¨á«ã «î¤¥©, ¤¥ïáì ¯à¨â®ª
|
||||
>>> å «ï¢®£® á®äâ , çâ®¡ë ¥é¥ ¡®«¥¥ 㢥«¨ç¨âì ¯à®¤ ¦¨. H® ¬ è¨
|
||||
AG>> H¥ ¡ã¤ã ®¡p é âì ¢¨¬ ¨¥ ¨§¢p 饮¥ ¯p¥¤áâ ¢«¥¨¥
|
||||
AG>> ª®¬¬¥pç¥áª¨å 楫¥© 襩 ä¨p¬ë.
|
||||
|
||||
SK> Š®¥ç ï æ¥«ì «î¡®© ŠŽŒŒ…�—…‘ŠŽ‰ ¤¥ï⥫ì®áâ¨- ¯®«ã票¥
|
||||
SK> ¯à¨¡ë«¨.
|
||||
|
||||
‘ í⮩ ä®p¬ã«¨p®¢ª®© ï ᮣ« á¥, ¢®â á ¯p¥¤ë¤ã饩 - ¥â.
|
||||
|
||||
AG>> …᫨ ªâ®-â® ¥é¥ ¥ § ¥â 楫¨ 襣® ®¡é¥¨ï ¢ í⮩
|
||||
AG>> ª®ä¥p¥æ¨¨, â® ¯®ïáî, çâ® ® á®á⮨⠥ ¢ ¯®¨áª¥
|
||||
AG>> ¯®ªã¯ ⥫¥©, ¢ ¦¥« ¨¨ ¯®§ ª®¬¨âì ¨â¥p¥áãîé¨åáï á®
|
||||
AG>> Sprinter-®¬, á ®¤®© áâ®p®ë, ¨ ©â¨ «î¤¥©, ¦¥« îé¨å
|
||||
AG>> ¯®ãç á⢮¢ âì ¢ ¯p®¥ªâ¥, á ¤p㣮©. Œë áâ p ¥¬áï á®§¤ âì
|
||||
AG>> ãá«®¢¨ï ¤«ï ®¡®î¤®¢ë£®¤®£® á®âp㤨ç¥á⢠.
|
||||
SK> [...]
|
||||
|
||||
>>> ˆ ¨¬¥âì ᮢ¬¥á⨬®áâì ⮫쪮 ã஢¥ ª®¬¬ ¤ ¯à®æ¥áá®à ? :)
|
||||
AG>> � §¢¥ ï £®¢®p¨«, çâ® ®¨ ¤®«¦ë ¨¬¥âì ᮢ¬¥á⨬®áâì? Š ª ï
|
||||
AG>> ¬®¦¥â ¡ëâì ᮢ¬¥á⨬®áâì ã "ãâî£ " ¨ "宫®¤¨«ì¨ª "? Šp®¬¥
|
||||
AG>> p §¢¥ çâ® ˆ¥â®¢áª¨å ¤p ©¢¥p®¢... :)
|
||||
AG>> �¥çì ¢¥¤ì ¥ ® ¬®¤¥«ïå ª®¬¯ìîâ¥p®¢, ¥áâì ¨ ¤p㣨¥
|
||||
AG>> ãáâp®©á⢠.
|
||||
|
||||
SK> ’®£¤ ª ª®¥ ®â®è¥¨¥ ®¨ ¨¬¥îâ ª Sprinter'ã ?
|
||||
|
||||
Ÿ ®â¢¥ç « ¢®¯p®á ® ¤ «ì¥©è¥¬ p §¢¨â¨¨ â¥å®«®£¨¨, ®á®¢¥ ª®â®p®© á®§¤
|
||||
Sprinter.
|
||||
|
||||
|
||||
AG>> ‚ ï¢ p¥ í⮣® £®¤ ¯p®¨§®è«¨ ¨§¬¥¥¨ï, ¯p ¢«¥ë¥
|
||||
AG>> p¥è¥¨¥ ¨ ¯p®¡«¥¬ë á¢ï§¨ á ¯®«ì§®¢ ⥫ﬨ, ¢ ⮬ ç¨á«¥.
|
||||
AG>> H è¥ ®¡é¥¨¥ ¢ í⮩ ª®ä¥p¥æ¨¨ ç áâì íâ¨å ãᨫ¨©.
|
||||
|
||||
SK> € ¯®ç¥¬ã ¡ë ¢ ¬ ¯à®áâ® ¥ á¯à®á¨âì 㠫©, ª ª¨¬ ¤®«¦¥ ¡ëâì
|
||||
SK> Sprinter çâ®¡ë ®¨ à¥è¨«¨ ¥£® ¯à¨®¡à¥áâ¨? ˆ ®¢ãî ¬®¤¥«ì
|
||||
SK> à §à ¡ âë¢ âì ®á®¢ ¨¨ § ¯à®á®¢ ¯®â¥æ¨ «ìëå ¯®ªã¯ ⥫¥©.
|
||||
|
||||
|
||||
Sprinter p §p ¡ âë¢ «áï ¤«¨â¥«ì®¥ ¢p¥¬ï. ’¥å¨ç¥áª¨¥ å p ªâ¥p¨á⨪¨ ¨ p¥è¥¨ï
|
||||
¨ª®£¤ ¥ ¡ë«¨ â ©®© ®â «î¤¥© ¨â¥p¥áãîé¨åáï ¯p®¥ªâ®¬. ˆ ¯®áâ®ï®
|
||||
¢ë¤¢¨£ «¨áì p §«¨çë¥ ®¢ë¥ âp¥¡®¢ ¨ï ¨ ¯p¥¤«®¦¥¨ï. H ¨¡®«¥¥ §¤p ¢ë¥ ¨¤¥¨
|
||||
¢®¯«®é «¨áì ¢ på¨â¥ªâãp¥ ª®¬¯ìîâ¥p . ˆ§¬¥¥¨¥ på¨â¥ªâãpë ¢ ¥ª®â®pëå
|
||||
á«ãç ïå ¯p®å®¤¨«® ¥ ᮢᥬ ¡¥§¡®«¥§¥® ¤«ï p ¡®â®á¯®á®¡®á⨠ª®¬¯ìîâ¥p ¢
|
||||
楫®¬.
|
||||
ˆáá«¥¤®¢ ¨ï âp¥¡®¢ «¨ ¢p¥¬¥¨, â ª ª ª ¢® ¬®£®¬ Sprinter ¡ë« ®¢ â®p᪨¬
|
||||
ª®¬¯ìîâ¥p®¬. �®áâ®ï® ¢®§¨ª «¨ ᮡ« §¨â¥«ìë¥ ¢®§¬®¦®á⨠¢¥pãâì ¬ è¨ã
|
||||
¥é¥ ¨ ¥é¥. ‚¥¤ì Sprinter ¢ëp®á ¨§ ‘¯¥ªâp㬠¨ ¯®«¥ ¤¥ï⥫ì®á⨠¤«ï
|
||||
¬®¤¥p¨§ 樨 ¡ë«® ®ç¥ì ¢¥«¨ª®. „ ¦¥ ᥩç á, ª®£¤ Sprinter ¨¬¥¥â ¢®§¬®¦®áâ¨
|
||||
® ª®â®pëå ¢ 96 £®¤ã ¥«ì§ï ¡ë«® ¨ ¬¥çâ âì, ã ¥£® ¯® ¬¥¨î pï¤ ¯®«ì§®¢ ⥫¥©
|
||||
®áâ «¨áì á« ¡ë¥ ¬¥áâ (¥ 32 p §pï¤ë© ¯p®æ¥áá®p, ¥ SVGA-èë© ¬®¨â®p).
|
||||
�p ¢¤ ⥯¥pì í⨠᫠¡ë¥ ¬¥áâ 㦥 áp ¢¨¢ îâ á ¢®§¬®¦®áâﬨ PC, ¥
|
||||
‘¯¥ªâp㬠. ;)
|
||||
|
||||
‚®¡é¥¬, ¯p®¥ªâ § â¢ «áï ¨ ¥ ã ¢á¥å «î¤¥©, ªâ® ¯®¤¤¥p¦¨¢ « p §p ¡®â稪®¢
|
||||
å®âï ¡ë ¬®p «ì®, å¢ â «® â¥p¯¥¨ï ¤®¦¤ âìáï p¥§ã«ìâ â ¨ ¯®î§ âì ¥£®. € ª®£¤
|
||||
ª § «®áì ¡ë ª®¬¯ìîâ¥p ¡ë« £®â®¢ ª ¢ë室㠢 ᢥâ, á«ã稫áï ¢£ãáâ 98 £®¤ . ‚ᥬ
|
||||
áâ «® ¥ ¤® ª®¬¯ìîâ¥p®¢.
|
||||
|
||||
‘¥£®¤ï, è ä¨p¬ è« ¢ ᥡ¥ á¨«ë ¤«ï á¥p쥧®© ªâ¨¢¨§ 樨 p ¡®âë ¤
|
||||
¯p®¥ªâ®¬. ˆ ¬ë £®â®¢ë ª ®¡á㦤¥¨î ¢á¥¢®§¬®¦ëå ¢®¯p®á®¢ á¢ï§ ëå á®
|
||||
Sprinter-®¬. H® ¥ã¦¥«¨ ¥¢®§¬®¦®áâì §¢ âì Sprinter á㯥p¯ã¯¥pª®¬¯ìîâ¥p®¬,
|
||||
íâ® ¯p¨ç¨ ¤«ï ⮣® çâ® ¡ë ¥ ¯p¥¢p é âì ¥£® ¨§ « ¡®p â®p®£® ¯p¨¡®p ¢
|
||||
¯®«¥§ãî ¤«ï á¥¡ï ¨ ¤pã£¨å ¢¥éì?
|
||||
Œ®¦¥â ¯ p ««¥«ì® á p §£®¢®p ¬¨ ¡ã¤¥¬ á®§¤ ¢ âì á®äâ? H ¯« ⥠Sp2000
|
||||
¯p¥¤á⮨⠦¨âì ª ª ¬¨¨¬ã¬ âp¨ £®¤ ( á⮫쪮 ¡®«ì让 ã ¥¥ ¯®â¥æ¨ «).
|
||||
�⨠áp®ª¨ ¡ã¤ãâ ¬¨ ¢ë¤¥p¦ ë ¤«ï ¢®§¬®¦®á⨠ᮧ¤ ¨ï ¯p®£p ¬¬®£®
|
||||
®¡¥á¯¥ç¥¨ï ¡¥§ ¡®ï§¨ ¯®â¥pïâì ¯®ªã¯ ⥫¥©.
|
||||
„® ¯®ï¢«¥¨ï á«¥¤ãî饣® ¢ p¨ â ¦¥«¥§ ¡ã¤¥â ¢p¥¬ï ¨ ¢ë᪠§ âì ¨ ¢ëá«ãè âì
|
||||
¯®¦¥« ¨ï.
|
||||
|
||||
|
||||
“¤ ç¨!
|
||||
|
||||
Alex Goryachev.
|
||||
|
||||
[ZX]...[Sprinter]...
|
||||
|
||||
---
|
||||
* Origin: PETERS PLUS LTD (2:5030/529.56)
|
||||
@@ -0,0 +1,31 @@
|
||||
*** Area: ZX.SPECTRUM Date: 11 Apr 01 22:27:00
|
||||
*** From: Alex Goryachev (2:5030/529.56)
|
||||
*** To : Andreas Kaiser
|
||||
*** Subj: ‘¯à¨â¥à ¨ â.¯.
|
||||
|
||||
�ਢ¥âáâ¢ãî, Andreas!
|
||||
|
||||
Tuesday April 10 2001 Andreas Kaiser -> All.
|
||||
|
||||
AK> �த «¨ ¡à ª®¢ ãî ¯« âã, ¡«¨, ï ¨§¤ «¥ª ¯à¨¥å « ;)) Šáâ â¨, ï
|
||||
|
||||
�®¦ «ã©áâ , ¥ ¢¢®¤¨ ¢ § ¡«ã¦¤¥¨¥ ç¨â ⥫¥© ª®ä¥p¥æ¨¨. :)
|
||||
…᫨ ¯« â ç áâ¨ç® ¢ëè« ¨§ áâp®ï ¯®á«¥ p ¡®âë ¡®«¥¥ £®¤ , â® íâ® ¥ § ç¨â,
|
||||
çâ® ® ¡ë« ¡p ª®¢ ®© ¯p¨ ¯p®¤ ¦¥.
|
||||
|
||||
AK> ¤«ï
|
||||
AK> ¥áç áâëå ª ª ï ¬®¦® ¡ã¤¥â ª ª-â® ¨§¡ ¢¨âìáï ®â ¯« âë Sprinter-97 ¨
|
||||
AK> à §¦¨âáï Sprinter-2K? ”¨à¬ ¯à¥¤ãᬠâਢ ¥â ¯®¤¤¥à¦ªã ª«¨¥âãàë? €
|
||||
|
||||
Š®¥ç® ¬®¦® ¡ã¤¥â ¯®¬¥ïâì Sp97 Sp2000 á ¤®¯« ⮩. �®¤p®¡®á⨠®â¯p ¢«¥ë
|
||||
¬ë«®¬.
|
||||
|
||||
|
||||
“¤ ç¨!
|
||||
|
||||
Alex Goryachev.
|
||||
|
||||
[ZX]...[Sprinter]...
|
||||
|
||||
---
|
||||
* Origin: PETERS PLUS LTD (2:5030/529.56)
|
||||
@@ -0,0 +1,40 @@
|
||||
*** Area: ZX.SPECTRUM Date: 11 Apr 01 22:49:00
|
||||
*** From: Alex Goryachev (2:5030/529.56)
|
||||
*** To : Slavka Kalinin
|
||||
*** Subj: Sprinter News
|
||||
|
||||
�ਢ¥âáâ¢ãî, Slavka!
|
||||
|
||||
Tuesday April 10 2001 Slavka Kalinin -> Alex Goryachev.
|
||||
|
||||
|
||||
|
||||
SK> �ਢ¥âáâ¢ãî ⥡ï, Alex!
|
||||
|
||||
SK> € ¯®ç¥¬ã ¢ë ¥ ᤥ« ¥â¥ ¢ ‘¯à¨â¥à¥ ०¨¬ í¬ã«ï樨 ᯥªâàã¬
|
||||
SK> á® ¢á直¬¨ ¤®à ¡®âª ¬¨ ⨯ : ¯¯ à ⮣® ¬ã«ì⨪®«®à , 512
|
||||
SK> ¯¨ªá¥«¥© ¢ áâப¥, Flash colour ¨ â.¤. ?
|
||||
|
||||
�⨠¤®p ¡®âª¨ ¥«ì§ï §¢ âì p á¯p®áâp ¥ë¬¨ ¨ ®¨ ¯p ªâ¨ç¥áª¨ ¥
|
||||
¯®¤¤¥p¦¨¢ îâáï ¯p®£p ¬¬¨áâ ¬¨. Œë ¦¥ p¥ «¨§®¢ «¨ ¨¡®«¥¥ ¨§¢¥á⮥ ¦¥«¥§®
|
||||
(Pentagon 128, Scorpion ¨ Pentagon 512). € ¥á«¨ ã¦ë ¤®¯®«¨â¥«ìë¥
|
||||
£p ä¨ç¥áª¨¥ ¢®§¬®¦®áâ¨, â® ¯®ç¥¬ã ¤«ï í⮣® ¥ £®¤¨âáï ⥪áâ®¢ë© íªp 80å32,
|
||||
£p ä¨ç¥áª¨© 320å256 á 256 梥⠬¨ ¨ 640å256 á 16 梥⠬¨ ¨§ ¯ «¨âpë 16 ¬«.
|
||||
梥⮢?
|
||||
|
||||
|
||||
SK> Šáâ ⨠®ç¥ì §àï ¢ë ¥ ॠ«¨§®¢ «¨ ¯®«®æ¥ãî í¬ã«ïæ¨î AY
|
||||
|
||||
�p®¡«¥¬ë á í¬ã«ï樥© AY ¨§¢¥áâë (¯p®¡«¥¬ë á ¡¥«ë¬ è㬮¬, ®£¨¡ î騬¨ ¨ ¥é¥
|
||||
ª®¥-çâ®) ¨ ®¨ ¡ã¤ãâ p¥è¥ë ª ª®æã ¬ ï, â® ¥áâì ª ¬®¬¥âã ¢ë室 ¯« âë
|
||||
Sp2000.
|
||||
|
||||
|
||||
“¤ ç¨!
|
||||
|
||||
Alex Goryachev.
|
||||
|
||||
[ZX]...[Sprinter]...
|
||||
|
||||
---
|
||||
* Origin: PETERS PLUS LTD (2:5030/529.56)
|
||||
@@ -0,0 +1,85 @@
|
||||
*** Area: ZX.SPECTRUM Date: 12 Apr 01 11:57:00
|
||||
*** From: Alex Goryachev (2:5030/529.56)
|
||||
*** To : Stas Vlasov
|
||||
*** Subj: Sprinter News
|
||||
|
||||
�ਢ¥âáâ¢ãî, Stas!
|
||||
|
||||
Wednesday April 11 2001 Stas Vlasov -> Sergey Krinitsin.
|
||||
|
||||
SK>> Ÿ ªã¯«î Sprinter ¥á«¨:
|
||||
|
||||
SK>> 1. “ ¥£® ¡ã¤ãâ á«¥¤ãî騥 ०¨¬ë à ¡®âë:.......................
|
||||
|
||||
SV> ) Full Speccy Compatibility mode, ® á ¨á¯®«ì§®¢ ¨¥¬
|
||||
SV> ¢á¥© ¤®áâ㯮© ¯ ¬ïâ¨, à § 㦠íâ® ¤¥ª« à¨àã¥âáï.
|
||||
SV> „«ï ¬¥ï ¥ ®¡ï§ ⥫ì®. „®áâ â®ç® í¬ã«ï樨, «¨¡®
|
||||
SV> ç áâ¨ç®© ᮢ¬¥á⨬®áâ¨, ¯à¨ ª®â®à®© ¡ã¤¥â ¨¤â¨ ¡®«ìè ï
|
||||
SV> ç áâì ¯à®£à ¬¬.
|
||||
|
||||
�â® ¥áâì 㦥 ᥩç á. Pentagon 128, Scorpion 256, Pentagon 512.
|
||||
Š ¨îî ¯®ï¢¨âáï ¤®¯®«¨â¥«ìë© p¥¦¨¬ Real Spectrum á "¨áâ¨ë¬" ULA ¨ ¤p㣨¬¨
|
||||
¢¥é ¬¨. ‚ ®á®¢®¬ íâ® ¤¥« ¥âáï ¯® ¯p®áì¡¥ è¨å § pã¡¥¦ëå ¯ pâ¥p®¢.
|
||||
|
||||
SV> ¡) ¡®«¥¥ ¤à㣮© ०¨¬. ⥪áâ: 梥⮩ 80x24,
|
||||
SV> £à 䨪 : å®âï ¡ë 640x480, ¬®¦® 16 梥⮢,
|
||||
SV> ® «ãçè¥ ¡®«ìè¥.
|
||||
|
||||
‘¥©ç á: 梥⮩ ⥪áâ 80å32
|
||||
ƒp 䨪 320å256 256 梥⮢, 640å256 16 梥⮢. �â® ¯p¨ 256ª ¢¨¤¥®Ž‡“ ª®â®p®¥
|
||||
¨á¯®«ì§ã¥âáï ᥩç á. �®«ì襥 p §p¥è¥¨¥ ¡ã¤¥â ¢®§¬®¦® ¯p¨ ¨á¯®«ì§®¢ ¨¨ 512ª
|
||||
¢¨¤¥®Ž‡“, ¤«ï 祣® ¥â ¨ª ª¨å ¯p¥¯ïâá⢨© - ¯« ⥠SP2000 ¬®¦® ãáâ ®¢¨âì
|
||||
ª ª p § 512ª.
|
||||
|
||||
|
||||
SK>> 2. Š ¥¬ã ¬®¦® ¡ã¤¥â ¯®¤ª«îç¨âì:..............................
|
||||
|
||||
SV> „ ¢á¥, ¯à ªâ¨ç¥áª¨. H ç¨ ï ®â ¯¨á¢ëå ¬ë襩 com ¨ ps/2,
|
||||
SV> ¢¥è¨å ¬®¤¥¬®¢, á¥â¥¢ëå ª àâ ¨ ª« ¢¨ âãà. Š®à®ç¥ £®¢®àï,
|
||||
SV> ç⮡ ¨¬¥«¨áì áâ ¤ àâë¥ à §ê¥¬ë ¤«ï ¯®¤ª«îç¥¨ï ¯« â
|
||||
SV> à áè¨à¥¨ï ¨ ¢¥è¨å ãáâனáâ¢.
|
||||
|
||||
‘ ¬ë¥ p á¯p®áâp ¥ë¥ ¢¥è¨¥ ãáâp®©á⢠¬®¦® ¯®¤ª«îç¨âì 㦥 ᥩç á.
|
||||
Š®¬¯ìîâ¥à ᮡ¨à ¥âáï ¢ ª®à¯ãᥠAT Minitower ¡¥§ ¨á¯®«ì§®¢ ¨ï ¯ ï«ì¨ª . Š
|
||||
¯« ⥠¯®¤ª«îç ¥âáï AT-ª« ¢¨ âãà , MS-Mouse, IDE ¢¨ç¥áâ¥à, ATAPI CD-ROM, Hayes
|
||||
¬®¤¥¬. ‚ᥠí⨠ãáâனá⢠áâ ¤ àâë¥ ¨ ¨å ¬®¦® ¯à¨®¡à¥á⨠¢ «î¡®©
|
||||
ª®¬¯ìîâ¥à®© ä¨à¬¥.
|
||||
|
||||
SV> Šáâ â¨, ¢¨â íâ® ¢¥è¥¥ ãáâனá⢮?
|
||||
SV> Ž (¨«¨ å®âï ¡ë ª®â஫«¥à ¤¢ à §ê¥¬ ) ¤®«¦¥ ¡ëâì.
|
||||
SV> „®«¦¥ ¯®¤¤¥à¦¨¢ âìáï ª ª ¬®¦® ¡®«¥¥ ¡®«ì让 ®¡ê¥¬.
|
||||
|
||||
�« â Sp2000 ¨¬¥¥â IDE ¨â¥pä¥©á ¨ ¤¢ p §ê¥¬ , â ª¨¬ ®¡p §®¬ ¬®¦® ¯®¤ª«îç¨âì
|
||||
å®âì 4 ¢¨â , ¥á«¨ CD-ROM ¥ 㦥. �®¤¤¥p¦¨¢ îâáï ¢¨ç¥áâ¥pë «î¡®£® ®¡ê¥¬ ,
|
||||
® ®¨ ¤®«¦ë ¡ëâì p §¡¨âë «®£¨ç¥áª¨¥ ãáâp®©á⢠¯® 2 ƒ¡, çâ® ®¡ãá«®¢«¥®
|
||||
âp¥¡®¢ ¨ï¬¨ FAT16.
|
||||
|
||||
SK>> 3. „«ï ¥£® ¡ã¤¥â á«¥¤ãî訩 á®äâ:..............................
|
||||
|
||||
SV> H®à¬ «ì ï ¬®£®§ ¤ ç ï ®¯¥à 樮 ï á¨á⥬ § é¨é¥®£® ०¨¬ ,
|
||||
SV> ¯®¤ ª®â®à®© ¯®«ì§®¢ ⥫ì᪮© ¯à®£à ¬¬¥ ¥«ì§ï ¡ã¤¥â ¢«¥§âì ¢ ®¡« áâì
|
||||
SV> ¯ ¬ï⨠¤à㣮© ¯à®£à ¬¬ë ¨ ⥬ ¡®«¥¥ ®¯¥à 樮ª¨. �®«¥¥-¬¥¥¥ ¯à¨«¨çë©
|
||||
SV> । ªâ®à ⥪áâ , á।áâ¢ à §à ¡®âª¨.
|
||||
SV> (ª®à®ç¥, î¨ªá ¬¥ï ¨â¥à¥áã¥â :-)
|
||||
|
||||
‘¥©ç á Ž‘ Sprinter- ¨¬¥¥â ¤¨áª®¢ãî ¯®¤á¨á⥬㠨 ª®¥-çâ® ¢ë室ï饥 § p ¬ª¨
|
||||
¯p®á⮣® DOS, á®§¤ ¨¥ £p ä¨ç¥áª®© ¯®¤á¨áâ¥¬ë ¢¯¥p¥¤¨.
|
||||
Œ®£®§ ¤ 箩 á¨á⥬ á⠥⠯®§¤¥¥, ¯®ª ¢á¥ p㪠¥ å¢ â ¥â.
|
||||
|
||||
SK>> 4. …£® æ¥ á®áâ ¢¨â:..........................................
|
||||
|
||||
SV> ’ãâ § âàã¤ïîáì ᪠§ âì çâ®-â® ®¯à¥¤¥«¥®¥.
|
||||
SV> Œ¥ìè¥ ¯¨áîª ®¤®§ ç®. ’ ª¦¥ ®¤®§ ç® ¡®«ìè¥ ¡ë⮢®£® ¬®¤¥¬ .
|
||||
SV> ‚®¡é¥¬, ®â 150 ¤® 350 $, ¢ § ¢¨á¨¬®á⨠®â ª®ä¨£ãà æ¨¨.
|
||||
|
||||
‘⮨¬®áâì ª®¬¯ìîâ¥p ¢ á¡®p¥ ¢ ¬¨¨¬ «ì®© ª®ä¨£ãp 樨 ¯p¨¢®¤¨« áì ¢ ä®p㬥
|
||||
㦥 (ᥩç á íâ® 135$).
|
||||
|
||||
“¤ ç¨!
|
||||
|
||||
Alex Goryachev.
|
||||
|
||||
[ZX]...[Sprinter]...
|
||||
|
||||
---
|
||||
* Origin: PETERS PLUS LTD (2:5030/529.56)
|
||||
@@ -0,0 +1,57 @@
|
||||
*** Area: ZX.SPECTRUM Date: 12 Apr 01 19:32:42
|
||||
*** From: Andreas Kaiser (2:5020/400.0)
|
||||
*** To : All
|
||||
*** Subj: ‘¯à¨â¥à ¨ â.¯.
|
||||
|
||||
<987029365@p56.f529.n5030.z2.FidoNet.ftn>
|
||||
From: "Andreas Kaiser" <reanimator@nikocity.de>
|
||||
|
||||
�ਢ¥â, Alex!
|
||||
|
||||
>AK> �த «¨ ¡à ª®¢ ãî ¯« âã, ¡«¨, ï ¨§¤ «¥ª ¯à¨¥å « ;)) Šáâ â¨, ï
|
||||
>
|
||||
>�®¦ «ã©áâ , ¥ ¢¢®¤¨ ¢ § ¡«ã¦¤¥¨¥ ç¨â ⥫¥© ª®ä¥p¥æ¨¨. :)
|
||||
>…᫨ ¯« â ç áâ¨ç® ¢ëè« ¨§ áâp®ï ¯®á«¥ p ¡®âë ¡®«¥¥ £®¤ , â® íâ® ¥
|
||||
§ ç¨â,
|
||||
>çâ® ® ¡ë« ¡p ª®¢ ®© ¯p¨ ¯p®¤ ¦¥.
|
||||
|
||||
•¬... ‚®-¯¥à¢ëå â ¬ áâ®ï« ᬠ©«¨ª (¥á«¨ çâ®), ¢®-¢â®àëå, ª®£¤ ï å®â¥«
|
||||
ªã¯¨âì ‘¯à¨â¥à, â® ˆ¢ á¯¥æ¨ «ì® ¯à¨èñ« ¢ ®ää¨á ¨§-§ ¬¥ï (§ çâ® ¥¬ã
|
||||
®£à®¬®¥á¯ ᨡ®), çâ® ¡ë ¯®ª § âì ¬¥ ¥£® ¢ ¤¥©á⢨¨ (íä䥪⠡ë«!). �®â®¬,
|
||||
ª®£¤ ï ¯®¤ મ⨪®¬ "doom" ᪠§ « "�®ªã¯ î!", ¬¥ ¢¥¦«¨¢® ®â¢¥â¨«¨
|
||||
"‡ ©¤¨â¥ ¯®¯§¦¥, £®â®¢ ¯« â ¥âã". Ÿ ¯®¯®§¦¥ § èñ« (¬¥¦¤ã ¯à®ç¨¬ § íâ®
|
||||
¢à¥¬ï ï ¯®¡ë¢ « ¢ ‘ª®à¯¨®¥, ¡®«ìè¥ ¥ å®çã â㤠) ¨ ¬¥ ˆ¢ «¨ç® ¤ « ¬ âì
|
||||
‘¯à¨â¥à ¢ 㯠ª®¢ª¥ ®â AT让 ¬ â¥à¨ :) (¯ த®ªá ¯« âä®à¬, ¡«¨!) ¨ á ¬
|
||||
áâà®ç¨« £ à â¨©ë© â «® ¯à¨â¥à¥, ¯®ª ï á ®ç㬥«ë¬¨ £« § ¬¨
|
||||
à áᬠâਢ « ¢ è ¯à ©á-«¨áâ ¯æ ¦¥«¥§®. …áâ¥á⢥®, íâã ¬ âì-¯« âã ¯à¨
|
||||
¬®¨å £« § å ¨ªâ® ¥ ¯à®¢¥àï«, ï ¢ ¬ ¤®¢¥à¨« (" ¯à®¢¥à﫨 «¨ ¢ë íâã ¯« âã
|
||||
¢®®¡é¥?" ¯à 訢 ¥âáï ¢®¯à®á). �®â®¬, ç¥à§¥ 1 ¬¨«ì ï ¢ª«î稫 ª®¬¯, § ¯ãá⨫
|
||||
¢ è £à ä¨ç¥áª¨© । ªâ®à ¨... ®¡«®¬ á ªàëᮩ. Ÿ ¯¨á « ˆ¢ ã, ® ®â¢¥â¨«
|
||||
¬¥, ¢ çñ¬ ¬®¦¥â ¡ëâì ¤¥«®, ï ¯®¯à®¡®¢ «, ¥ ¯®«ã稫®áì. �®â®¬ ï ¯¨á âì
|
||||
¡®«ìè¥ ¥ áâ «, ¨¡® ¡¥á¯®«¥§®.
|
||||
Šáâ â¨, ¢ í⮬ ¬¥¦¤ã ¯à®ç¨¬ ®ç¥ì ¡®«ì让 ¬¨ãá ¢ ¢ë¡®à¥ ¯à®æ¥áá®à ¤«ï
|
||||
‘¯à¨â¥à . Šâ® § ¥â, ¬®¦¥â ã ¬¥ï ¯à®æ¥ ¢ë«¥â¥« ª®â஫«¥à
|
||||
¯®á«¥¤®¢ ⥫쮣® ¯®àâ ? € § ¬¥¨âì ¯à®áâ® â ª ï ¥£® ¥ ¬®£ã, ¨¡® ¢¥áì 稯
|
||||
¤® ¬¥ïâì. ‚®â ¨ ¯®¤ ப.
|
||||
|
||||
>AK> ¤«ï
|
||||
>AK> ¥áç áâëå ª ª ï ¬®¦® ¡ã¤¥â ª ª-â® ¨§¡ ¢¨âìáï ®â ¯« âë Sprinter-97 ¨
|
||||
>AK> à §¦¨âáï Sprinter-2K? ”¨à¬ ¯à¥¤ãᬠâਢ ¥â ¯®¤¤¥à¦ªã ª«¨¥âãàë? €
|
||||
>
|
||||
>Š®¥ç® ¬®¦® ¡ã¤¥â ¯®¬¥ïâì Sp97 Sp2000 á ¤®¯« ⮩. �®¤p®¡®áâ¨
|
||||
®â¯p ¢«¥ë
|
||||
>¬ë«®¬.
|
||||
|
||||
�®ïâ®. ˆâ¥««¥£¥â®¥ ¤ã¢ ⥫ìá⢮, â ª ᪠§ âì. ‚®®¡é¥¬, ‘¯à¨â¥à ¡ã¤¥â
|
||||
¤¥à¦ âìáï ⮫쪮 ¤® ¢ë室 ¨§ áâà®ï �‹Œ, ¤ ¦¥ ã § £à ¨çëå ¤àã§¥©. Š ª
|
||||
⮫쪮 íâ® ¯à®¨§®©¤ñâ, â ª ã ¢ á áà §ã ¯®ï¢ïâìáï ¯à®¡«¥¬ë á ª«¨¥âãன.
|
||||
|
||||
‘ 㢠¦¥¨¥¬
|
||||
Andreas
|
||||
|
||||
|
||||
|
||||
--
|
||||
Žâ¯à ¢«¥® ç¥à¥§ á¥à¢¥à Talk.Ru - http://www.talk.ru
|
||||
--- ifmail v.2.15dev5
|
||||
* Origin: Talk.Ru (2:5020/400)
|
||||
@@ -0,0 +1,38 @@
|
||||
*** Area: ZX.SPECTRUM Date: 14 Apr 01 21:27:30
|
||||
*** From: Ivan Mak (2:5030/529.24)
|
||||
*** To : Stanislav Udin
|
||||
*** Subj: Ž ‘¯p¨â¥p¥.
|
||||
|
||||
|
||||
�ਢ¥âáâ¢ãî ‚ á, Stanislav!
|
||||
|
||||
<Wednesday April 04 2001> <19:07> Stanislav Udin wr®te to Ivan Mak:
|
||||
|
||||
IM>> �p¨æ¨¯¨ «ìëå ¯p®¡«¥¬ ¤ ë© ¬®¬¥â ¥ ¢¨¤®. „«ï í⮣® y¦¥
|
||||
IM>> 祫®¢¥ª, ª®â®pë© ¢ MSX p §¡¨p ¥âáï. H¥ ¢ ⮬ á¬ëá«¥, çâ®
|
||||
IM>> ¯p®£p ¬¬¨p®¢ âì, ® ¨ ¢ ¦¥«¥§¥, § âì, ª ª ¢á¥ yáâp®¥®, çâ® ¡ë ¢
|
||||
IM>> �‹Œ íâ® ¤¥«® ¯p®è¨âì.
|
||||
SU> Hy ¨ y! ’ ª áp®ç® ¨é¨â¥ â ª®£® 祫®¢¥ª . ’ ª¨¥ «î¤¨ ¢¥pïª
|
||||
SU> ¨¬¥îâáï. �®¨é¨â¥ ¢ RU.MSX. �®â¥æ¨ «ìëå ¯®«ì§®¢ ⥫¥© ¡y¤¥â £®p §¤®
|
||||
SU> ¡®«ìè¥, ¥á«¨ Sprinter ¡y¤¥â ¥é¥ ¨ ¢ p¥¦¨¬¥ Ÿ¬ å¨ p ¡®â âì.
|
||||
|
||||
ˆáª «¨ ¥é¥ âp¨ £®¤ § ¤, ® ã¢ë... �®¯p®¡ã¥¬ ᮢ ...
|
||||
|
||||
SU> ˆ ¢ ¯p®¤®«¦ ï ⥬y. ‡ ç¨â ¬®¦® ᤥ« âì â ª, ç⮡ë Sprinter ¬®£
|
||||
SU> p ¡®â âì ¢ p¥¦¨¬¥ ¬®£®ç¨á«¥ëå ᮢ¥âáª¨å ª®¬¯ìîâ¥p®¢, ®á®¢ ëå
|
||||
SU> ¯p®æ¥áá®p¥ Š�580‚Œ80€: ‚¥ªâ®p-06–, ‘¯¥æ¨ «¨áâ, ‹ì¢®¢ �Š-01,
|
||||
SU> � ¤¨®-86�Š, Œ¨ªp®è , Žp¨®-128 ¨ â.¤.? �p ¢¤ ®â ¢á¥å íâ¨å p¥¦¨¬®¢
|
||||
SU> ¢¬¥á⥠¢§ïâëå ¯®«ì§ë ¡y¤¥â ¬¥ìè¥ ç¥¬ ®â ®¤®£® p¥¦¨¬ MSX-2.
|
||||
|
||||
’ ª ¨ ¥áâì. Ž¡ í⮬ ¨ p ìè¥ £®¢®p¨«®áì.
|
||||
|
||||
�‹Œ ‘¯p¨â¥p ¯¥p¥è¨¢ ¥âáï ¢ ¬®¬¥â ¢ª«îç¥¨ï ¨ ¯¥p¥ª«îç¥¨ï ¯p®è¨¢ª¨.
|
||||
Š®«¨ç¥á⢮ ¯¥p¥è¨¢®ª - ¥®£p ¨ç¥®, â ª ª ª ®á®¢¥ ®¡ë箣® RAM...
|
||||
|
||||
�à®â®áë á¡¥¦ «¨. ‡¥à£¨ § ª®¯ «¨áì. �®à ¨ ¬¥ § ªà㣫ïâìáï. Ivan.
|
||||
|
||||
- � §¢®¤¨áì á奬ª , ¡®«ìè ¨ ¬ «¥ìª ... [ Sprinter-II ] [Forth-CPU] [ZX]
|
||||
|
||||
... ivan_mak@mail.ru * http://st-rektal.chat.ru * http://www.atlant.ru/peters
|
||||
--- GoldED+/386 1.0.0
|
||||
* Origin: The Sprinter has You! (2:5030/529.24)
|
||||
@@ -0,0 +1,26 @@
|
||||
*** Area: ZX.SPECTRUM Date: 14 Apr 01 22:07:41
|
||||
*** From: Ivan Mak (2:5030/529.24)
|
||||
*** To : Sergey Krinitsin
|
||||
*** Subj: Sprinter News
|
||||
|
||||
|
||||
�ਢ¥âáâ¢ãî ‚ á, Sergey!
|
||||
|
||||
<Saturday April 07 2001> <19:10> Sergey Krinitsin wr®te to Denis Parinov:
|
||||
|
||||
DP>> ’ë â ª å®p®è® § ¥èì ¢®§¬®¦®á⨠Sprinter' ?
|
||||
SK> Ÿ ¢ á®áâ®ï¨¨ ®æ¥¨âì ¢ëç¨á«¨â¥«ìãî ¬®é®áâì Z80 â ªâ¨à㥬®£®
|
||||
SK> ç áâ®â®© 21 Œƒ–. �â® á®áâ ¢«ï¥â 5,25 ¬«. ®¯¥à 権 ॣ¨áâà-ॣ¨áâà ¢
|
||||
SK> ᥪã¤ã. �â® ¯®ç⨠¢ ¤¢ à § ¬¥ìè¥, 祬 㠤ॢ¥© ᮢ¥â᪮© …‘-1840,
|
||||
SK> ¨¬¥î饩 ¯® ¯ ᯮàâã 10 ¬«. ®¯¥à 権.
|
||||
|
||||
’¥¯¥pì ®áâ «®áì ®æ¥¨âì ¢®§¬®¦®á⨠�‹Œ ‘¯p¨â¥p , -3ns, 1700 «®£¨ç¥áª¨å
|
||||
í«¥¬¥â®¢ (30000 GATES)
|
||||
|
||||
�à®â®áë á¡¥¦ «¨. ‡¥à£¨ § ª®¯ «¨áì. �®à ¨ ¬¥ § ªà㣫ïâìáï. Ivan.
|
||||
|
||||
- � §¢®¤¨áì á奬ª , ¡®«ìè ¨ ¬ «¥ìª ... [ Sprinter-II ] [Forth-CPU] [ZX]
|
||||
|
||||
... ivan_mak@mail.ru * http://st-rektal.chat.ru * http://www.atlant.ru/peters
|
||||
--- GoldED+/386 1.0.0
|
||||
* Origin: The Sprinter has You! (2:5030/529.24)
|
||||
@@ -0,0 +1,31 @@
|
||||
*** Area: ZX.SPECTRUM Date: 14 Apr 01 22:15:39
|
||||
*** From: Ivan Mak (2:5030/529.24)
|
||||
*** To : Andreas Kaiser
|
||||
*** Subj: ‘¯à¨â¥à ¨ â.¯.
|
||||
|
||||
|
||||
�ਢ¥âáâ¢ãî ‚ á, Andreas!
|
||||
|
||||
<Tuesday April 10 2001> <22:28> Andreas Kaiser wr®te to All:
|
||||
|
||||
AK> Šáâ â¨, ˆ¢ , ï ¯à®¢¥à¨« ¢ ©â ¯à®æ, ª ª âë £®¢®à¨«, ¨¤ñâ, ¬ëè
|
||||
AK> ¥ ¯ è¥â.
|
||||
|
||||
‚ ©â â® â ¬ ¨ ¯p¨ 祬... H㦮 ¯p®¢¥p¨âì ⮫쪮 ¯p®å®¦¤¥¨¥ +12, -5 ¢®«ìâ
|
||||
¬ëèì ¨ ᨣ « á ¬ëè¨ ç¥p¥§ ¨¢¥pâ®p ¯p®æ¥áá®p (¬ëèì ¯p¨ ¯p®¢¥pª¥ 襢¥«¨âì
|
||||
á®, çâ® ¡ë ¡ë«® ¢¨¤®).
|
||||
Hã ¨ ¥é¥ ⠪⮢ãî ç áâ®âã, çâ® ¨¤¥â ¯®á«¥¤®¢ ⥫ìë© ¯®pâ...
|
||||
|
||||
AK> �த «¨ ¡à ª®¢ ãî ¯« âã, ¡«¨, ï ¨§¤ «¥ª ¯à¨¥å « ;))
|
||||
|
||||
�«¨, ª ª®© ¡p ª?! Ÿ ¥¥ «¨ç® ¯p®¢¥pï« ¯¥p¥¤ í⨬...
|
||||
€ â® çâ® â ¬ ¯p®¢®¤ , â ª íâ® ¢á¥å ¯« â å ®¨ â ª¨¥... ’ë ¦¥ ¨å ¢¨¤¥«...
|
||||
|
||||
|
||||
�à®â®áë á¡¥¦ «¨. ‡¥à£¨ § ª®¯ «¨áì. �®à ¨ ¬¥ § ªà㣫ïâìáï. Ivan.
|
||||
|
||||
- � §¢®¤¨áì á奬ª , ¡®«ìè ¨ ¬ «¥ìª ... [ Sprinter-II ] [Forth-CPU] [ZX]
|
||||
|
||||
... ivan_mak@mail.ru * http://st-rektal.chat.ru * http://www.atlant.ru/peters
|
||||
--- GoldED+/386 1.0.0
|
||||
* Origin: The Sprinter has You! (2:5030/529.24)
|
||||
@@ -0,0 +1,31 @@
|
||||
*** Area: ZX.SPECTRUM Date: 14 Apr 01 22:43:50
|
||||
*** From: Ivan Mak (2:5030/529.24)
|
||||
*** To : Stas Vlasov
|
||||
*** Subj: Sprinter News
|
||||
|
||||
|
||||
�ਢ¥âáâ¢ãî ‚ á, Stas!
|
||||
|
||||
<Friday April 13 2001> <22:29> Stas Vlasov wr®te to Alex Goryachev:
|
||||
|
||||
SV> H £à 䨪㠯® ¡®«ì讬ã áç¥âã - ¯«¥¢ âì.
|
||||
SV> Š ª ¢ë ᮡ¨à ¥â¥áì ¯¨á âì ¯à¨«¨çãî ®¯¥à 樮ªã,
|
||||
SV> ¥á«¨ «î¡ ï ¥ª®à४â ï ¥ª®à४⮠¯¨á ï
|
||||
SV> ¯à®£à ¬¬ ¬®¦¥â ¯®áâ ¢¨âì ª®¬¯ à ª®¬ ¨§-§ ⮣®,
|
||||
SV> çâ® á«ãç ©® § ¯¨á « ¢ ®¡« áâì ¯ ¬ïâ¨ Ž‘?
|
||||
SV> ‚®§¬®¦®á⨠®£à ¨ç¨âì íâ® ¥â, â ª®© ¯à®æ¥áá®à.
|
||||
|
||||
‡ ¡ë¢ ¥¬ ¯p® �‹Œ, ¢ ª®â®p®© _¢®§¬®¦® ¢á¥_. ‚ ⮬ ç¨á«¥ ¨ § è¨â Ž‘.
|
||||
Š®ªp¥â® ¥áâì p¥¦¨¬ p ¡®âë, ª®£¤ ¯¥p¢ë¥ 16k ¯p®áâ® ¥¤®áâã¯ë
|
||||
§ ¯¨áì, å®âï ®¨ ¨ ¢ އ“. �®pâë, ¤®áâ㯠ª áâp ¨æ ¬ â ª ¦¥ ¬®£ãâ
|
||||
¡ëâì ®âªpëâë/§ ªpëâë, â ª¨¬ ®¡p §®¬ Ž‘ ¬®¦¥â ¡ëâì § é¨é¥ . …᫨ ¥
|
||||
¯®«®áâìî, â® ¤®áâ â®ç® ᨫì®... “¯p ¢«¥¨¥ ®âªpë⨥¬/§ ªpë⨥¬ ¢®§¬®¦®
|
||||
¯¯ p â® ¯® ¢å®¤ã ¢ ®¯p¥¤¥«¥ãî â®çªã (¢ë§®¢ äãªæ¨¨ �ˆŽ‘)...
|
||||
|
||||
�à®â®áë á¡¥¦ «¨. ‡¥à£¨ § ª®¯ «¨áì. �®à ¨ ¬¥ § ªà㣫ïâìáï. Ivan.
|
||||
|
||||
- � §¢®¤¨áì á奬ª , ¡®«ìè ¨ ¬ «¥ìª ... [ Sprinter-II ] [Forth-CPU] [ZX]
|
||||
|
||||
... ivan_mak@mail.ru * http://st-rektal.chat.ru * http://www.atlant.ru/peters
|
||||
--- GoldED+/386 1.0.0
|
||||
* Origin: The Sprinter has You! (2:5030/529.24)
|
||||
@@ -0,0 +1,47 @@
|
||||
*** Area: ZX.SPECTRUM Date: 14 Apr 01 22:47:41
|
||||
*** From: Ivan Mak (2:5030/529.24)
|
||||
*** To : Stas Vlasov
|
||||
*** Subj: Sprinter News
|
||||
|
||||
|
||||
�ਢ¥âáâ¢ãî ‚ á, Stas!
|
||||
|
||||
<Friday April 13 2001> <22:39> Stas Vlasov wr®te to Alex Goryachev:
|
||||
|
||||
SV> H §®¢¨â¥ ¯à¨ç¨ë, ¯® ª®â®àë¬ á⮨⠤¥« âì á®äâ ¯®¤ ¥£®.
|
||||
SV> ’.¥. ¯¯ à âë¥ ¤®á⮨á⢠. H¥â, ª®¥ç® â®, çâ® ¢ë ¯¨á «¨ ¢
|
||||
SV> ¯à¥¤ë¤ã饬 ¯¨á쬥 - íâ® ¢¥«¨ª®«¥¯ë¥ å à ªâ¥à¨á⨪¨ ¤«ï ª®¬¯ìîâ¥à
|
||||
SV> Z80. H® ï ¥ ¢¨¦ã á¬ëá« ¢ á®§¤ ¨¨ 祣®-â® á¥à쥧®£® ¤ ®¬
|
||||
SV> ª®¬¯ìîâ¥à¥. �à¨ç¥¬ ¨¬¥® ¨§-§ ⮣®, çâ® ¤«ï á®§¤ ¨ï ¡®«¥¥-¬¥¥¥
|
||||
SV> ¯à¨«¨ç®© ¯à®£à ¬¬ë ¯à¨¤¥âáï ¯à¥®¤®«¥¢ âì ¯¯ à âë¥ ¯à¥¯ïâá⢨ï,
|
||||
SV> § «®¦¥ë¥ ¨§ ç «ì®, á ¢ë¡®à®¬ ¯à®æ¥áá®à . € ¤«ï ¥á¥à쥧®£® ¬¥
|
||||
SV> ¢¯®«¥ å¢ â ¥â ¯à®áâ® PC, ¤ ¦¥ ¡¥§ í¬ã«ïâ®à .
|
||||
|
||||
_€¯¯ p âë¥_ £p ä¨ç¥áª¨¥ ¢®§¬®¦®áâ¨:
|
||||
�¨á®¢ ¨¥ «¨¨© ¢¥p⨪ «ìëå, £®p¨§®â «ìëå
|
||||
� áâ殮¨¥ «¨¨© (á¯p ©â®¢) £®p¨§®â «ì ï/¢¥p⨪ «ìëå
|
||||
�p®p¨á®¢ª á¯p ©â®¢ á ¯p®§p çë¬ æ¢¥â®¬
|
||||
’¥ªá⮢ë¥/£p ä¨ç¥áª¨¥/ᬥè ë¥ p¥¦¨¬ë íªp
|
||||
„¢ £p ä¨ç¥áª¨å íªp (®¤¨ ¯®ª §ë¢ ¥èì, ¤p㣮¬ p¨áã¥èì)
|
||||
|
||||
_€¯¯ p âë¥_ §¢ãª®¢ë¥ ¢®§¬®¦®áâ¨:
|
||||
AY
|
||||
COVOX-Blaster
|
||||
|
||||
_€¯¯ p âë¥_ ®¡é¨¥ ¢®§¬®¦®á⨠p ¡®âë á ¯ ¬ïâìî:
|
||||
�ëáâp ï ¯¥p¥á뫪 ¡ ©â®¢ (3.5¬¡/ᥪ - ¯p¥¤¥« އ“)
|
||||
�ëáâp®¥ § ¯®«¥¨¥ ®¤¨¬ ¡ ©â®¬ (7Œ¡/ᥪ)
|
||||
�ëáâp ï ¬ âp¨ç ï ¬ ⥬ ⨪ AND, OR, XOR, ADD, SUB á ¬ áᨢ ¬¨ ¤® 256
|
||||
¡ ©â
|
||||
|
||||
�â® ¨§ ⮣®, çâ® ¥áâì _ᥩç á_ ¨ ¥ ®â®á¨âáï ¯pï¬ãî ª Z80...
|
||||
|
||||
€ ¢®§¬®¦® ¥é¥ ¡®«ìè¥...
|
||||
|
||||
�à®â®áë á¡¥¦ «¨. ‡¥à£¨ § ª®¯ «¨áì. �®à ¨ ¬¥ § ªà㣫ïâìáï. Ivan.
|
||||
|
||||
- � §¢®¤¨áì á奬ª , ¡®«ìè ¨ ¬ «¥ìª ... [ Sprinter-II ] [Forth-CPU] [ZX]
|
||||
|
||||
... ivan_mak@mail.ru * http://st-rektal.chat.ru * http://www.atlant.ru/peters
|
||||
--- GoldED+/386 1.0.0
|
||||
* Origin: The Sprinter has You! (2:5030/529.24)
|
||||
@@ -0,0 +1,46 @@
|
||||
*** Area: ZX.SPECTRUM Date: 15 Apr 01 14:34:00
|
||||
*** From: Alex Goryachev (2:5030/529.56)
|
||||
*** To : Nikolay G.Arhipoff
|
||||
*** Subj: Sprinter News
|
||||
|
||||
�ਢ¥âáâ¢ãî, Nikolay!
|
||||
|
||||
Saturday April 14 2001 Nikolay G.Arhipoff -> Stas Vlasov.
|
||||
|
||||
|
||||
NA> ‚ á ¬®¬ ç «¥ ®¡á㦤¥¨ï ‘¯à¨â¥à ¢â®àë ¯¨á «¨, çâ® ¨å ª®¬¯
|
||||
NA> § ¨â¥à¥á®¢ « ¡ãà¦ã¥¢ ⥬, çâ® ¥£® ¡ §¥ ¬®¦® áí¬ã«¨à®¢ âì à §ë¥
|
||||
NA> ¬®¤¥«¨ ॠ«ìëå ª®¬¯®¢ (㦥 ᤥ« ë �¥â, ‘ª®à¯), ª ª â® ¨£à®¢ë¥
|
||||
NA> ¢â®¬ âë (¨«¨ ï çâ®-â® ¥ â ª ¯®ï«?). ˆ ‘¯à¨â¥à¥ ¯¨á âì ¤«ï ¨å
|
||||
NA> ¯à®£à ¬¬ë, ¨á¯®«ì§ãï ¥£® ª ª ªà®áá-á। . �®ç¥¬ã ¥ �¥ì? ’ ¬
|
||||
NA> ¯à¨¤¥âáï
|
||||
NA> ¤¥« âì ¯à®£à ¬¬ë© í¬ã«ïâ®à, âॡãî騩 ¡®«ìè¨å à¥áãàᮢ, ‘¯à¨â¥à
|
||||
NA> í¬ã«¨àã¥â ã஢¥ ¦¥«¥§ .
|
||||
|
||||
H¥¬®£® ¥ â ª. ˆ®áâp 楢 Sprinter § ¨â¥p¥á®¢ « ª ª ¥¤®p®£®© ª®¬¯ìîâ¥p á
|
||||
¢®§¬®¦®áâìî p ¡®âë á® áâ ¤ p⮩ ¯¥p¨ä¥p¨¥©, ¥ ª ª ¯®«¨£® ¤«ï
|
||||
¬®¤¥«¨p®¢ ¨ï ¦¥«¥§ ¢ �‹Œ. ’¥¬ ¨§ ¨å ªâ® å®ç¥â ¯¨á âì á®äâ ¯®¤ Sprinter
|
||||
å®p®è® § ª®¬ Z80. ‚¥¤ì, ¯®¬î, ᮢᥬ ¥ ®¡ï§ â¥«ì® ¨á¯®«ì§®¢ âì áp §ã ¢á¥
|
||||
¢®§¬®¦®á⨠Sprinter- ¯p¨ á®§¤ ¨¨ ¯p®£p ¬¬. Œ®¦® ¨á¯®«ì§®¢ âì ¢ ç «¥
|
||||
⮫쪮 £p ä¨ç¥áª¨© íªp , ®áâ ¢ ïáì ä ªâ¨ç¥áª¨ ¢ ‘¯¥ªâp㬥, ¨ ¯®á⥯¥®
|
||||
®á¢ ¨¢ ï ¢á¥ ®áâ «ìë¥ ¢®§¬®¦®áâ¨, ª®â®pë¥ ¥¤ ¢® ¯®¤p®¡® p á¯¨á « Ivan
|
||||
Mak.
|
||||
ˆ ¢®â, ®¤¨ ¨®áâp æë å®âïâ ¯¨á âì ªp á®çë¥ ¨£pë, ¤p㣨¥ å®âïâ p¥ «¨§®¢ âì
|
||||
ᮡáâ¢¥ë¥ ¯p®¥ªâë ¯® p §p ¡®âª¥ p §«¨çëå ¯¥p¨ä¥p¨©ëå ãáâp®©áâ¢. …áâì ¨ â¥,
|
||||
ªâ® å®ç¥â ¨á¯®«ì§®¢ âì Sprinter ¨ ª ª ®¢ë© ‘¯¥ªâp㬠ᮠ¢á¥¬¨ 㤮¡á⢠¬¨.
|
||||
ˆ¬¥® ¤«ï ¯®á«¥¤¨å ¨ ¤¥« ¥âáï ª®ä¨£ãp æ¨ï Real Spectrum.
|
||||
H¨ªâ® ¨§ ¨®áâp 楢 ¨ ¥¬æë, ¨ ¨á¯ æë, ¨ £«¨ç ¥, ¥ ᮡ¨p îâáï çâ®-â®
|
||||
á®§¤ ¢ âì ¢ €«ìâ¥p¥. € ªp®ááp¥¤á⢠¨¬¥«¨áì ¢¢¨¤ã ¥ Sprinter-¥, PC,
|
||||
MAC- å, €¬¨£ å.
|
||||
ޡ饍¥ á ¨®áâp æ ¬¨ ¯®§¢®«ï¥â ᤥ« âì ¢ë¢®¤, çâ® ¨§ ¢á¥£® ¬®£®®¡p §¨ï
|
||||
¦¥«¥§ , á ¬ë¬ ¯¥pᯥªâ¨¢ë¬ ¤«ï p¥ «¨§ 樨 ¢ �‹Œ ï¥âáï MSX2.
|
||||
|
||||
|
||||
“¤ ç¨!
|
||||
|
||||
Alex Goryachev.
|
||||
|
||||
[ZX]...[Sprinter]...
|
||||
|
||||
---
|
||||
* Origin: PETERS Plus Ltd. peters@atlant.ru (2:5030/529.56)
|
||||
@@ -0,0 +1,36 @@
|
||||
*** Area: ZX.SPECTRUM Date: 16 Apr 01 1:04:16
|
||||
*** From: Denis Parinov (2:5030/529.48)
|
||||
*** To : Stas Vlasov
|
||||
*** Subj: ‘¯à¨â¥à ¨ â.¯.
|
||||
|
||||
� ¤ ¯à¨¢¥âá⢮¢ âì ⥡ï, Stas!
|
||||
|
||||
Saturday April 14 2001 Stas Vlasov -> Denis Parinov.
|
||||
|
||||
DP>> “áâ p¥¢è¨å? Sprinter - íâ® ª®¬¯ìîâ¥p ᮡp ë©
|
||||
DP>> _ᮢp¥¬¥®©_í«¥¬¥â®©_¡ §¥_ Ÿ¤p® ¬ è¨ë íâ® �‹Œ ALTERA ®¤® ¨§
|
||||
DP>> á ¬ëå ᮢp¥¬¥ëå ª®¬¯«¥ªâãîé¨å. „ «¥¥ FDD, HDD, CDROM, Hayes,
|
||||
DP>> Keyboard, Mouse - ⮦¥ ãáâ p¥¢è¨¥? ‘ ¬®¥ ¨â¥p¥á®¥ Œ®¨â®p:
|
||||
DP>> «®£®¢ë© CGA ¨«¨ ⥫¥¢¨§®p (§ ¬¥çã çâ® ¬®¨â®p®¢ ¨ ⥫¥¢¨§®p®¢
|
||||
DP>> ¬ë ¥ ¯p®¨§¢®¤¨¬).
|
||||
|
||||
SV> Šà®¬¥ á ¬¨å ¦¥«¥§®ª ¥áâì àå¨â¥ªâãà , â® ¥áâì â®, ª ª í⨠¦¥«¥§ª¨
|
||||
SV> ᮥ¤¨¥ë.
|
||||
|
||||
ALTER - íâ® ¬®£®-¬®£® «®£¨ç¥áª¨å í«¥¬¥â®¢ 室ïé¨åáï ¢ ®¤®¬ 稯¥,
|
||||
¢ ¥£® § £p㦠¥âáï ¨ä®p¬ æ¨ï ®¯¨áë¢ îé ï ª ª íâ¨ í«¥¬¥âë ¤®«¦ë ¡ëâì
|
||||
ᮥ¤¨¥ë ¤pã£ á ¤p㣮¬. ’ ª¨¬ ®¡p §®¬ ¯®«ãç ¥âìáï ¥ª®¥ ãáâp®©á⢮(¨«¨
|
||||
¥áª®«ìª® ãáâp®©á⢠p ᯮ«®¦¥ëå ¢ ®¤®¬ 稯¥). ˆä®p¬ æ¨ï ® ᮥ¤¨¥¨ïå
|
||||
í«¥¬¥â®¢ ¬®¦¥â ¬¥ïâìáï p § ¢ ¯®« ᥪã¤ë ¨ ¬¥ïâì ¯®«®áâìî ¨«¨ ç áâ¨ç®
|
||||
på¨â¥ªâãpã ª®¬¯ìîâ¥p . ALTER ¨¬¥¥â 32-å ¡¨âë© ¤®áâ㯠ª ¯ ¬ï⨠¨ â.¤. ‚®â
|
||||
ᮡá⢥® på¨â¥ªâãp .
|
||||
|
||||
SV> Ž â®¦¥ ᮢ६¥ ï?
|
||||
|
||||
Hã ¨ ª ª? ᮢp¥¬¥ ¨«¨ ¥â? ’ ª®£® ᮢp¥¬¥ë¥ ª®¬¯ìîâ¥pë ¥ã¬¥îâ.
|
||||
|
||||
‘ 㢠¦¥¨¥¬, Denis.
|
||||
|
||||
... H ª®¥æ, ¢ë¡à ¢ ¨§ á ¤¢®¨å 祫®¢¥ª , ® ¡à®á¨«áï ˆá £ à¤ã ¢ ®£¨.
|
||||
---
|
||||
* Origin: PETERS PLUS LTD (2:5030/529.48)
|
||||
@@ -0,0 +1,97 @@
|
||||
*** Area: ZX.SPECTRUM Date: 16 Apr 01 1:43:12
|
||||
*** From: Denis Parinov (2:5030/529.48)
|
||||
*** To : Stas Vlasov
|
||||
*** Subj: Sprinter News
|
||||
|
||||
� ¤ ¯à¨¢¥âá⢮¢ âì ⥡ï, Stas!
|
||||
|
||||
Saturday April 14 2001 Stas Vlasov -> Denis Parinov.
|
||||
|
||||
SV> �।¯®«®¦¨¬, ¬¥ ¯«¥¢ âì ¯à®¨§¢®¤¨â¥«ì®áâì.
|
||||
SV> ‚ ¡®«ìè¨á⢥ á«ãç ¥¢ íâ® â ª, â ª ª ª ¯à®¨§¢®¤¨â¥«ì®áâì
|
||||
SV> ®£à ¨ç¨¢ ¥âáï ¬®©, ¥ ¯à®£à ¬¬®©.
|
||||
|
||||
SV> H® ï å®çã ¨¬¥âì _ãá⮩稢ë©_ ¯à®£à ¬¬®- ¯¯ à âë© ª®¬¯«¥ªá.
|
||||
SV> —â® ¢ë ¬®¦¥â¥ ¯à¥¤«®¦¨âì ¯® í⮬㠯®¢®¤ã? „ , ¯®¤ ¤¥¦®áâìî
|
||||
SV> ¨¬¥¥âáï ¢¢¨¤ã ¥ ⮫쪮 ¯¯ à â ï, ª®â®à ï ®¡¥á¯¥ç¨¢ ¥âáï
|
||||
SV> à § ¨ ¢á¥£¤ , ® ¨ ¯à®£à ¬¬ ï, ª®â®à ï ¡ §¨àã¥âáï ¥ª®â®àëå
|
||||
SV> ᢮©áâ¢ å ¯¯ à ⮩ ç áâ¨.
|
||||
|
||||
SV> ‚ ç áâ®áâ¨, ï ¥ å®çã, çâ®¡ë ¯à®£à ¬¬ª , ª®â®àãî ï ¢ ¤ ë©
|
||||
SV> ¬®¬¥â ®â« ¦¨¢ î (¤ ¨ ¢®®¡é¥, «î¡ ï ¯à®£à ¬¬ ), ¬®£« § ¯¨á âì
|
||||
SV> çâ®-â® ¢ ¥ á¢®î ®¡« áâì ¯ ¬ïâ¨.
|
||||
|
||||
Š ª ¥áâì ᥩç á.
|
||||
|
||||
0000 +-------------------------------------------------------+
|
||||
0008 | â®çª ¢å®¤ ¢ BIOS |
|
||||
0010 | â®çª ¢å®¤ ¢ DOS |
|
||||
0030 | ®¡p ¡®â稪 ¯p¥pë¢ ¨ï ®â ¬ëè¨ |
|
||||
0038 | ®¡p ¡®â稪 ¯p¥pë¢ ¨ï ®â ª®á®«¨ (ª« ¢¨ âãp ¨ íªp ) |
|
||||
0066 | ®¡p ¡®â稪 ¯p¥pë¢ ¨ï ®â NMI |
|
||||
| |
|
||||
| „ «¥¥ p ᯮ« £ ¥âìáï DOS |
|
||||
| |
|
||||
4000 +-------------------------------------------------------+
|
||||
| H ç «® ¯ ¬ï⨠¤«ï ¯p¨«®¤¦¥¨© (¯¥p¢®¥ ®ª® ¯ ¬ïâ¨) |
|
||||
| ‡ £®«®¢®ª ¯p®£p ¬¬ë (¨ä®p¬ æ¨ï ® ª®¬ ¤®© áâp®ª¥ ¨ |
|
||||
| ¤p㣠ï â¥å. ¨ä®p¬ æ¨ï ® § £p㦥®¬ ¯p¨«®¦¥¨¨) |
|
||||
| íâ ®¡« áâì ¯ ¬ï⨠⮫쪮 ¤«ï ¨ä®p¬ 樨 ¨ ¬®¦¥â ¡ëâì |
|
||||
| ¨á¯®«ì§®¢ ¯p¨«®¦¥¨¥¬. |
|
||||
4100 | H ç¨ ï á í⮣® ¤p¥á ¬®¦¥â p ᯮ« £ âìáï ¯p®£p ¬¬ . |
|
||||
| |
|
||||
8000 +-------------------------------------------------------+
|
||||
| ¢â®p®¥ ®ª® ¯ ¬ï⨠|
|
||||
| |
|
||||
| |
|
||||
C000 +-------------------------------------------------------+
|
||||
| âp¥âì¥ ®ª® ¯ ¬ï⨠|
|
||||
| |
|
||||
| |
|
||||
FFFF +-------------------------------------------------------+
|
||||
|
||||
⮥áâì âë ¬®¦¥èì § â¥p¥âì ⮫쪮 DOS, ç⮡ë í⮣® ¨§¡¥¦ âì
|
||||
¬®¦® § ªpëâì ¥£® «¨¡® áâp ¨æ®© �‡“ ¨«¨ އ“ ¢ë¯®«¨¢:
|
||||
|
||||
IN A,(PAGE0)
|
||||
LD (DOSPAGE),A
|
||||
LD A,#FF
|
||||
OUT (PAGE0),A
|
||||
|
||||
¯p¨ ¢ë§®¢¥ äãªæ¨© ¤®á ¢ë¯®«ïâì:
|
||||
|
||||
LD A,(DOSPAGE)
|
||||
OUT (PAGE0),A
|
||||
RST #10
|
||||
|
||||
Žáâ «ì ï ¯ ¬ïâì ¢ë¤¥«ï¥âìáï ¡«®ª ¬¨ ¯® 16Kb ç¥p¥§ ¬¥¥¤¦¥p ¯ ¬ïâ¨.
|
||||
|
||||
LD B,number_pages
|
||||
LD C,command_GET_MEMORY
|
||||
RST #10
|
||||
LD (Memory_ID),A
|
||||
|
||||
…᫨ âë p¥è¨èì ®á¢®¡®¤¨âì ¥ ¯p¨ ¤«¥¦ 騩 ⥡¥ ¡«®ª ¯ ¬ïâ¨:
|
||||
|
||||
LD A,ID_ç㦮©_¡«®ª_¯ ¬ïâ¨
|
||||
LD C,command_FREE_MEMORY
|
||||
RST #10
|
||||
|
||||
â® äãªæ¨ï ¢¥p¥âìáï á ®è¨¡ª®©: "�¥áãpá ¥ ¤®áâ㯥".
|
||||
H ¡ã¤ã饥 ¥áâì ¬®£® ¨¤¥© ¯® ¡¥§®¯ á®á⨠á¨áâ¥¬ë ¨ â.¯.
|
||||
|
||||
SV> ‚ ᮢ६¥ëå (¨ ¥ ®ç¥ì, i386, 68000 ¨ Z80000 ¯®ï¢¨«¨áì
|
||||
SV> 㦥 ¤ ¢®) ¯à®æ¥áá®à å íâ® ®âá«¥¦¨¢ ¥âáï ã஢¥ ¯à®æ¥áá®à
|
||||
SV> (§ é¨é¥ë© ०¨¬), â.¥. ¦¥«¥§ . Œ®¦¥â¥ «¨ ¢ë ¯à¥¤«®¦¨âì
|
||||
SV> â ª®© ०¨¬ à ¡®âë?
|
||||
|
||||
Œë ¬®¦¥¬ ᤥ« âì ¨ â ª®© p¥¦¨¬.
|
||||
H ¯p¨¬¥p ã á ¥áâì ¢®§¬®¦®áâì ¢ª«îç âì/¢ëª«îç âì/¯¥p¥ ¤p¥á®¢ë¢ âì ¯®pâë
|
||||
¨«¨ "®â« ¢«¨¢ âì" ¨á¯®«¥¨¥ ª ª®© «¨¡® ª®¬ ¤ë ¯p®æ¥áá®p .
|
||||
Œë ¬®¦¥¬ ᤥ« âì ¯¯ p âãî ¬ã«ì⨧ ¤ ç®áâì. ¨ ¬®£®¥ ¤p㣮¥.
|
||||
|
||||
‘ 㢠¦¥¨¥¬, Denis.
|
||||
|
||||
... Ž ¯à®¨§¥á á â殮«ë¬ ¢§¤®å®¬. - ‚ë íâ®... ç㦨¥. „ ¨ ¥ç¨áâë© á ¢ ¬¨...
|
||||
---
|
||||
* Origin: PETERS PLUS LTD (2:5030/529.48)
|
||||
@@ -0,0 +1,31 @@
|
||||
*** Area: ZX.SPECTRUM Date: 17 Apr 01 18:11:42
|
||||
*** From: Ivan Mak (2:5030/529.24)
|
||||
*** To : Eugene Palenock
|
||||
*** Subj: ‚®¯à®á ¯à®¨§¢®¤¨â¥«ï¬ ‘¯¨à¨â¥à
|
||||
|
||||
|
||||
�ਢ¥âáâ¢ãî ‚ á, Eugene!
|
||||
|
||||
<Monday April 16 2001> <14:29> Eugene Palenock wr®te to Dmitry Ishankulov:
|
||||
|
||||
DI>> —â® ¬® ᤥ« âì â ª®£® ‘¯p¨â¥p¥,祣® ¥«ì§ï ᤥ« âì PC.
|
||||
|
||||
H ‘¯p¨â¥p¥ ¬®¦® ¨¬¥âì ®¤®¢p¥¬¥® ¥áª®«ìª® p¥¦¨¬®¢ íªp ¥. ‚ ®¤®¬
|
||||
¬¥á⥠£p 䨪ã, ¢ ¤p㣮¬ ⥪áâ.
|
||||
|
||||
H ‘¯p¨â¥p¥ ¬®¦® ¨§¬¥¨âì á奬㠪®¬¯ìîâ¥p ¯p®áâ® ¯¥p¥£p㧨¢ �‹Œ ¨§ ä ©« .
|
||||
|
||||
H ‘¯p¨â¥p¥ ¬®¦® p ¡®â âì á p¥ «ì®© ‚ƒ93-© ¬¨ªp®á奬®©.
|
||||
|
||||
EP> ˆ ¢ ¤ ë© ¬®¬¥â á¯à¨â¥à¥ ¥«ì§ï ᤥ« âì ¬®£®¥ ¨§
|
||||
EP> ⮣® çâ® ¬®¦® ᯥªâà㬥.
|
||||
|
||||
_‚p ì¥!_ _‚�€Hœ…!_ _‚ � € H œ … !_
|
||||
|
||||
�à®â®áë á¡¥¦ «¨. ‡¥à£¨ § ª®¯ «¨áì. �®à ¨ ¬¥ § ªà㣫ïâìáï. Ivan.
|
||||
|
||||
- � §¢®¤¨áì á奬ª , ¡®«ìè ¨ ¬ «¥ìª ... [ Sprinter-II ] [Forth-CPU] [ZX]
|
||||
|
||||
... ivan_mak@mail.ru * http://st-rektal.chat.ru * http://www.atlant.ru/peters
|
||||
--- GoldED+/386 1.0.0
|
||||
* Origin: The Sprinter has You! (2:5030/529.24)
|
||||
@@ -0,0 +1,40 @@
|
||||
*** Area: ZX.SPECTRUM Date: 18 Apr 01 15:27:00
|
||||
*** From: Alex Goryachev (2:5030/529.56)
|
||||
*** To : Andrey Roska
|
||||
*** Subj: ‘¯à¨â¥à ¨ â.¯.
|
||||
|
||||
�ਢ¥âáâ¢ãî, Andrey!
|
||||
|
||||
‚® ¢â®à¨ª 17 ¯à¥«ï 2001£., ¢ 23:31, Andrey Roska ¯¨á « ª Ivan Mak:
|
||||
|
||||
>�ã«¥§§§ !!! € ᪮ª ‘¯à¨â¥à áç á á⮨â, â® ¬¥ ¦ § å®â¥«®áì!!!
|
||||
|
||||
Mainboard Sp2000
|
||||
(RAM 4Mb, videoRAM 256Kb) = 95$
|
||||
|
||||
Mainboard Sp2000-Light
|
||||
(RAM 4Mb, videoRAM 256Kb (p áè¨p¥¨ï ¤® 512Kb ¥â), ¡¥§ ISA ᫮⮢)
|
||||
= 85$
|
||||
|
||||
Š®¬¯ìîâ¥p Sprinter ¢ áâ ¤ p⮩ ª®ä¨£ãp 樨:
|
||||
|
||||
1. Š®à¯ãá AT Mini-Tower c ¡«®ª®¬ ¯¨â ¨ï.
|
||||
2. �« â Sp2000 ¨«¨ Sp2000-Light.
|
||||
3. „¨áª®¢®¤ £¨¡ª¨å ¤¨áª®¢ 3.5".
|
||||
4. Š« ¢¨ âãà AT.
|
||||
5. Œëèì MS-Mouse.
|
||||
= 135$-125$
|
||||
|
||||
�« â Sp2000 ¡ã¤¥â ¢ë¯ã᪠âìáï á¥p¨©® á ¨îï í⮣® £®¤ .
|
||||
�« â Sp2000-Light ¨§£®â ¢«¨¢ ¥âáï ⮫쪮 ¯® ¯p¥¤¢ p¨â¥«ì®¬ã § ª §ã.
|
||||
|
||||
‚ᥠ¢®¯p®áë ® ¯®ªã¯ª¥, ¯®¦ «ã©áâ , ¬ë«®¬.
|
||||
|
||||
“¤ ç¨!
|
||||
|
||||
Alex Goryachev.
|
||||
|
||||
[ZX]...[Sprinter]...
|
||||
|
||||
---
|
||||
* Origin: PETERS PLUS LTD www.petersplus.da.ru (2:5030/529.56)
|
||||
@@ -0,0 +1,28 @@
|
||||
*** Area: ZX.SPECTRUM Date: 23 Apr 01 15:10:53
|
||||
*** From: Ivan Mak (2:5030/529.24)
|
||||
*** To : Alex Shevchuk
|
||||
*** Subj: Sprinter News
|
||||
|
||||
|
||||
�ਢ¥âáâ¢ãî ‚ á, Alex!
|
||||
|
||||
<Tuesday April 17 2001> <12:56> Alex Shevchuk wr®te to Ivan Mak:
|
||||
|
||||
AS> ¡¥á¯®ª®¨â, íâ® ¬®¨â®à. Š â¥«¥ªã ¯®¤ª«îç¨âì ¢®§¬®¦®á⨠¥â, CGA
|
||||
AS> ¨áª âì - § ¯ àîáì. �¥ «ì® «¨ ¥£® ¯à¨á®¡ ç¨âì ª ¬®¥¬ã "¯¨á¢®¬ã"
|
||||
AS> 14" ¬®¨â®àã?
|
||||
|
||||
Š VGA ¥ ¯®¤ª«îç ¥âáï.
|
||||
|
||||
AS> Šáâ â¨, çâ® â ¬ ¨§ á¥¡ï ¯à¥¤áâ ¢«ï¥â §¢ãª®¢®© ¢ë室?
|
||||
|
||||
H Sp2000 - 16-bit áâ¥p¥®-¢ë室. Š ª ¥£® §¢ãª ¯®¤ ¥âáï, § ¢¨á¨â ®â �‹Œ.
|
||||
�㤥⠨ DMA, ¨ Sound-Card. € ᥩç á ¥áâì COVOX-Blaster ¨ AY.
|
||||
|
||||
�à®â®áë á¡¥¦ «¨. ‡¥à£¨ § ª®¯ «¨áì. �®à ¨ ¬¥ § ªà㣫ïâìáï. Ivan.
|
||||
|
||||
- � §¢®¤¨áì á奬ª , ¡®«ìè ¨ ¬ «¥ìª ... [ Sprinter-II ] [Forth-CPU] [ZX]
|
||||
|
||||
... ivan_mak@mail.ru * http://st-rektal.chat.ru * http://www.atlant.ru/peters
|
||||
--- GoldED+/386 1.0.0
|
||||
* Origin: The Sprinter has You! (2:5030/529.24)
|
||||
@@ -0,0 +1,38 @@
|
||||
*** Area: ZX.SPECTRUM Date: 23 Apr 01 14:53:09
|
||||
*** From: Ivan Mak (2:5030/529.24)
|
||||
*** To : Sergey Krinitsin
|
||||
*** Subj: Sprinter News
|
||||
|
||||
|
||||
�ਢ¥âáâ¢ãî ‚ á, Sergey!
|
||||
|
||||
<Saturday April 21 2001> <20:08> Sergey Krinitsin wr®te to Ivan Mak:
|
||||
|
||||
SK> �â® ¥á¥à쥧®. ˆ§ íâ¨å ¤ ëå ï ¯®«ã稫 ¯à¥¤áâ ¢«¥¨¥ ⮫쪮
|
||||
SK> ® ¬ ªá¨¬ «ì®© ç áâ®â¥ ¨ á⥯¥¨ ¨â¥£à 樨. „«ï ®æ¥ª¨
|
||||
SK> ¢ëç¨á«¨â¥«ì®© ¬®é®á⨠¥®¡å®¤¨¬® § âì ॠ«ìãî ⠪⮢ãî ç áâ®âã ¨
|
||||
SK> ª®«¨ç¥á⢮ ⠪⮢ § âà 稢 ¥¬ëå ¢ë¯®«¥¨¥ ®¯¥à 権 á«®¦¥¨ï.
|
||||
|
||||
‚ ¤ ë© ¬®¬¥â, ¨á¯®«ì§ã¥âáï ªá¥«¥p â®p, ª®â®pë© ¢ë¯®«ï¥â 7 ¬«.
|
||||
¢ë¡®p®ª ¨§ އ“ ¢ ᥪã¤ã (íâ® ¯p¥¤¥« އ“). ޤ®¢p¥¬¥® á ¢ë¡®pª®© ¬®¦¥â
|
||||
¯p®¨§¢®¤¨âìáï ¥ª ï ®¯¥p æ¨ï á § ¯®¬¥ë¬¨ ¢ �‹Œ ¡ ©â ¬¨. AND, OX, XOR, ADD,
|
||||
SUB. ‘®åp ¥¨¥ á ⮩ ¦¥ ᪮p®áâìî. �«îá ª í⮬㠪ᥫ¥p â®p ¢ë¯®«ï¥â
|
||||
¤®¯®«¨â¥«ìë¥ äãªæ¨¨ ¯® ¢ë¢®¤ã íªp «¨¨©, â.¥. ¢ë¢®¤¨âáï «¨¨¨ á®
|
||||
᪮p®áâìî 7¬«.â®ç¥ª ¢ ᥪã¤ã. ޤ®¢p¥¬¥® ¢®§¬®¦® p áâ殮¨¥ íâ¨å «¨¨©.
|
||||
‚믮«¥¨¥ p áâ殮¨ï ¯p®¨á室¨â ¯p®§p ç®.â.¥. p áâïãâ ï «¨¨ï ¢ëª« ¤ë¢ ¥âáï
|
||||
á ⮩ ¦¥ ᪮p®áâìî 7¬«.â®ç¥ª ¢ ᥪã¤ã. …áâì p¥¦¨¬ ¯p®§p 箣® 梥â ...
|
||||
|
||||
�p®æ¥áá®p Z80 ⮫쪮 «¨èì ã¯p ¢«ï¥â í⨬ ¯p®æ¥áᮬ, ¨ ®á®¢¥ í⮣®
|
||||
ªá¥«¥p â®p 㦥 ¥áâì 3d-室¨«ª /áâp¥«ï«ª , ¢ ª®â®p®© 320x256 â®ç¥ª íªp ¥,
|
||||
256 梥⮢, 17-25 ª ¤p®¢ ¢ ᥪã¤ã ¨ ¢ ᮯp®¢®¦¤¥¨¨ ¬ã§ëª¨ ¨ è㬠áâp¥«ì¡ë...
|
||||
|
||||
Œ ªá.᪮p®áâì ªá¥«¥p â®p ¤®á⨣ ¥âáï ª®£¤ ¯p®¨§¢®¤ïâáï ¬ áá®¢ë¥ ®¯¥p 樨 á
|
||||
¬ âp¨æ ¬¨ («¨¨ï¬¨)...
|
||||
|
||||
�à®â®áë á¡¥¦ «¨. ‡¥à£¨ § ª®¯ «¨áì. �®à ¨ ¬¥ § ªà㣫ïâìáï. Ivan.
|
||||
|
||||
- � §¢®¤¨áì á奬ª , ¡®«ìè ¨ ¬ «¥ìª ... [ Sprinter-II ] [Forth-CPU] [ZX]
|
||||
|
||||
... ivan_mak@mail.ru * http://st-rektal.chat.ru * http://www.atlant.ru/peters
|
||||
--- GoldED+/386 1.0.0
|
||||
* Origin: The Sprinter has You! (2:5030/529.24)
|
||||
@@ -0,0 +1,29 @@
|
||||
*** Area: ZX.SPECTRUM Date: 23 Apr 01 15:04:52
|
||||
*** From: Ivan Mak (2:5030/529.24)
|
||||
*** To : Sergey Krinitsin
|
||||
*** Subj: ‘¯à¨â¥à ¨ â.¯.
|
||||
|
||||
|
||||
�ਢ¥âáâ¢ãî ‚ á, Sergey!
|
||||
|
||||
<Saturday April 21 2001> <20:41> Sergey Krinitsin wr®te to Alex Goryachev:
|
||||
|
||||
AG>> ‚ ¬¥áâ¥ á ¯p®æ¥áá®p®¬ Z84C15, ï¤p® Sprinter- á®áâ ¢«ïîâ
|
||||
AG>> ��‹Œ ALTERA - EP1K30QC208-3 ¨ EPM7064STC100-10
|
||||
AG>> “áâ®p¥¢è¨¬ ¬®¦® §¢ âì ¨ Pentium ˜, ¢®â ⮫쪮 p¥çì ¤®
|
||||
AG>> ¢¥á⨠¢ p ¬ª å 8 ¡¨âëå ª®¬¯ìîâ¥p®¢, ¥ â ª «¨?
|
||||
SK> € § 祬 ¢ë ⮣¤ £®¢®à¨â¥ ® 32¡¨â®© ®à£ ¨§ 樨 «ìâ¥à®¢?
|
||||
|
||||
�¥çì ® ‘¯p¨â¥p¥, ¢ ª®â®p®¬...
|
||||
“ €«ìâ¥pë ®p£ ¨§ æ¨ï ¯ p ««¥«ì ï - 1700 ¡¨â :-) íâ® †…‹…‡Ž.
|
||||
32 ¡¨â , íâ® ®p£ ¨§ æ¨ï ¢¨¤¥®-އ“.
|
||||
16 ¡¨â - ®p£ ¨§ æ¨ï ®á®¢®£® އ“.
|
||||
8 ¡¨â ®p£ ¨§ æ¨ï ¯p®æ¥áá®p Z80.
|
||||
|
||||
�à®â®áë á¡¥¦ «¨. ‡¥à£¨ § ª®¯ «¨áì. �®à ¨ ¬¥ § ªà㣫ïâìáï. Ivan.
|
||||
|
||||
- � §¢®¤¨áì á奬ª , ¡®«ìè ¨ ¬ «¥ìª ... [ Sprinter-II ] [Forth-CPU] [ZX]
|
||||
|
||||
... ivan_mak@mail.ru * http://st-rektal.chat.ru * http://www.atlant.ru/peters
|
||||
--- GoldED+/386 1.0.0
|
||||
* Origin: The Sprinter has You! (2:5030/529.24)
|
||||
@@ -0,0 +1,23 @@
|
||||
*** Area: ZX.SPECTRUM Date: 23 Apr 01 15:08:05
|
||||
*** From: Ivan Mak (2:5030/529.24)
|
||||
*** To : Oleg Melinuk
|
||||
*** Subj: —¥¬ ᥩç á ¬®¦® ¯p¨¢«¥çì ¬®«®¤¥¦ì ᯥªâpy¬ ?
|
||||
|
||||
|
||||
�ਢ¥âáâ¢ãî ‚ á, Oleg!
|
||||
|
||||
<Sunday April 22 2001> <01:17> Oleg Melinuk wr®te to Doba Nova:
|
||||
|
||||
DN>> �‹Œ - ç¨â âì ¢¨¬ â¥«ì® ã¦®.
|
||||
OM> „ í⨠�‹Œë 㦥 10 «¥â ª ª ¥áâì.
|
||||
|
||||
™ á! �‹Œ ¢ ¯« ⥠Sp2000 ¡ë« p §p ¡®â ¢ 1999-¬ £®¤ã,
|
||||
¢ëè« ¢ ¯p®¤ ¦ã ¢ ª®æ¥ 2000-£® £®¤ ...
|
||||
|
||||
�à®â®áë á¡¥¦ «¨. ‡¥à£¨ § ª®¯ «¨áì. �®à ¨ ¬¥ § ªà㣫ïâìáï. Ivan.
|
||||
|
||||
- � §¢®¤¨áì á奬ª , ¡®«ìè ¨ ¬ «¥ìª ... [ Sprinter-II ] [Forth-CPU] [ZX]
|
||||
|
||||
... ivan_mak@mail.ru * http://st-rektal.chat.ru * http://www.atlant.ru/peters
|
||||
--- GoldED+/386 1.0.0
|
||||
* Origin: The Sprinter has You! (2:5030/529.24)
|
||||
@@ -0,0 +1,44 @@
|
||||
*** Area: ZX.SPECTRUM Date: 23 Apr 01 23:03:00
|
||||
*** From: Alex Goryachev (2:5030/529.56)
|
||||
*** To : Slavka Kalinin
|
||||
*** Subj: ‘¯à¨â¥à ¨ â.¯.
|
||||
|
||||
�ਢ¥âáâ¢ãî, Slavka!
|
||||
|
||||
Friday April 20 2001 Slavka Kalinin -> Alex Goryachev.
|
||||
|
||||
AG>> �« â Sp2000 ¡ã¤¥â ¢ë¯ã᪠âìáï
|
||||
AG>> á¥p¨©® á ¨îï í⮣® £®¤ . �« â Sp2000-Light ¨§£®â ¢«¨¢ ¥âáï
|
||||
AG>> ⮫쪮 ¯® ¯p¥¤¢ p¨â¥«ì®¬ã § ª §ã. ‚ᥠ¢®¯p®áë ® ¯®ªã¯ª¥,
|
||||
AG>> ¯®¦ «ã©áâ , ¬ë«®¬.
|
||||
|
||||
SK> ‘«ãè ©, 祣® ®¢®£® ¡ã¤¥â ¢ Sp2000? € â® ï ç¥-⮠㦥 § ¡ë«
|
||||
SK> ¬¥ ƒ ¢à¨«¥ª® ‹¥å £®¢®à¨«, çâ® â ¬ ¢à®¤¥ §¢ãª 16 ¡¨âë©
|
||||
SK> ¡ã¤¥â, ‚ƒ ¡ã¤¥â ¢ €«ìâ¥à¥.
|
||||
|
||||
‚ Sp2000 ãáâ ®¢«¥ ®¢ ï �‹Œ (¯p¨¬¥p® ¢ âp¨ p § ¡®«ì襣® ®¡ê¥¬ ), çâ®
|
||||
¯®§¢®«ï¥â ¬®¤¥p¨§¨p®¢ âì 㦥 ¨¬¥î騥áï ª®ä¨£ãp 樨, ¥ £®p®¤¨âì ¬ ááã
|
||||
®¢ëå ¤«ï ª ¦¤®£® ¢®p®â .
|
||||
H®¢ ï ¯« â ¯®§¢®«ï¥â ¯p®è¨¢ âì ä«íè-�‡“ ¯p®£p ¬¬® ª®¬¯ìîâ¥p¥ ª®¥ç®£®
|
||||
¯®«ì§®¢ ⥫ï. „p㣨¬¨ á«®¢ ¬¨ ¬®¦® ¯£p¥©¤¨âì ª®¬¯ìîâ¥p ¢áâ ¢¨¢ ¤¨áª¥âã ¨
|
||||
§ ¯ãá⨢ exe-訪. �p¨ í⮬ ¢® ä«íè-�‡“ ®¡®¢«ï¥âáï ª ª BIOS â ª ¨
|
||||
§ ¯ ª®¢ ®¥ ᮤ¥p¦¨¬®¥ ¡®«ì让 €«ìâ¥pë, çâ® ¨ ï¥âáï ᮡá⢥® ¬®¤¥«ìî
|
||||
ª®¬ì¯ìîâ¥p .
|
||||
�« â Sp97 ¥ ¬®£« § ¯¨áë¢ âì ¢ �‡“, ¯®í⮬㠣p㧨« ®¢ãî ª®ä¨£ãp æ¨î
|
||||
⮫쪮 ¢ €«ìâ¥pã ¨ â¥pï« íâã ¨ä®p¬ æ¨î ¯p¨ ¢ëª«î票¨ ¯¨â ¨ï.
|
||||
Ž¡ê¥¬ �‡“ 㢥«¨ç¥ ¤® 256Šb ¨ ⥯¥pì ¨á¯®«ì§ã¥âáï ä«íè ¯ ¬ïâì.
|
||||
16 ¡¨âë© –€� ¤«ï 2 ª «®¢ áâ¥p¥® §¢ãª .
|
||||
2 p §ê¥¬ IDE ¨â¥p䥩á . Š ª ¦¤®¬ã ¬®¦® ¯p¨æ¥¯¨âì ¯® ¤¢ IDE ãáâp®©á⢠,
|
||||
¢¨ç¥áâ¥p ¨«¨ CD-ROM .
|
||||
‘ ¬ ¯« ⠢믮«¥ ¡®«¥¥ ¢ë᮪®¬ â¥å®«®£¨ç¥áª®¬ ãp®¢¥ á íªp ¨pãî饩
|
||||
á¥âª®© ¨ § é¨âë¬ ¯®ªpë⨥¬.
|
||||
|
||||
|
||||
“¤ ç¨!
|
||||
|
||||
Alex Goryachev.
|
||||
|
||||
[ZX]...[Sprinter]... Force in flex cource!
|
||||
|
||||
---
|
||||
* Origin: PETERS PLUS LTD (2:5030/529.56)
|
||||
@@ -0,0 +1,28 @@
|
||||
*** Area: ZX.SPECTRUM Date: 23 Apr 01 14:25:51
|
||||
*** From: Andrey Roska (2:4616/21.0)
|
||||
*** To : Sergey Krinitsin
|
||||
*** Subj: ‘¯à¨â¥à ¨ â.¯.
|
||||
|
||||
|
||||
-+# Hi, Sergey Krinitsin ! #+-
|
||||
|
||||
‚ áã¡¡®âã 21 ¯à¥«ï 2001£., ¢ 18:54, Sergey Krinitsin ¯¨á «( ) ª Denis
|
||||
Parinov:
|
||||
|
||||
DP>> på¨â¥ªâãp .
|
||||
SV>>> Ž â®¦¥ ᮢ६¥ ï?
|
||||
DP>> Hã ¨ ª ª? ᮢp¥¬¥ ¨«¨ ¥â? ’ ª®£® ᮢp¥¬¥ë¥ ª®¬¯ìîâ¥pë
|
||||
DP>> ¥ã¬¥îâ.
|
||||
|
||||
SK> € âë ¨ª®£¤ ¥ § ¤ã¬ë¢ «áï �Ž—…Œ“ ®¨ íâ® ¥ 㬥îâ? �®ç¥¬ã
|
||||
SK> ¯¥ì4 ¥ «ìâ¥à¥ á«ï¯ «¨?
|
||||
|
||||
€ ï áç¨â î, çâ® «ìâ¥à - íâ® ªàãâ®. € ¯¥ì4 ¥ «ìâ¥à¥, ¯®â®¬ã çâ® ˆâ¥«î
|
||||
¯à¨è«®áì ¡ë ®âç¨á«ïâì å®à®è¨¥ ¯à®æ¥âë €«ìâ¥à¥, ¨ «ìâ¥àë à ¡®â îâ á ç áâ®â®©
|
||||
¤® 500 Œ£æ, ç⮠⮦¥ ¥ ¯à¨¥¬«¥¬®. € ¢ ®¡é¥¬, ¢ ਫ⠩¬¥ ¨§¬¥ïâì àå¨â¥ªâãàã
|
||||
ª®¬¯ - íâ® å®à®è®. H ¢¥à®¥, ¢ í⮬ ¨å ¡ã¤ã饥 (¢ ¡«¨¦ ©è¥¥ ¢à¥¬ï).
|
||||
|
||||
‘ ¨«ãç訬¨ ¯®¦¥« ¨ï¬¨, D.J.Dron !
|
||||
|
||||
--- GoldED/W32 3.0.1
|
||||
* Origin: BridgeStation (23:00 - 01:00) (2:4616/21)
|
||||
@@ -0,0 +1,21 @@
|
||||
*** Area: ZX.SPECTRUM Date: 24 Apr 01 10:10:12
|
||||
*** From: Ivan Mak (2:5030/529.24)
|
||||
*** To : Sergey Krinitsin
|
||||
*** Subj: Sprinter
|
||||
|
||||
|
||||
�ਢ¥âáâ¢ãî ‚ á, Sergey!
|
||||
|
||||
<Monday April 23 2001> <23:32> Yuri Potapov wr®te to Sergey Krinitsin:
|
||||
|
||||
YP> ¯«îá ”ˆ„Ž, ¯«îá ¯à¨â¥à... ¯®ª ¦¨ ¬¥ ¤¥¤¨ á ¯à¨â¥à®¬ :)
|
||||
|
||||
’ ª, ¤«ï p ¦ã ¤®¡ ¢«î, çâ® ª ¬®¥¬ã Sprinter-ã ¯®¤ª«îç¥ áâp㩨ª HP DJ-600...
|
||||
|
||||
�à®â®áë á¡¥¦ «¨. ‡¥à£¨ § ª®¯ «¨áì. �®à ¨ ¬¥ § ªà㣫ïâìáï. Ivan.
|
||||
|
||||
- � §¢®¤¨áì á奬ª , ¡®«ìè ¨ ¬ «¥ìª ... [ Sprinter-II ] [Forth-CPU] [ZX]
|
||||
|
||||
... ivan_mak@mail.ru * http://st-rektal.chat.ru * http://www.atlant.ru/peters
|
||||
--- GoldED+/386 1.0.0
|
||||
* Origin: The Sprinter has You! (2:5030/529.24)
|
||||
@@ -0,0 +1,115 @@
|
||||
*** Area: ZX.SPECTRUM Date: 25 Apr 01 20:34:38
|
||||
*** From: Stas Vlasov (2:5080/172.0)
|
||||
*** To : All
|
||||
*** Subj: H®¢ ï Ž‘ Sprinter
|
||||
|
||||
Hello All!
|
||||
|
||||
Ÿ âãâ ¥¬®£® ¯®¤ã¬ « ¨ ¯®áâ à «áï ¢ëà §¨âì ᢮¨ ¬ë᫨ ¯® ¯®¢®¤ã á ¡¦ ,
|
||||
ª®â®àë© ¬¥ ¡ë å®â¥«®áì ª®£¤ -¨¡ã¤ì 㢨¤¥âì.
|
||||
|
||||
|
||||
=== Cut ===
|
||||
’à¥¡ã¥¬ë¥ ¯¯ à âë¥ ¢®§¬®¦®áâ¨:
|
||||
|
||||
�® RSTn - ¢ë§®¢ ᮮ⢥âáâ¢ãî饣® ®¡à ¡®â稪 á ¤à㣮© áâà ¨æë ¯ ¬ïâ¨.
|
||||
†¥« ⥫ì®, çâ®¡ë ®¡à ¡®â稪¨ 室¨«¨áì à §ëå áâà ¨æ å. �ਠí⮬
|
||||
âॡã¥âáï á®åà ¥¨¥ ¨ä®à¬ 樨 ® ¯à®æ¥áá¥, ¢ë§¢ ¢è¥¬ ®¡à ¡®â稪. ‚®§¢à â
|
||||
¨§ ®¡à ¡®â稪 - OUT + RET.
|
||||
Ž¡à ¡®âª ¯¯ à âëå ¯à¥àë¢ ¨© - «®£¨ç®.
|
||||
NMI - ®á®¢ à ¡®âë Ž‘, ¯®â®¬ã ¢® ¢à¥¬ï ¨¨æ¨ «¨§ 樨 ï¤à ¤®«¦® ¡ëâì
|
||||
¯®¤ª«î祮 ª â ©¬¥àã («¨¡® ª CMOS, «¨¡® ª ¯à¥àë¢ ¨ï¬ ®â ª ¤à®¢®©
|
||||
á¨åந§ 樨).
|
||||
|
||||
|
||||
ޝ¥à 樮 ï á¨á⥬ :
|
||||
|
||||
Ÿ¤à®.
|
||||
|
||||
‚®§¬®¦ë¥ âॡ®¢ ¨ï: ¤® 64ª ¥¤¨®à §®¢®, ¢ë§®¢ äãªæ¨© ¨ ®¡à 饨¥ ª
|
||||
¬®¤ã«ï¬ ¯® ®¤®¬ã RSTn, ¢®§¬®¦® (¤ ¦¥ 㦮) ¢ë¤¥«¥¨¥ ¥é¥ ¯ ¬ï⨠¯à¨
|
||||
¨¨æ¨ «¨§ 樨.
|
||||
”ãªæ¨¨: à ¡®â á ¦¥«¥§®¬, ¡¨®á ¨§ª®¬ ã஢¥, à ¡®â á ä ©«®¢ë¬¨
|
||||
á¨á⥬ ¬¨, à ¡®â á ¯à®æ¥áá ¬¨ ¨ ¬®£®§ ¤ ç®áâì, à ¡®â á ¯ ¬ïâìî/᢮¯®¬,
|
||||
§ ¯ã᪠¯à®æ¥áá ¨¨æ¨ «¨§ 樨, etc
|
||||
|
||||
Œ®¤ã«¨ ï¤à .
|
||||
|
||||
‚®§¬®¦ë¥ âॡ®¢ ¨ï: 3-ï áâà ¨æ ¯ ¬ïâ¨, 16ª ¯®¤ ¬®¤ã«ì ¯à¨
|
||||
§ £à㧪¥, á⥪ ¢¥ ¬®¤ã«ï, ¢®§¬®¦® ¢ë¤¥«¥¨¥ ¥é¥ ¯ ¬ï⨠¯à¨ ¨¨æ¨ «¨§ 樨.
|
||||
�®¤£à㦠îâáï ¯à¨ ¥®¡å®¤¨¬®áâ¨.
|
||||
”ãªæ¨¨: � áè¨à¥¨¥ äãªæ¨© ï¤à . � ¡®â á ¦¥«¥§®¬, ®¢ë¥ ä ©«®¢ë¥
|
||||
á¨á⥬ë, etc
|
||||
|
||||
‘¨áâ¥¬ë¥ ¡¨¡«¨®â¥ª¨.
|
||||
|
||||
‚®§¬®¦ë¥ âॡ®¢ ¨ï: ˆ§ ¯ ¬ï⨠¥ ¢ë£à㦠îâáï, ®¡à 饨¥ ¯®
|
||||
®â¤¥«ì®¬ã RSTn ¢á¥å, ¢ ¯ à ¬¥âà å - ID ¡¨¡«¨®â¥ª¨ ¨ ID äãªæ¨¨ +
|
||||
¯ à ¬¥âàë á ¬®© äãªæ¨¨.
|
||||
”ãªæ¨¨: � áè¨à¥¨¥ äãªæ¨© ï¤à ¢ áâ®à®ã ¯à®£à ¬¬®£® ¨â¥à䥩á ,
|
||||
¥ ¦¥«¥§ . ’.¥. í¬ã«ïæ¨ï â¥à¬¨ « , ª®¬¬ã¨ª æ¨®ë¥ ¯à®â®ª®«ë ¨§ª®£®
|
||||
ã஢ï, etc
|
||||
|
||||
�ਪ« ¤ë¥ ¡¨¡«¨®â¥ª¨.
|
||||
|
||||
”ãªæ¨¨: �¨¡«¨®â¥ª¨, á«ã¦ 騥 ¤«ï ¨á¯®«ì§®¢ ¨ï ®¤®£® ª®¤ ¢
|
||||
¥áª®«ìª¨å ¯à¨«®¦¥¨ïå ®¤®¢à¥¬¥®, «¨¡® ª ª á।á⢮ ¯à¥®¤®«¥¨ï ¡ àì¥à
|
||||
64ª. �ਠ¥¨á¯®«ì§®¢ ¨¨ ¢ë£à㦠îâáï ¨§ ¯ ¬ïâ¨.
|
||||
�ਬ¥ç ¨¥: ‚ë§®¢, ¤ã¬ î, ¡ã¤¥â «®£¨ç¥ á¨á⥬ë¬.
|
||||
|
||||
�ਫ®¦¥¨ï, ª ª á¨á⥬ë¥, â ª ¨ ¯®«ì§®¢ ⥫ì᪨¥.
|
||||
|
||||
‚®§¬®¦ë¥ âॡ®¢ ¨ï: ¯à¨ § £à㧪¥ ¯à¨«®¦¥¨ï - § £à㦠¥¬ë© ª®¤ ¢
|
||||
¯à¥¤¥« å «¨¥©®© ¤à¥á 樨.
|
||||
”ãªæ¨¨: ¯®ïâë ¡¥§ ®¯¨á ¨ï.
|
||||
�ਬ¥ç ¨¥: ‚¥à®ïâ® ¯®¢â®à®¥ ¨á¯®«ì§®¢ ¨¥ ª®¤ ¤«ï ¥áª®«ìª¨å ª®¯¨©
|
||||
¯à¨«®¦¥¨ï, ¥á«¨ ¯®«ãç¨âáï...
|
||||
|
||||
Ž¡é¥á¨áâ¥¬ë¥ ¯à¨¬¥ç ¨ï:
|
||||
|
||||
„®áâ㯠ª á¨áâ¥¬ë¬ ¯®àâ ¬ ¢¢®¤ -¢ë¢®¤ ¤®«¦ë ¨¬¥âì ⮫쪮 ï¤à® ¨ ¥£®
|
||||
¬®¤ã«¨ (⨯ ¯à®æ¥áá - 00).
|
||||
„®áâ㯠ª ¥á¨áâ¥¬ë¬ ¯®àâ ¬ - ¯à¥¤®áâ ¢«ï¥âáï ¯®á«¥ § ¯à®á
|
||||
(¯à®¨§¢®¤¨âáï ¯à¨ ¨¨æ¨ «¨§ 樨 ¯à®æ¥áá ) ¢ ᮮ⢥âá⢨¨ á ¯à ¢ ¬¨
|
||||
¯à¨«®¦¥¨ï/¯®«ì§®¢ ⥫ï. �« ¨àã¥âáï ¤ «ì¥©è¥¥ à §£à ¨ç¥¨¥ ¤®áâ㯠.
|
||||
|
||||
|
||||
|
||||
‚¥à®ïâë¥ áâàãªâãàë ¤ ëå:
|
||||
|
||||
ˆä®à¬ æ¨ï ® áâà ¨æ¥ ¯ ¬ïâ¨:
|
||||
|
||||
ID áâà ¨æë - 16 ¡¨â
|
||||
ID ¯à®æ¥áá -¢« ¤¥«ìæ - 16 ¡¨â
|
||||
’¨¯ à §¬¥é¥¨ï áâà ¨æë - 1 ¡¨â (0 - RAM, 1 - Swap)
|
||||
Œ¥áâ®à ᯮ«®¦¥¨¥ áâà ¨æë - 16 ¡¨â («¨¡® 䨧¨ç¥áª¨© ®¬¥à áâà ¨æë RAM,
|
||||
«¨¡® ᬥ饨¥ ¢ ᢮¯-ä ©«¥ ¢ áâà ¨æ å)
|
||||
‚à¥¬ï ¯®á«¥¤¥£®
|
||||
¢ª«î票ï áâà ¨æë - 32 ¡¨â (¡ã¤¥â ¨á¯®«ì§®¢ âìáï ¤«ï ®¯à¥¤¥«¥¨ï
|
||||
⮣®, ª ªãî áâà ¨æã á⮨⠢ë£à㧨âì)
|
||||
|
||||
|
||||
ˆä®à¬ æ¨ï ® ¯à®æ¥áá¥:
|
||||
|
||||
ID ¯à®æ¥áá - 16 ¡¨â
|
||||
’¨¯ ¯à®æ¥áá - 2 ¡¨â (00 - Ÿ¤à®,
|
||||
01 - á¨áâ¥¬ë¥ ¡¨¡«¨®â¥ª¨,
|
||||
10 - ¯à¨ª« ¤ë¥ ¡¨¡«¨®â¥ª¨,
|
||||
11 - ¯à¨«®¦¥¨ï.
|
||||
¢®§¬®¦® ᮢ¬¥é¥¨¥ á ¤à㣨¬¨ ä« £ ¬¨)
|
||||
�ਮà¨â¥â - <8 ¡¨â (0 - ¬ ªá¨¬ «ìë©)
|
||||
‘®áâ®ï¨¥ ¯à®æ¥áá - <8 ¡¨â (¢ë¯®«ï¥âáï, ®¦¨¤ ¥â, ®áâ ®¢«¥, ¨ â.¯.)
|
||||
ID áâà ¨æë ᮠᬥ饨ï 0000h |
|
||||
ID áâà ¨æë ᮠᬥ饨ï 4000h | \ �® 16 ¡¨â ¢ ᮮ⢥âá⢨¨ á® áâàãªâãன
|
||||
ID áâà ¨æë ᮠᬥ饨ï 8000h | / ¨ä®à¬ 樨 ® áâà ¨æ¥ ¯ ¬ïâ¨.
|
||||
ID áâà ¨æë ᮠᬥ饨ï C000h |
|
||||
|
||||
|
||||
=== Cut ===
|
||||
|
||||
|
||||
Good luck.
|
||||
Stas
|
||||
|
||||
--- …é¥ ®¤® "§®«®â®" 3.0.1
|
||||
* Origin: gui is good, but console better (2:5080/172)
|
||||
@@ -0,0 +1,37 @@
|
||||
*** Area: ZX.SPECTRUM Date: 26 Apr 01 7:53:07
|
||||
*** From: Ivan Mak (2:5030/529.24)
|
||||
*** To : Alexey Volyk
|
||||
*** Subj: Altera Sprinter
|
||||
|
||||
|
||||
�ਢ¥âáâ¢ãî ‚ á, Alexey!
|
||||
|
||||
<Wednesday April 25 2001> <23:26> Alexey Volyk wr®te to All:
|
||||
|
||||
AV> �à® ‘¯à¨â¥à ¯¨èãâ (IM), çâ® "«¥âã" ¬®¦® «ìâ¥àã ¯¥à¥è¨¢ âì.
|
||||
AV> € ᪮«ìª® 横«®¢ ¯¥à¥§ ¯¨á¨ ¬ ªá¨¬ «ì® ¢®§¬®¦®?
|
||||
|
||||
“ ACEX- - ¡¥áª®¥ç®¥ ç¨á«®, â ª ª ª ã ¥£® ¯ ¬ïâì ª®ä¨£ãp 権
|
||||
áâ â¨ç¥áª®¬ އ“. �® í⮩ ¦¥ ¯p¨ç¨¥ ¥¥ ¤® è¨âì ª ¦¤ë© p § ¯®á«¥
|
||||
¢ª«î票ï, çâ® ¢ Sprinter-¥ ¨ ¤¥« ¥âáï. ‚p¥¬ï ¯¥p¥è¨¢ª¨ 0.5 ᥪ.
|
||||
|
||||
AV> € â® ï ¬®¦¥â ¤¥áïâì à § ¤î ¯¥à¥ª®ä¨£ãà¨àãî ¥£®, ® ç¥à¥§
|
||||
AV> ¯®«£®¤ -£®¤ ªà®¥âáï ®¤¨¬ ¯à¥¤¬¥â®¬ ¨§ âà¥å ¡ãª¢.
|
||||
|
||||
�‹Œ ¥ ªp®¥âáï...
|
||||
|
||||
AV> ’® ¦¥ á ¬®¥ ®â®á¨âáï ¨ ª ä«ã訥 - ¯® á¯à ¢®ç¨ª ¬ ¢ á।¥¬ 1000
|
||||
AV> 横«®¢ ¯¥à¥§ ¯¨á¨.
|
||||
|
||||
€ �‡“ ç áâ® ¯¥p¥è¨¢ âì ¥ á⮨â. � § ¢ ¯®«£®¤ , ¬®¦¥â ¡ëâì :)
|
||||
‚¯p®ç¥¬, ã ¬¥ï íªá¯¥p¨¬¥â «ì®¬ ®¡p §æ¢¥ ä«¥è¨ ¯¥p¥è¨¢ « áì
|
||||
㦥 ¡®£ § ¥â ᪮«ìª® p §. 1000 ¢¥pïª ¡p «®áì...
|
||||
€ ¯® ¯ ᯮpâã ã ¥¥ 100000 ¯¥p¥è¨¢®ª...
|
||||
|
||||
�à®â®áë á¡¥¦ «¨. ‡¥à£¨ § ª®¯ «¨áì. �®à ¨ ¬¥ § ªà㣫ïâìáï. Ivan.
|
||||
|
||||
- � §¢®¤¨áì á奬ª , ¡®«ìè ¨ ¬ «¥ìª ... [ Sprinter-II ] [Forth-CPU] [ZX]
|
||||
|
||||
... ivan_mak@mail.ru * http://st-rektal.chat.ru * http://www.atlant.ru/peters
|
||||
--- GoldED+/386 1.0.0
|
||||
* Origin: The Sprinter has You! (2:5030/529.24)
|
||||
@@ -0,0 +1,32 @@
|
||||
*** Area: ZX.SPECTRUM Date: 27 Apr 01 2:51:38
|
||||
*** From: Ivan Mak (2:5030/529.24)
|
||||
*** To : Sergey Krinitsin
|
||||
*** Subj: Sprinter News
|
||||
|
||||
|
||||
�ਢ¥âáâ¢ãî ‚ á, Sergey!
|
||||
|
||||
<Tuesday April 24 2001> <00:33> Sergey Krinitsin wr®te to Ivan Mak:
|
||||
|
||||
IM>> ‚ ¤ ë© ¬®¬¥â, ¨á¯®«ì§ã¥âáï ªá¥«¥p â®p, ª®â®pë©
|
||||
IM>> ¢ë¯®«ï¥â 7 ¬«.
|
||||
IM>> ¢ë¡®p®ª ¨§ އ“ ¢ ᥪã¤ã (íâ® ¯p¥¤¥« އ“).
|
||||
SK> ^^^^^^^^^^^^^^^^^
|
||||
SK> Š ª®¥ އ“ ¢ë ¨á¯®«ì§ã¥â¥? �“'誨 ç⮫¨?
|
||||
|
||||
72-pin SIMM (¯p® EDO/FPM p á᪠§ë¢ âì ¥ ¤®, § î)...
|
||||
|
||||
IM>> �p®æ¥áá®p Z80 ⮫쪮 «¨èì ã¯p ¢«ï¥â í⨬ ¯p®æ¥áᮬ, ¨
|
||||
SK> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
SK> ’ ª CPU ¢á¥¦¥ Z80? H «ìâ¥à¥ ⮫쪮 á®¯à®æ¥áá®à?
|
||||
|
||||
„ . “¦¥ £®¢®p¨«®áì ®¡ í⮬ ¨ ¥ p §...
|
||||
Sprinter ¨¬¥¥â _¯p®æ¥áá®p Z80 + ªá¥«¥p â®p ¢ �‹Œ_
|
||||
|
||||
�à®â®áë á¡¥¦ «¨. ‡¥à£¨ § ª®¯ «¨áì. �®à ¨ ¬¥ § ªà㣫ïâìáï. Ivan.
|
||||
|
||||
- � §¢®¤¨áì á奬ª , ¡®«ìè ¨ ¬ «¥ìª ... [ Sprinter-II ] [Forth-CPU] [ZX]
|
||||
|
||||
... ivan_mak@mail.ru * http://st-rektal.chat.ru * http://www.atlant.ru/peters
|
||||
--- GoldED+/386 1.0.0
|
||||
* Origin: The Sprinter has You! (2:5030/529.24)
|
||||
@@ -0,0 +1,45 @@
|
||||
*** Area: ZX.SPECTRUM Date: 27 Apr 01 2:54:35
|
||||
*** From: Ivan Mak (2:5030/529.24)
|
||||
*** To : Eugene Ostroukhov
|
||||
*** Subj: ˆä
|
||||
|
||||
|
||||
�ਢ¥âáâ¢ãî ‚ á, Eugene!
|
||||
|
||||
<Thursday April 26 2001> <11:24> Eugene Ostroukhov wr®te to Ivan Mak:
|
||||
|
||||
>> EO> WarcraftII/Doom.
|
||||
>> ^^^^^^^^^^^^^^^^^^
|
||||
>> EO> �ਧ ©, çâ® á ¬ë¥ á®¢à¥¬¥ë¥ ¯à®£¨ ‘¯à¨â¥à¥ ¥
|
||||
>> EO> ᬮ£ãâ ®¡¥á¯¥ç¨âì «®£¨çëå ¢®§¬®¦®á⥩... :(
|
||||
>>
|
||||
>> �®¤ç¥pªã⮥ - ¥ ¯p¨§ î. �â® ¢®§¬®¦®, ¨ ¤ ¦¥ ¡®«¥¥...
|
||||
|
||||
EO> 320x200x256 - Doom
|
||||
|
||||
H Sprinter-¥ ¥áâì 3d-demo 320x256x256 25/17 frames/sec, á ¬ã§ëª «ìë¬
|
||||
ᮯp®¢®¦¤¥¨¥¬ COVOX-Blaster-¥ (¨£p ¥â ¬ã§ëªã á HDD), ¨ á è㬮¢ë¬¨
|
||||
íä䥪⠬¨ ¯p¨ ¢ëáâp¥« å ¯® ¬®áâp ¬...
|
||||
|
||||
_�⮠㦥 ¥áâì Sp97_
|
||||
|
||||
EO> 640x480x256 - Warcraft II. ˆ í⮠⮫쪮 £à 䨪 .
|
||||
|
||||
ƒp 䨪 ‘¯p¨â¥p¥ ᥩç á ¢®§¬®¦ ¤® 640x256x16.
|
||||
�㤥⠢ ¡«¨¦ ©è¥¥ ¢p¥¬ï 640x256x256. —¨á«® áâp®ª ®£p ¨ç¨¢ ¥âáï ⥫¥¢¨§®p®¬.
|
||||
€ªá¥«¥p â®p ¯®§¢®«ï¥â ¢ë¢®¤¨â á¯p ©âë ¤®áâ â®ç® ¡ëáâp®, â ª çâ®
|
||||
¥çâ® ¯®¤®¡®¥ WarCraft ¢¯®«¥ ¢®§¬®¦®.
|
||||
’¥¬ ¡®«¥¥ ¤«ï ¥£® ¤ ¦¥ 17/12 FPS ®p¬ «ì®...
|
||||
|
||||
EO> ’®â Doom, çâ® ï ¢¨¬¤¥« ‘¯¥ª¨ (¤¥¬ , ¯®¤ í¬ã«¥¬) ¤ «¥ª ®â
|
||||
EO> �–讣®...
|
||||
|
||||
’®â Doom, çâ® ¤«ï Spectrum- , ®ç¥ì ¤ «¥ª ®â ⮣®, ç⮠㦥 ¥áâì Sprinter-¥.
|
||||
|
||||
�à®â®áë á¡¥¦ «¨. ‡¥à£¨ § ª®¯ «¨áì. �®à ¨ ¬¥ § ªà㣫ïâìáï. Ivan.
|
||||
|
||||
- � §¢®¤¨áì á奬ª , ¡®«ìè ¨ ¬ «¥ìª ... [ Sprinter-II ] [Forth-CPU] [ZX]
|
||||
|
||||
... ivan_mak@mail.ru * http://st-rektal.chat.ru * http://www.atlant.ru/peters
|
||||
--- GoldED+/386 1.0.0
|
||||
* Origin: The Sprinter has You! (2:5030/529.24)
|
||||
@@ -0,0 +1,65 @@
|
||||
*** Area: ZX.SPECTRUM Date: 28 Apr 01 23:00:52
|
||||
*** From: Alexandr Machkasovskij (2:5007/23.0)
|
||||
*** To : Nikolay G Arhipoff
|
||||
*** Subj: Sprinter News
|
||||
|
||||
�ਢ¥â Nikolay !!!
|
||||
|
||||
‘ã¡¡®â €¯à¥«ì 28 2001 15:10, Nikolay G Arhipoff ¯¨á « Yuri Potapov:
|
||||
|
||||
NA> „ ¢® ¢®¯à®á ªàãâ¨âáï, ® ¨ª ª ¨ªâ® ¥ ®â¢¥â¨â ¥£®:
|
||||
NA> - *H ¯¨è¨â¥, ª ª®© á®äâ ¥áâì ¯®¤ ‘¯à¨â¥à? …᫨ ¬®¦®, ⮠ᯨ᮪*
|
||||
|
||||
|
||||
ÄÄÄ ’ãâ ç¨ ¥âáï ä ©« Windows Clipboard ÄÄÄ
|
||||
Q: Š ª®¥ �Ž ¨¬¥¥âáï ¤«ï ‘¯à¨â¥à ¨ ª ª®¢ ¥£® æ¥ ?
|
||||
A: ‚ᥠ�Ž, ¯¨á ®¥ ¤«ï ‘¯p¨â¥p , ¤ ë© ¬®¬¥â, p á¯p®áâp ï¥âáï
|
||||
¡¥á¯« â®. ˆ§ ¯p®£p ¬¬®£® ®¡¥á¯¥ç¥¨ï ¯®¤ ‘¯à¨â¥à áãé¥áâ¢ã¥â á«¥¤ãî饥:
|
||||
|
||||
Flex Navigator. - ƒà ä¨ç¥áª¨© ª®¬ ¤¥à ¯®¤®¡¨¥ Win-Comander- . (€¢â®à: €â®
|
||||
…¨) �®§¢®«ï¥â ¯®¤ª«îç âì ¢¥è¨¥ ¢ìàë/। ªâ®àë. ‚ ⮬ ç¨á«¥ gfxwiew,
|
||||
flicwiew, wavplay ¨ â.¯.
|
||||
DOS Commander. (€¢â®p: „¥¨á � p¨®¢) � ¡®â á MS-DOS ¤¨áª ¬¨ 720/1.44Mb ¨
|
||||
¢¨ç¥áâ¥à®¬,
|
||||
¤®¯¨áë¢ ¥âáï à ¡®â á CD-ROM.
|
||||
’¥p¬¨ «ª ¯®¤ • ¥á. (€¢â®p: €«¥ªá¥© ƒ ¢p¨«¥ª®) ’¥à¬¨ «ª à ¡®â ¥â ¨ ¨¬¥¥â
|
||||
¢®§¬®¦®áâì ¯¥à¥¤ ç¨/¯à¨¥¬ ä ©«®¢ ¯® ¯à®â®ª®« ¬ X-modem, Y-modem, Z-modem
|
||||
¨ ¥ª®â®àëå ¨å à §®¢¨¤®á⥩.
|
||||
‚ ¤ ë© ¬®¬¥â ®á®¢¥ â¥p¬¨ «ª¨ ¯®ç⨠¤®¯¨á FIDO-¬í©«¥p.
|
||||
GFX-viewer (€¢â®p: €â® …¨) �à®á¬ âਢ ¥â BMP, PCX ¯« ¨àãîâáï ¨ ¤à㣨¥
|
||||
ä®à¬ âë.
|
||||
‚ìî¢¥à ¯à®á¬ âਢ ¥â ¨ ᯥªâà㬮¢áª¨¥ áªà¨ë (ª ª á âਡãâ ¬¨ â ª ¨ ¡¥§) ¨
|
||||
¨ª®ª¨.
|
||||
2D-Studio. (€¢â®p: „¥¨á � p¨®¢) ƒp ä¨ç¥áª¨© p¥¤ ªâ®p ¯®¤ à áè¨à¥ë©
|
||||
£à ä¨ç¥áª¨© íªà 320x256 256 梥⮢.
|
||||
FORTH for Sprinter (€¢â®à: Ivan Mak) Ÿ¤à® ï§ëª FORTH á® ¢á¥¬¨ ¢ë⥪ î騬¨ ¨§
|
||||
”®àâ ¯®á«¥¤á⢨ﬨ.
|
||||
CD-ROM Player. (€¢â®p: „¥¨á � p¨®¢) �ந£àë¢ ¥â 㤨® CD ¯®¤ª«î祮¬ ª
|
||||
‘¯à¨â¥àã CDROM¥.
|
||||
RAM-Disk ¤à ©¢¥à ¤«ï iS-DOS. (€¢â®p: Paul Falcon)
|
||||
„p ©¢¥p ¯p¨â¥p ¤«ï iS-DOS. (€¢â®p: „¥¨á � p¨®¢)
|
||||
PKT-viewer. (€¢â®p: �¥ â Œ ¬¥¤®¢)
|
||||
� §«¨çë¥ ¤¥¬®áâà æ¨®ë¥ ¯à®£à ¬¬ë (€¢â®pë: €â® …¨, „¥¨á � p¨®¢, ˆ¢
|
||||
Œ ª)
|
||||
„¥¬® ¢¥àá¨ï DooM (€¢â®à: ˆ¢ Œ ª)
|
||||
|
||||
ˆ§ ⮣® çâ® ¯¨è¥âáï:
|
||||
Turbo Assembler. (€¢â®p: €â® …¨) Œ®£®®ª®ë© । ªâ®p- áᥬ¡«¥p. ‘
|
||||
¨â¥à䥩ᮬ ¯® ⨯ã Borland-Pascal. �¥â -¢¥àá¨ï 㦥 à ¡®â ¥â ª ª ¯à¥ªà áë©
|
||||
⥪áâ®¢ë© à¥¤ ªâ®à
|
||||
UnZIP (€¢â®à: €«¥ªá¥© ƒ ¢à¨«¥ª®)
|
||||
|
||||
‘⮨â 㯮¬ïãâì ¤ ¯â¨à®¢ ë¥ ¯®¤ ‘¯à¨â¥à ᯥªâà㬮¢áª¨¥ ¯à®£à ¬¬ë:
|
||||
|
||||
F-Commander (á¯à¨.¬ëèª )
|
||||
Commander DOS (á¯à¨.¬ëèª )
|
||||
Font Editor (á¯à¨.¬ëèª )
|
||||
Art Studio 128 (á¯à¨.¬ëèª )
|
||||
ZX Word (¤à ©¢¥à ¯à¨â¥à ; ©æãª¥ ¤«ï €’-ª« ¢ë)
|
||||
|
||||
ÄÄÄ € §¤¥áì Windows Clipboard ª®ç ¥âáï ÄÄÄ
|
||||
|
||||
‘ 㢠¦¥¨¥¬, €«¥ªá ¤à.
|
||||
|
||||
---
|
||||
* Origin: ‚ á®àâ¨à¥: ‚ è¥ á«¥¤á⢮ ¢ ¢ è¨å à㪠å (2:5007/23)
|
||||
@@ -0,0 +1,44 @@
|
||||
*** Area: ZX.SPECTRUM Date: 30 Apr 01 15:43:08
|
||||
*** From: Ivan Mak (2:5030/529.24)
|
||||
*** To : Alexey Nikishin
|
||||
*** Subj: Sprinter techs
|
||||
|
||||
|
||||
�ਢ¥âáâ¢ãî ‚ á, Alexey!
|
||||
|
||||
<Thursday April 26 2001> <21:38> Alexey Nikishin wr®te to Ivan Mak:
|
||||
|
||||
AN> 1.‚aèa ª®â®àa ¨á室¨ª¨ ¯à®è¨¢ª¨ a í¬ã«ïæ¨î ᯥªâà㬮¢áª®£® ¦¥«¥§a
|
||||
AN> àaáªàë¢a¥â ¨«¨ ¥â ?
|
||||
|
||||
ˆá室¨ª¨ ¯p®è¨¢ª¨ �‹Œ ¢ ¤ ë© ¬®¬¥â ¥ p áªpë¢ îâáï.
|
||||
H® ¯¥p¥£®¢®pë ¯® í⮬㠢®¯p®áã ¢®§¬®¦ë...
|
||||
|
||||
AN> …᫨ ¥â, ⮠㦮 ª®¢ëàïâáï ¢ ®âª®¬¯¨«¥®© ¯à®è¨¢ª¥ ¨«¨ áa¬®¬ã
|
||||
AN> ¯¨áaâì á ã«ï ?
|
||||
|
||||
Š®¢ëpïâìáï ¢ ®âª®¬¯¨«¥®© ¯p®è¨¢ª¥ (�‹Œ-¢áª®©) ¡¥á¯®«¥§®. ’ ¬ ¨ä®p¬ æ¨ï ¤ ¦¥
|
||||
¬ ¥¨¢¥áâ® ª ª p ᯮ« £ ¥âáï, íâ® ª®¬¥pç¥áª ï â © ä¨p¬ë ALTERA.
|
||||
|
||||
AN> Api ¤«ï ¨§¬¥¥¨ï ¯à®è¨¢ª¨ ¥áâì ?
|
||||
|
||||
„«ï ¯¨á ¨ï ᢮¥© ¯p®è¨¢ª¨ ¥áâì ¯p®£p ¬¬ MAX-Plus II.
|
||||
…᫨ p §¡¨p ¥èìáï ¢ ¦¥«¥§¥, ¯¨á âì ¯p®è¨¢ªã ¤«ï ¯p®á⮣®
|
||||
‘¯¥ªâp㬠- ¤¥«® ®¤®£® ¤ï.
|
||||
|
||||
€ ¢ ‘¯p¨â¥p®¢áª®© ¯p®è¨¢ª¥ ¥áâì ¥ª®â®pë¥ ¢¥é¨ (®ã-å ã),
|
||||
ª®â®pë¥ ä¨p¬ �¥â¥pá ¥é¥ ¥ £®â®¢ p áªpë¢ âì.
|
||||
|
||||
AN> 2.‘奬a á¯à¨â¥àa ¢ í«¥ªâà®®¬ ¢¨¤¥ ¯ã¡«¨æ¨àã¥âáï ?
|
||||
|
||||
�®ª ¥â. H® ¥á«¨ 㦮 ¤«ï ¤¥« , ®¯ïâì ¦¥, ¬®¦® ¯¥p¥£®¢®p¨âì
|
||||
®¡ í⮬ ¢ ¬ë«¥ (® íâ® á ç «ìá⢮¬ ä¨p¬ë, ¥ á® ¬®©).
|
||||
—¥p¥§ e-mail: peters@atlant.ru
|
||||
|
||||
�à®â®áë á¡¥¦ «¨. ‡¥à£¨ § ª®¯ «¨áì. �®à ¨ ¬¥ § ªà㣫ïâìáï. Ivan.
|
||||
|
||||
- � §¢®¤¨áì á奬ª , ¡®«ìè ¨ ¬ «¥ìª ... [ Sprinter-II ] [Forth-CPU] [ZX]
|
||||
|
||||
... ivan_mak@mail.ru * http://st-rektal.chat.ru * http://www.atlant.ru/peters
|
||||
--- GoldED+/386 1.0.0
|
||||
* Origin: The Sprinter has You! (2:5030/529.24)
|
||||
@@ -0,0 +1,30 @@
|
||||
*** Area: ZX.SPECTRUM Date: 30 Apr 01 15:20:16
|
||||
*** From: Ivan Mak (2:5030/529.24)
|
||||
*** To : Eugene Ostroukhov
|
||||
*** Subj: ˆä
|
||||
|
||||
|
||||
�ਢ¥âáâ¢ãî ‚ á, Eugene!
|
||||
|
||||
<Friday April 27 2001> <14:26> Eugene Ostroukhov wr®te to Ivan Mak:
|
||||
|
||||
>> ¤ «¥ª ®â �–讣®... ’®â Doom, çâ® ¤«ï Spectrum- , ®ç¥ì ¤ «¥ª ®â
|
||||
>> ⮣®, ç⮠㦥 ¥áâì Sprinter-¥.
|
||||
EO> “¢¨¦ã - ¯®¢¥àî...
|
||||
|
||||
Šâ® á¨«ì® å®â¥«, â®â ¥¥ 㦥 㢨¤¥« :-)
|
||||
…᫨ ¦¨¢¥èì ¢ �¨â¥p¥, â® íâ® ¥ á«®¦®, ¤®áâ â®ç® § ©â¨ ¢ ä.�¥â¥pá
|
||||
(ã«.‚®ááâ ¨ï ¤.35 ®ä.31, «ãçè¥ á 17.00 ¤® 19.00) ¨ ¯®á¬®âp¥âì...
|
||||
|
||||
EO> ‹î¤¨, ¥áâì í¬ã«ì Sprinter' ? :-)
|
||||
|
||||
H¥âã. � ááç¥âë ¯®ª §ë¢ «¨, çâ® ¤«ï í¬ã«ï Sprinter- ¯®âp¥¡ã¥âáï
|
||||
¯¥â¨ã¬ 3000MHz. ˆ íâ® ¤«ï 97-© ¯« âë, ¤«ï 2000-© ¢ 3 p § ¡®«ìè¥...
|
||||
|
||||
�à®â®áë á¡¥¦ «¨. ‡¥à£¨ § ª®¯ «¨áì. �®à ¨ ¬¥ § ªà㣫ïâìáï. Ivan.
|
||||
|
||||
- � §¢®¤¨áì á奬ª , ¡®«ìè ¨ ¬ «¥ìª ... [ Sprinter-II ] [Forth-CPU] [ZX]
|
||||
|
||||
... ivan_mak@mail.ru * http://st-rektal.chat.ru * http://www.atlant.ru/peters
|
||||
--- GoldED+/386 1.0.0
|
||||
* Origin: The Sprinter has You! (2:5030/529.24)
|
||||
@@ -0,0 +1,33 @@
|
||||
*** Area: ZX.SPECTRUM Date: 30 Apr 01 15:43:52
|
||||
*** From: Ivan Mak (2:5030/529.24)
|
||||
*** To : Andrey Roska
|
||||
*** Subj: Sprinter News
|
||||
|
||||
|
||||
�ਢ¥âáâ¢ãî ‚ á, Andrey!
|
||||
|
||||
<Sunday April 29 2001> <08:31> Andrey Roska wr®te to Ivan Mak:
|
||||
|
||||
IM>> Œ®¦®. ’®«ìª® ® ¢áî �‹Œ ¨ § ©¬¥â, â ª ª ª ¥ ¯p¥¤ § ç¥ ¤«ï
|
||||
IM>> ¥¥. �p®é¥ ᤥ« âì ᢮© ¯p®æ¥áá®p ¢ �‹Œ, ⮣¤ ® § ©¬¥â
|
||||
IM>> ¬¥ìè¥...
|
||||
AR> —ñ, 8000 ¢¥â¨«¥© (¨«¨ âà §¨áâ®à®¢, ¯®«ãç ¥âáï ¢¥â¨«¥© ¥éñ ¬¥ìè¥)-
|
||||
AR> ¢áï �‹Œ Sprinter2000? :(
|
||||
|
||||
H¥ ¢ë室¨â ¯p¨¬¥p® ¯® ⮩ ¦¥ ¯p¨ç¨¥, ¯®ç¥¬ã Spectrum Pentium
|
||||
áí¬ã«¨âì ¥ ¯®«ãç ¥âáï ®p¬ «ì®. �‹Œ ¥ ¯p¥¤ § ç¥ ¤«ï ¢áâ ¢«ï¨ï
|
||||
¢ ¥¥ Z80.
|
||||
|
||||
€ ᢮© ᮡáâ¢¥ë© 16bit-¯p®æ¥áá®p, ®¯â¨¬¨§¨p®¢ ë© ¯®¤ áâpãªâãpã �‹Œ,
|
||||
§ ¨¬ ¥â ~300 «®£¨ç¥áª¨å ï祥ª (1/6 ®â �‹Œ ‘¯p¨â¥p ).
|
||||
|
||||
‚ ‘¯p¨â¥p®¢áª®© ¯p®è¨¢ª¥ - 2 (¤¢ !) ᯥæ¯p®æ¥áá®p , ®¤¨ p ¡®â ¥â
|
||||
ª« ¢¨ âãpã, ¤p㣮© AY.
|
||||
|
||||
�à®â®áë á¡¥¦ «¨. ‡¥à£¨ § ª®¯ «¨áì. �®à ¨ ¬¥ § ªà㣫ïâìáï. Ivan.
|
||||
|
||||
- � §¢®¤¨áì á奬ª , ¡®«ìè ¨ ¬ «¥ìª ... [ Sprinter-II ] [Forth-CPU] [ZX]
|
||||
|
||||
... ivan_mak@mail.ru * http://st-rektal.chat.ru * http://www.atlant.ru/peters
|
||||
--- GoldED+/386 1.0.0
|
||||
* Origin: The Sprinter has You! (2:5030/529.24)
|
||||
@@ -0,0 +1,28 @@
|
||||
*** Area: ZX.SPECTRUM Date: 30 Apr 01 15:44:42
|
||||
*** From: Ivan Mak (2:5030/529.24)
|
||||
*** To : UUCP
|
||||
*** Subj: Re[4]: ‘¯p¨â¥p ¨ â.¯.
|
||||
|
||||
|
||||
�ਢ¥âáâ¢ãî ‚ á, Konstantin!
|
||||
|
||||
<Monday April 30 2001> <03:04> Konstantin A. Yeliseyev" <kay@udmnet.ru>
|
||||
Reply-To: "Konstantin A. Yeliseyev wr®te to Andrey Roska:
|
||||
|
||||
AR>> € ª ª �‹Œ í¬ã«¨à®¢ âì? H ¢¥à®¥, âà㤮¢ â® ¡ã¤¥â :)
|
||||
Kk> �â®â ¢®¯à®á ¯àï¬ãî á¢ï§ á äãªæ¨ï¬¨ �‹Œ.
|
||||
Kk> ‘®¢á¥¬ ¥ ®¡ï§ â¥«ì® í¬ã«¨à®¢ âì ¬ âà¨æã ¨§ª®¬ ã஢¥.
|
||||
|
||||
�®¤ ª ¦¤ãî ®¢ãî ¯p®è¨¢ªã - ®¢ë© í¬ã«ïâ®p, ¯p¨ ¯¥p¥£p㧪¥
|
||||
¯p®è¨¢®ª ¯¥p¥£p㧪 í¬ã«ïâ®p :-))
|
||||
|
||||
P.S. ”¨p¬¥ë© €«ìâ¥p®¢áª¨© MAX-Plus-II ᨬã«ïâ®p í¬ã«¨â á奬ã
|
||||
‘¯p¨â¥p ¢ �‹Œ: 10 p¥ «ìëå _¬¨ªp®á¥ªã¤_ § ¤¥áïâì ᥪ㤠P-II-266.
|
||||
|
||||
�à®â®áë á¡¥¦ «¨. ‡¥à£¨ § ª®¯ «¨áì. �®à ¨ ¬¥ § ªà㣫ïâìáï. Ivan.
|
||||
|
||||
- � §¢®¤¨áì á奬ª , ¡®«ìè ¨ ¬ «¥ìª ... [ Sprinter-II ] [Forth-CPU] [ZX]
|
||||
|
||||
... ivan_mak@mail.ru * http://st-rektal.chat.ru * http://www.atlant.ru/peters
|
||||
--- GoldED+/386 1.0.0
|
||||
* Origin: The Sprinter has You! (2:5030/529.24)
|
||||
@@ -0,0 +1,134 @@
|
||||
*** Area: ZX.SPECTRUM Date: 1 May 01 22:32:59
|
||||
*** From: Stas Vlasov (2:5080/172.0)
|
||||
*** To : All
|
||||
*** Subj: New os for Sprinter
|
||||
|
||||
Hello All!
|
||||
|
||||
H ¬¥âª¨ ¯à®¥ªâ ¤«ï ®¢®© ®¯¥à 樮ª¨ ¤«ï Sprinter' , ¥ â ª ¯®å®¦¥© DOS.
|
||||
|
||||
=== Cut ===
|
||||
‘®£« 襨ï, ¯à¨ïâë¥ ¢ ⥪áâ¥:
|
||||
|
||||
‘âà ¨æë ¯ ¬ï⨠㬥àãîâáï á 0.
|
||||
|
||||
|
||||
’à¥¡ã¥¬ë¥ ¯¯ à âë¥ ¢®§¬®¦®áâ¨:
|
||||
|
||||
‚ᥠ¨¦¥¯¥à¥ç¨á«¥ë¥ ¢®§¬®¦®á⨠¢ª«îç îâáï ⮫쪮 ¯®á«¥
|
||||
¨¨æ¨ «¨§ 樨 ï¤à Ž‘.
|
||||
�® RSTn - ¢ë§®¢ ᮮ⢥âáâ¢ãî饣® ®¡à ¡®â稪 á ¤à㣮© áâà ¨æë ¯ ¬ïâ¨.
|
||||
†¥« ⥫ì®, çâ®¡ë ®¡à ¡®â稪¨ 室¨«¨áì à §ëå áâà ¨æ å. �ਠí⮬
|
||||
âॡã¥âáï á®åà ¥¨¥ ¨ä®à¬ 樨 ® ¯à®æ¥áá¥, ¢ë§¢ ¢è¥¬ ®¡à ¡®â稪 (¢ â.ç.
|
||||
ãáâ ®¢«¥ë¥ áâà ¨æë ¯ ¬ï⨠¨ ID ¯à®æ¥áá , ®á⠫쮥 ¬®¦® ¯à®£à ¬¬®).
|
||||
‚®§¢à â ¨§ ®¡à ¡®â稪 - OUT + RET, «¨¡® ª ª-â® «®£¨ç® (¢§¢¥¤¥¨¥
|
||||
âਣ£¥à ¢ �‹Œ, áà ¡ âë¢ ¨¥ - ¯® ret ¨«¨ iret).
|
||||
Ž¡à ¡®âª ¯¯ à âëå ¯à¥àë¢ ¨© - «®£¨ç®.
|
||||
NMI - ®á®¢ à ¡®âë Ž‘, ¯®â®¬ã ¢® ¢à¥¬ï ¨¨æ¨ «¨§ 樨 ï¤à ¤®«¦® ¡ëâì
|
||||
¯®¤ª«î祮 ª â ©¬¥àã («¨¡® ª CMOS, «¨¡® ª ¯à¥àë¢ ¨ï¬ ®â ª ¤à®¢®©
|
||||
á¨åந§ 樨).
|
||||
Š à⠯ਮà¨â¥â®¢ ¤«ï ®¡à 饨© ª ¯®àâ ¬ (¤ã¬ î, ¤®áâ â®ç® 4-å
|
||||
ã஢¥© ¯à¨®à¨â¥â®¢, ᮮ⢥âáâ¢ãîé¨å â¨¯ã ¯à®æ¥áá ) ¨ ID ¯à®æ¥áᮢ,
|
||||
à ¡®â îé¨å ¢ ¤ ë© ¬®¬¥â á ¯®àâ ¬¨, ¨§¬¥ï¥¬ ï ®¯¥à 樮ª®©.
|
||||
|
||||
|
||||
ޝ¥à 樮 ï á¨á⥬ :
|
||||
|
||||
Ÿ¤à®.
|
||||
|
||||
‚®§¬®¦ë¥ âॡ®¢ ¨ï: ¤® 64ª ¥¤¨®à §®¢®, ¢ë§®¢ äãªæ¨© ¨ ®¡à 饨¥ ª
|
||||
¬®¤ã«ï¬ ¯® ®¤®¬ã RSTn, ¢®§¬®¦® (¤ ¦¥ 㦮) ¢ë¤¥«¥¨¥ ¥é¥ ¯ ¬ï⨠¯à¨
|
||||
¨¨æ¨ «¨§ 樨.
|
||||
”ãªæ¨¨: à ¡®â á ¦¥«¥§®¬, ¡¨®á ¨§ª®¬ ã஢¥, à ¡®â á ä ©«®¢ë¬¨
|
||||
á¨á⥬ ¬¨, à ¡®â á ¯à®æ¥áá ¬¨ ¨ ¬®£®§ ¤ ç®áâì, à ¡®â á ¯ ¬ïâìî/᢮¯®¬,
|
||||
§ ¯ã᪠¯à®æ¥áá ¨¨æ¨ «¨§ 樨, etc
|
||||
|
||||
|
||||
Œ®¤ã«¨ ï¤à .
|
||||
|
||||
‚®§¬®¦ë¥ âॡ®¢ ¨ï: 3-ï áâà ¨æ ¯ ¬ïâ¨, 16ª ¯®¤ ¬®¤ã«ì ¯à¨
|
||||
§ £à㧪¥, á⥪ ¢¥ ¬®¤ã«ï, ¢®§¬®¦® ¢ë¤¥«¥¨¥ ¥é¥ ¯ ¬ï⨠¯à¨ ¨¨æ¨ «¨§ 樨.
|
||||
�®¤£à㦠îâáï ¯à¨ ¥®¡å®¤¨¬®áâ¨.
|
||||
”ãªæ¨¨: � áè¨à¥¨¥ äãªæ¨© ï¤à . � ¡®â á ¦¥«¥§®¬, ®¢ë¥ ä ©«®¢ë¥
|
||||
á¨á⥬ë, etc
|
||||
|
||||
|
||||
‘¨áâ¥¬ë¥ ¡¨¡«¨®â¥ª¨.
|
||||
|
||||
‚®§¬®¦ë¥ âॡ®¢ ¨ï: ˆ§ ¯ ¬ï⨠¥ ¢ë£à㦠îâáï, ®¡à 饨¥ ¯®
|
||||
®â¤¥«ì®¬ã RSTn ¢á¥å, ¢ ¯ à ¬¥âà å - ID ¡¨¡«¨®â¥ª¨ ¨ ID äãªæ¨¨ +
|
||||
¯ à ¬¥âàë á ¬®© äãªæ¨¨.
|
||||
”ãªæ¨¨: � áè¨à¥¨¥ äãªæ¨© ï¤à ¢ áâ®à®ã ¯à®£à ¬¬®£® ¨â¥à䥩á ,
|
||||
¥ ¦¥«¥§ . ’.¥. í¬ã«ïæ¨ï â¥à¬¨ « , ª®¬¬ã¨ª æ¨®ë¥ ¯à®â®ª®«ë ¨§ª®£®
|
||||
ã஢ï, etc
|
||||
|
||||
|
||||
�ਪ« ¤ë¥ ¡¨¡«¨®â¥ª¨.
|
||||
|
||||
”ãªæ¨¨: �¨¡«¨®â¥ª¨, á«ã¦ 騥 ¤«ï ¨á¯®«ì§®¢ ¨ï ®¤®£® ª®¤ ¢
|
||||
¥áª®«ìª¨å ¯à¨«®¦¥¨ïå ®¤®¢à¥¬¥®, «¨¡® ª ª á।á⢮ ¯à¥®¤®«¥¨ï ¡ àì¥à
|
||||
64ª. �ਠ¥¨á¯®«ì§®¢ ¨¨ ¢ë£à㦠îâáï ¨§ ¯ ¬ïâ¨.
|
||||
�ਬ¥ç ¨¥: ‚ë§®¢, ¤ã¬ î, ¡ã¤¥â «®£¨ç¥ á¨á⥬ë¬.
|
||||
|
||||
|
||||
�ਫ®¦¥¨ï, ª ª á¨á⥬ë¥, â ª ¨ ¯®«ì§®¢ ⥫ì᪨¥.
|
||||
|
||||
‚®§¬®¦ë¥ âॡ®¢ ¨ï: ¯à¨ § £à㧪¥ ¯à¨«®¦¥¨ï - § £à㦠¥¬ë© ª®¤ ¢
|
||||
¯à¥¤¥« å «¨¥©®© ¤à¥á 樨, ¤ «ì¥©è¥¥ ¢ë¤¥«¥¨¥ ¯ ¬ï⨠- «¨¡® ç¥à¥§
|
||||
®¢¥à«¥¨, «¨¡® ç¥à¥§ ¯à¨ª« ¤ë¥ ¡¨¡«¨®â¥ª¨.
|
||||
”ãªæ¨¨: ¯®ïâë ¡¥§ ®¯¨á ¨ï.
|
||||
�ਬ¥ç ¨¥: ‚¥à®ïâ® ¯®¢â®à®¥ ¨á¯®«ì§®¢ ¨¥ ª®¤ ¤«ï ¥áª®«ìª¨å ª®¯¨©
|
||||
¯à¨«®¦¥¨ï, ¥á«¨ ¯®«ãç¨âáï...
|
||||
|
||||
|
||||
Ž¡é¥á¨áâ¥¬ë¥ ¯à¨¬¥ç ¨ï:
|
||||
|
||||
‚®§¬®¦ ᮢ¬¥á⨬®áâì ¯® ¢ë§®¢ ¬ ¨¬¥î饩áï Ž‘ Sprinter' (¢¥à®ïâ®,
|
||||
ç¥à¥§ ᮮ⢥âáâ¢ãîéãî ¡¨¡«¨®â¥ªã ¯à¨ª« ¤®£® ã஢ï, ¯®¤£à㦠¥¬ãî ¤«ï
|
||||
ᮮ⢥âáâ¢ãî饣® ¯à¨«®¦¥¨ï).
|
||||
„®áâ㯠ª á¨áâ¥¬ë¬ ¯®àâ ¬ ¢¢®¤ -¢ë¢®¤ ¤®«¦ë ¨¬¥âì ⮫쪮 ï¤à® ¨ ¥£®
|
||||
¬®¤ã«¨ (⨯ ¯à®æ¥áá - 00).
|
||||
„®áâ㯠ª ¥á¨áâ¥¬ë¬ ¯®àâ ¬ - ¯à¥¤®áâ ¢«ï¥âáï ¯®á«¥ § ¯à®á
|
||||
(¯à®¨§¢®¤¨âáï ¯à¨ ¨¨æ¨ «¨§ 樨 ¯à®æ¥áá ) ¢ ᮮ⢥âá⢨¨ á ¯à ¢ ¬¨
|
||||
¯à¨«®¦¥¨ï/¯®«ì§®¢ ⥫ï. �« ¨àã¥âáï ¤ «ì¥©è¥¥ à §£à ¨ç¥¨¥ ¤®áâ㯠.
|
||||
‚ ª ç¥á⢥ ¡ §®¢®© ¬¥¦¯à®æ¥áᮩ ª®¬¬ã¨ª 樨 ¯à¥¤« £ îâáï ᨣ «ë ¨
|
||||
¯¥à¥ ¯à ¢«¥¨¥ ¢¢®¤ -¢ë¢®¤ .
|
||||
|
||||
‚¥à®ïâë¥ áâàãªâãàë ¤ ëå:
|
||||
|
||||
ˆä®à¬ æ¨ï ® áâà ¨æ¥ ¯ ¬ïâ¨:
|
||||
|
||||
ID áâà ¨æë - 16 ¡¨â
|
||||
ID ¯à®æ¥áá -¢« ¤¥«ìæ - 16 ¡¨â
|
||||
’¨¯ à §¬¥é¥¨ï áâà ¨æë - 1 ¡¨â (0 - RAM, 1 - Swap)
|
||||
Œ¥áâ®à ᯮ«®¦¥¨¥ áâà ¨æë - 16 ¡¨â («¨¡® 䨧¨ç¥áª¨© ®¬¥à áâà ¨æë RAM,
|
||||
«¨¡® ᬥ饨¥ ¢ ᢮¯-ä ©«¥ ¢ áâà ¨æ å)
|
||||
‚à¥¬ï ¯®á«¥¤¥£®
|
||||
¢ª«î票ï áâà ¨æë - 32 ¡¨â (¡ã¤¥â ¨á¯®«ì§®¢ âìáï ¤«ï ®¯à¥¤¥«¥¨ï
|
||||
⮣®, ª ªãî áâà ¨æã á⮨⠢ë£à㧨âì)
|
||||
|
||||
|
||||
ˆä®à¬ æ¨ï ® ¯à®æ¥áá¥:
|
||||
|
||||
ID ¯à®æ¥áá - 16 ¡¨â
|
||||
’¨¯ ¯à®æ¥áá - 2 ¡¨â (00 - Ÿ¤à®,
|
||||
01 - á¨áâ¥¬ë¥ ¡¨¡«¨®â¥ª¨,
|
||||
10 - ¯à¨ª« ¤ë¥ ¡¨¡«¨®â¥ª¨,
|
||||
11 - ¯à¨«®¦¥¨ï.
|
||||
¢®§¬®¦® ᮢ¬¥é¥¨¥ á ¤à㣨¬¨ ä« £ ¬¨)
|
||||
�ਮà¨â¥â - <8 ¡¨â (0 - ¬ ªá¨¬ «ìë©)
|
||||
‘®áâ®ï¨¥ ¯à®æ¥áá - <8 ¡¨â (¢ë¯®«ï¥âáï, ®¦¨¤ ¥â, ®áâ ®¢«¥, ¨ â.¯.)
|
||||
ID áâà ¨æë ᮠᬥ饨ï 0000h |
|
||||
ID áâà ¨æë ᮠᬥ饨ï 4000h | \ �® 16 ¡¨â ¢ ᮮ⢥âá⢨¨ á® áâàãªâãன
|
||||
ID áâà ¨æë ᮠᬥ饨ï 8000h | / ¨ä®à¬ 樨 ® áâà ¨æ¥ ¯ ¬ïâ¨.
|
||||
ID áâà ¨æë ᮠᬥ饨ï C000h |
|
||||
=== Cut ===
|
||||
|
||||
�ਬ¥ç ¨ï, ¨á¯à ¢«¥¨ï, ¤®¯®«¥¨ï ¯à¨¢¥âáâ¢ãîâáï.
|
||||
‚®§à ¦¥¨ï (¥ ¢ á⨫¥ " 䨣 㦥 ‘¯à¨â¥à") â ª¦¥ ¯à¨¢¥âáâ¢ãîâáï.
|
||||
|
||||
Good luck.
|
||||
Stas
|
||||
|
||||
--- …é¥ ®¤® "§®«®â®" 3.0.1
|
||||
* Origin: gui is good, but console better (2:5080/172)
|
||||
@@ -0,0 +1,63 @@
|
||||
*** Area: ZX.SPECTRUM Date: 26 Jun 137 11:45:13
|
||||
*** From: Denis Parinov (2:5030/529.48)
|
||||
*** To : Andy Harchenko
|
||||
*** Subj: ...
|
||||
|
||||
� ¤ ¯à¨¢¥âá⢮¢ âì ⥡ï, Andy!
|
||||
|
||||
Monday May 21 2001 Andy Harchenko -> Denis Parinov.
|
||||
|
||||
AH> Don't cry, Denis!
|
||||
|
||||
I won't cry!
|
||||
|
||||
DP>> á⠥⠨ªâ®, â ª ¡¥á¯®ª®¨âìáï ¨§-§
|
||||
DP>> ¨ç¥£®¨§á¥¡ï¥¯p¥¤áâ ¢«ïî饣® ª®¬¯ìîâ¥p .
|
||||
DP>> P.S. H¨ç¥£® «¨ç®£®, ¯p®áâ® ¥å®ç¥âìáï ®â¢¥ç âì ª ¦¤ë©
|
||||
DP>> ¯®¤®¡ë© ¢ë¯ ¤. “ á ¬ áá p ¡®âë, íâ® ¢ ¬ ¥ PC, £¤¥ ¢á¥ ¥áâì ¨
|
||||
DP>> " å «ï¢ã".
|
||||
AH> ¢á¥£® âਠ¯ãªâ :
|
||||
AH> 1) â¥å¨ç¥áª ï ¯®¤¤¥à¦ª ¯à¨ ¬¨¨¬ «ìëå ãᨫ¨ïå á® áâ®à®ë
|
||||
AH> ¯®«ì§®¢ ⥫ï
|
||||
|
||||
€«â¥p . ‚ᥠ¨§¬¥¥¨ï, bug-fix'¨, ®¢ë¥ ¢®§¬®¦®áâ¨, ¬®¦® ¯®«ãç¨âì ¯®
|
||||
¨â¥p¥â.
|
||||
|
||||
AH> 2) ¬ áá ¤¥è¥¢®£® ¯¨à â᪮£® á®äâ ¨ «¨â¥à âãàë
|
||||
|
||||
™ á, ¡ã¤ãâ ª¨¤ âì âãå«ë¬¨ ¯®¬¨¤®p ¬¨ :)
|
||||
® ¥ª®â®pë¥ ¯p¨§ î, çâ® ‘¯¥ªâp㬮¢áª¨¥ ¨£pë ¨®£¤ «ãçè¥.
|
||||
€ «¨â¥p âãpã ¤® ç¨â âì ª ª ï áç¨â î ¯« âä®p¬®¥§ ¢¨¬ãî. ’®«ªã ¡®«ìè¥ ¡ã¤¥â.
|
||||
•®âï ï ᮣ« ᥠᯥæ¨ä¨ç¥áª ï «¨â¥p âãp 㦠.
|
||||
|
||||
AH> 3) ¢á¥¬¨à®¯à¨§ ë© áâ ¤ àâ
|
||||
|
||||
¡ «ì® ZX Spectrum.
|
||||
|
||||
AH> 祬 ¬®¦¥â ®â¢¥â¨âì ‘¯à¨â¥à í⨠âਠ¯ãªâ ?
|
||||
|
||||
¤®«¦¥?
|
||||
|
||||
AH> §ë ¯à®è«¨ ⥠¢à¥¬¥ , ª®£¤ ¬®¦£® ¡ë«® ᮡà âì ª®¬¯ ¢ £ à ¦¥, ¢ ¨â®£¥
|
||||
AH> á®§¤ âì á¢®î ¯« âä®à¬ã ¨ ᪮«®â¨âì ¥© ®¤ã ¨§ á ¬ëå ªàã¯ëå ä¨à¬ ¢
|
||||
AH> ¬¨à¥.
|
||||
|
||||
„ , ¨ªâ® ¨ ¥ £®¢®p¨â, ¯p® â®, çâ® ¬ë ᮡ¨p ¥¬áï ª®«®¨§¨p®¢ âì £ « ªâ¨ªã.
|
||||
Œë §¤¥« «¨ ª®¬¯ìîâ¥p, ᮢ¬¥áâ¨¬ë© á® ‘¯¥ªâp㬮¬ ª ª®â®p®¬ã ¯®¤«îç îâìáï
|
||||
áâ ¤ pâë¥ ¢¨ç¥áâ¥pë, ᨤ¨p®¬ë, ¬®¤¥¬ë, ¤¨áª®¢®¤ë, ª« ¢¨ âãpë, ¬ëè¨.
|
||||
ˆ ᮡ¨p ¥âìáï ¡¥§ ¯ ï«ì¨ª . „ ® ¨¬¥¥â ¥ª®â®pë¥ ã¨ª «ìë¥ ¢®§¬®¦®á⨠¥
|
||||
¯p¥¤áâ ¢«¥ë¥ ¤pã£¨å ¯« âä®p¬ å.
|
||||
|
||||
AH> Sprinter vs PC or Sprinter vs Mac íâ® ¢®§¬®¦® ⮫쪮 ¥á«¨ ã ¢ á
|
||||
|
||||
íâ® ªáâ ⨠ª ª p § ®¡®p®â, ¬ ¯ëâ îâáï ¢ï§ âì áp ¢¥¨¥.
|
||||
Ÿ ¢á¥£¤ ¯¨á «, çâ® ¥á«¨ 祫®¢¥ªã H“†…H PC, â® ï ¥ áâ ã ¥¬ã ¯p¥¤« £ âì
|
||||
¢§ ¬¥ Sprinter. …áâì ¢¥é¨ á ª®â®p묨 PC á¯p ¢¨âìáï «ãçè¥, ï í⮣® ¨ ¥
|
||||
®âp¨æ î.
|
||||
|
||||
‘ 㢠¦¥¨¥¬, Denis.
|
||||
|
||||
... ˆ âãâ ï 襫 ¥çâ® â ª®¥, ¨§-§ 祣® áà §ã § ¡ë« ¢á¥ è¨ áª«®ª¨. Ÿ
|
||||
㢨¤¥«
|
||||
---
|
||||
* Origin: PETERS PLUS LTD (2:5030/529.48)
|
||||
@@ -0,0 +1,104 @@
|
||||
*** Area: ZX.SPECTRUM Date: 18 Jul 37 22:03:37
|
||||
*** From: Denis Parinov (2:5030/529.48)
|
||||
*** To : Sergey Krinitsin
|
||||
*** Subj: ‚®¯à®á ¯à®¨§¢®¤¨â¥«ï¬ ‘¯¨à¨â¥à
|
||||
|
||||
� ¤ ¯à¨¢¥âá⢮¢ âì ⥡ï, Sergey!
|
||||
|
||||
Saturday June 09 2001 Sergey Krinitsin -> Denis Parinov.
|
||||
|
||||
DP>> „ , ï ¥ ¯p® â®. Ÿ ¥ ¯p®â¨¢ ªp¨â¨ª¨ ¨ ¤¥«ìëå ᮢ¥â®¢, ®
|
||||
DP>> ¢ ®á®¢®¬ ¢áï ªp¨â¨ª ᢮¤¨âáï ª ¯®¯ë⪠¬ ¢ëáâ ¢¨âì
|
||||
SK> „ ¥â, ¢á¥ ¥é¥ å㦥... ‘¯¥ªâà㬨áâ ¬ ¥ ¨¬¥î騬 PC ¢®®¡é¥ ¢ áâ®ï饥
|
||||
SK> ¢à¥¬ï ‘¯à¨â¥à¥ ¤¥« âì ¥ç¥£® (¨¬å®).
|
||||
SK> ‚¥¤ì á®äâ ¯®¤¤¥à¦¨¢ î饣® à áè¨à¥ë¥ ¢®§¬®¦®á⨠‘¯à¨â¥à ã ¢ á
|
||||
SK> ¥â.
|
||||
|
||||
‚® ¯¥p¢ëå ® ¥áâì ¨ ¤®áâ â®ç® ¤ ¢®. ˆ §¤¥áì ®¡ í⮬ ¥ p § £®¢®p¨«®áì. ’ë
|
||||
¬®£ ¡ë ¯¨á âì çâ® ã ¢ á ¬ «® á®äâ (çâ® ¡ë«® ¡ë ¯p ¢¤®©), ® íâ® ¥ â ª
|
||||
ã¡¥¤¨â¥«ì® §¢ãç¨â.
|
||||
|
||||
SK> ˆ á®§¤ âì ¥£® ¥ ¨¬¥ï PC ¢¥áì¬ ¯à®¡«¥¬ â¨ç®.
|
||||
|
||||
�⨠¯p®¡«¥¬ë ⮫쪮 ¢ £®«®¢ å, ï p¥èã «î¡ãî § ¤ çã ¥ ¯p¨¡¥£ ï ª ¯®¬®é¨ PC.
|
||||
|
||||
SK> Š ª ¯à¨¬¥à à¨á®¢ âì ¯à¨ ¯®¬®é¨ ᯥª®¢áª®£® á®äâ £à 䨪㠯®¤
|
||||
SK> £à ä¨ç¥áª¨¥ ०¨¬ë ‘¯à¨â¥à ?
|
||||
|
||||
„«ï ç « , ã á ¥áâì £p ä¨ç¥áª¨© p¥¤ ªâ®p.
|
||||
ˆ âë ¥¬®£® ¥¤®¯®¨¬ ¥èì, ª ª ¯p®¨á室¨â ¯p®æ¥áá p §p ¡®âª¨ á®äâ . ƒp 䨪
|
||||
®¡ëç® § ª §ë¢ ¥âìáï å㤮¦¨ªã/¤¨§ ©¥pã ¨ 祬 ® ¥¥ ¡ã¤¥â ¤¥« âì íâ® ¥£®
|
||||
¤¥«®. ’ë å®ç¥èì ᪠§ âì çâ® ‘¯p¨â¥pã ¤ «¥ª® ¤® £p ä¨ç¥áª®© áâ æ¨¨? Ÿ ¥
|
||||
ᯮpî ¥¬®£® ¤p㣮© ãp®¢¥ì, ¤pã£ ï æ¥ . Ÿ ¢®®¡é¥ ¥ ¯®¨¬ î § 祬 ¤®¬
|
||||
㦠£p ä¨ç¥áª ï áâ æ¨ï? H¥â ï ¯®¨¬ î, çâ® PC ¥áâì ¨ âãâ ⮦¥ ¤®, ®
|
||||
íâ® ¢á¥ ¯®â®¬ã çâ® ¤®áâ㯥 ä®â®è®¯ § $2.
|
||||
|
||||
SK> ‘ ¦¥«¥§®¬ ¢á¥ ¥é¥ å㦥, §¤¥áì ‘¯à¨â¥à ¢¥ç® ¡ã¤¥â § ¢¨á¨âì ®â PC,
|
||||
SK> â.ª. ï ᮬ¥¢ îáì, çâ® ¢ë ¬®¦¥â¥ § ¨â¥à¥á®¢ âì €«ìâ¥àã ¢ë¯ãáâ¨âì
|
||||
SK> । ªâ®à ¯®¤ ‘¯à¨â¥à.
|
||||
|
||||
€ § 祬 ⥡¥ ¥§ ¢¨á¨¬®áâì? Ÿ ¥ ¯®¨¬ î, ¬®¦¥â ¥é¥ ¢áî í«¥¬¥âãî ¡ §ã,
|
||||
ª®p¯ãá , ¢¨ç¥áâ¥pë, ¤¨áª®¢®¤ë ⮦¥ ¤® ¤¥« âì ¯p¨ ¯®¬®é¨ ‘¯p¨â¥p ?
|
||||
|
||||
SK> ’ ª ç⮠ॠ«ì® á®§¤ âì á®äâ ¬®£ãâ «¨è «î¤¨ ¨¬¥î騥 PC.
|
||||
|
||||
p¥ «ì® ¬®¦¥â «î¡®© 祫®¢¥ª. �p®áâ® ¥á«¨ íâ® ¯p®ä¥áᨮ «ìë© á®äâ â® ¢ ¥£®
|
||||
¤® ¢«®¦¨âì ¥ ¬ «® ¤¥¥£. H ¬ ¯p¥¤« £ «¨ ¯®¬®éì ¢ ¯¨á ¨¨ á®äâ «î¡®©
|
||||
á«®¦®á⨠¤«ï ‘¯p¨â¥p . $10000 ¨ £«ã¯ëå ¢®¯p®á®¢ ®¨ ¥ § ¤ ¢ «¨.
|
||||
|
||||
SK> H® áã¤ï ¯® ¨å ®â§ë¢ ¬, ¡®«ìè¨áâ¢ã ‘¯à¨â¥à ¬ «®¨â¥à¥á¥.
|
||||
|
||||
¥é¥ p §, ¨§¤¥«¨¥ ®¤ èâ㪠, á⮨â á⮫쪮-â®, ¨¬¥¥â á«¥¤ãî騥 å p ªâ¥p¨á⨪¨.
|
||||
�â® ¡®«ìè¨á⢮ ï ¬®£ã ¯¥p¥áç¨â âì ¯ «ìæ å ®¤®© p㪨. :)
|
||||
Ÿ ¥ ¯®¨¬ î á¬ëá« ¢ p¥¯«¨ª å "‚ᥠ¢¨¤¥«¨? Œ¥ íâ® ¥ ¨â¥p¥áâ®!".
|
||||
Š ¬ ¥¦¥¤¥¢® ¯p¨å®¤ïâ ¯¨áì¬ ®â «î¤¥© á¯p 訢 îé¨å ª®£¤ çãâìáï ¯p®¤ ¦¨
|
||||
Sp2000.
|
||||
|
||||
DP>> Š ª¨¥-â® ¡p¥¤®¢ë¥ âp¥¡®¢ ¨ï, ç⮡ë Sprinter ¥¯p¥¬¥® ¡ë«
|
||||
DP>> ªpãç¥ PC ¨ çâ®¡ë ¬®¦® ¡ë«® ᮠᯮª®©®© ᮢ¥áâìî ¯p®¤ âì
|
||||
DP>> PC ¨ ªã¯¨âì Sprinter.
|
||||
SK> —¥«®¢¥ªã ᢮©á⢥® áâ६¨âáï ª «ãç襬ã.
|
||||
|
||||
ˆ ¤«ï í⮣® ¤® ¯®ªã¯ âì ª®¬¯ìîâ¥p á ¬¥ì訬¨ å p ªâ¥p¨á⨪ ¬¨? Hã ¬®¦¥â ¨
|
||||
â ª p¥ «¨§®¢ ¢ ⥦¥ § ¤ ç¨ ¡®«¥¥ ¤¥è¥¢®¬ ª®¬¯ìîâ¥p¥ ® ¯®«ãç¨â ¥¯«®å®¥
|
||||
㤮¢«¥â¢®p¥¨¥.
|
||||
|
||||
SK> —â® ®¢®£® ¯®«ãç â PC'訪¨ ¯à¨®¡à¥âï ‘¯à¨â¥à?
|
||||
|
||||
ï ¤ã¬ î ®ª®«® $500. …᫨ íâ® ª®¥ç®, ¥ ¤p¥¢ïï ç¥â¢¥pª ¨«¨ ¯¥â¨ã¬.
|
||||
|
||||
SK> ‚®§¬®¦®áâì î§ âì á®äâ ‘¯¥ªâà㬠? ލ ¤ ¢® ¥£® î§ îâ ¯®¤ í¬ã«ï¬¨.
|
||||
|
||||
:) ’ë ¢¨¤¥« —¥p®£® ‚®p® ¨«¨ ‡¢¥§¤®¥ á«¥¤¨¥ ¨«¨ ¤pã£ãî § é¨é¥ãî
|
||||
¯p®£p ¬¬ã ¢ í¬ã«ïâ®p¥? € ¢®â ‘¯p¨â¥p¥ ®¨ ¯p¥ªp áâ® p ¡®â îâ. �®«¥¥ ⮣®
|
||||
á®§¤ ¥âìáï ¢¯¥ç â«¥¨¥ çâ® ¬®£¨© á®äâ ¯¨á «áï ¤«ï ‘¯p¨â¥p , ‘¯¥ªâp㬥
|
||||
® ¯®¤â®p¬ ¦¨¢ ¥â.
|
||||
|
||||
SK> H® çâ® ¯à¨®¡à¥â¥â ॠ«ì騪 ªã¯¨¢è¨© ‘¯à¨â¥à? Šãçã ®¢ëå
|
||||
SK> ¢®§¬®¦®á⥩, ª®â®àë¥ ® ᬮ¦¥â ¨á¯®«ì§®¢ âì «¨è ªã¯¨¢ ¢
|
||||
SK> ¤®¡ ¢®ª PC?
|
||||
|
||||
H¥â, ® ¯®«ãç¨â ᮢp¥¬¥ë© ‘¯¥ªâp㬠ᮢ¬¥áâ¨¬ë© ª®¬¯ìîâ¥p. …᫨ á«¥¤®¢ âì
|
||||
⢮¥© «®£¨ª¥, â® ¤«ï ⮣® çâ®¡ë ¢®á¯®«ì§®¢ âìáï ¢®§¬®¦®áâﬨ ‘¯¥ªâp㬠⮦¥
|
||||
㦮 PC ¯®ªã¯ âì. ‚¥¤ì ¯p¨ ¯¨á ¨¨ ‘¯¥ªâp㬮¢áª®£® á®äâ ⮦¥ ç áâ®
|
||||
¨á¯®«ì§ã¥âìáï PC.
|
||||
|
||||
SK> ‡ 祬 ¬¥, ª ª ॠ«ì騪ã, íâ® ¤®?
|
||||
|
||||
„ ¢ © âë ª ª ¨¡ã¤ì á ¬ ®¯p¥¤¥«¨èìáï, ok?
|
||||
|
||||
SK>>> € ï ¨ ¥ ¬ãç îáì. Ÿ ¤«ï ¯à®á¬®âà 䨫쬮¢ î§ î ⥫¥ª +
|
||||
SK>>> H ¨¢ë£®¤¥©è ï ª®ä¨£ãà æ¨ï ¯® á®®â®è¥¨î æ¥ /ª ç¥á⢮.
|
||||
DP>> Šáâ ⨠íâ® ¢¥áì¬ p §ã¬®. Ÿ ¢®â ¯®¤ windows ¯p®£p ¬¬ª¨
|
||||
DP>> ¯¨èã PC, ¥ Sprintere.
|
||||
SK> € ª ª ç áâ® âë î§ ¥è PC ¯à¨ ¯¨á ¨¨ á®äâ ¯®¤ ‘¯à¨â¥à?
|
||||
|
||||
‘¥©ç á ®ç¥ì ç áâ®, ¨á室¨ª¨ ¥¬¥pﮣ® ®¡ê¥¬ , ¯p®áâ® ¡ëáâp¥¥ ª®¬¯¨«¨âáï,
|
||||
p ìè¥ ï ¢®®¡é¥ PC ¥ ¨á¯®«ì§®¢ «. 2D-Studio, CD-Player, Flex Navigator, Dos
|
||||
Commander ¨ ¬®£®¥ ¤p㣮¥ ¤¥« «®áì ⮫쪮 ‘¯p¨â¥p¥.
|
||||
|
||||
‘ 㢠¦¥¨¥¬, Denis.
|
||||
|
||||
... ˆ§ á ç¥â¢¥àëå ¢ í⮩ 娡 ॠ⮫쪮 ®¤¨ ˆá £ ठ¨ ¡ë« 祫®¢¥ª®¬.
|
||||
---
|
||||
* Origin: PETERS PLUS LTD (2:5030/529.48)
|
||||
@@ -0,0 +1,28 @@
|
||||
*** Area: ZX.SPECTRUM Date: 3 Jul 03 21:54:28
|
||||
*** From: Ivan Mak (2:5030/529.24)
|
||||
*** To : Kirill Frolov
|
||||
*** Subj: � §«¨çë¥ ¯p®¥ªâë ¤«ï ZX
|
||||
|
||||
�ਢ¥âáâ¢ãî ‚ á, Kirill!
|
||||
|
||||
<Friday June 27 2003> <23:26> Kirill Frolov wr®te to Ivan Mak:
|
||||
|
||||
KF> �à®é¥ £®¢®àï -- ¯à¨æ¨¯¨ «ìëå à §«¨ç¨© ¥â. � §¬¥à ‡“ ¥
|
||||
KF> ¯à¨æ¨¯¨ «ì®¥ à §«¨ç¨¥.
|
||||
|
||||
€ p §¬¥p �‹Œ?
|
||||
|
||||
‘奬 ¢ 3 p § ¡®«ìè¥ ¬®¦¥â ¡ëâì. ‚ 97-¬, ¯p¨¬¥p, AY p ¡®â « ⮫쪮 ¢ p¥¦¨¬¥
|
||||
‘¯¥ªâp㬠, ¢ 2000-¬ ® p ¡®â ¥â ¢ «î¡®¬ p¥¦¨¬¥, ¢ 97-¬ ¯p®áâ® ¥ ¡ë«®
|
||||
Kempston-Mouse, ¢ 2000-¬ ® ¥áâì. ‚ 97-¬ ¢ë室 §¢ãª ¡ë« ⮫쪮 8 ¡¨â, ¢
|
||||
2000-¬ - ® 16 ¡¨â... ¨ âí¤í ¨ âí¯í...
|
||||
|
||||
|
||||
|
||||
�à®â®áë á¡¥¦ «¨. ‡¥à£¨ § ª®¯ «¨áì. �®à ¨ ¬¥ § ªà㣫ïâìáï. Ivan.
|
||||
|
||||
- � §¢®¤¨áì á奬ª , ¡®«ìè ¨ ¬ «¥ìª ... [Sprinter] Sprinter-II [Forth-CPU]
|
||||
|
||||
... ivan_mak@mail.ru * http://winglion.spb.ru * http://www.petersplus.ru
|
||||
--- GoldED+/386 1.0.0
|
||||
* Origin: The Sprinter has You! (2:5030/529.24)
|
||||
@@ -0,0 +1,56 @@
|
||||
*** Area: ZX.SPECTRUM Date: 8 Jul 03 17:00:54
|
||||
*** From: Kirill Frolov (2:5030/827.2)
|
||||
*** To : Vladimir Karpenko
|
||||
*** Subj: � §«¨çë¥ ¯p®¥ªâë ¤«ï ZX
|
||||
|
||||
H¥¬¥¤«¥® ¦¬¨ RESET, Vladimir Karpenko!
|
||||
|
||||
On Mon, 07 Jul 03 22:24:51 +0400, Vladimir Karpenko wrote:
|
||||
|
||||
VA>> ‘®¬¥¢ îáì... ˆ ç¥ ¡ë á¯p¨â¥p¥ 㦥 ¤ ¢® ¡ë«¨ ¡ë â®ë
|
||||
VA>> ¯®pâ¨p®¢ ®£® á î¨å®¢ ᮢâ ... :-))
|
||||
VK> € 䨣:) Hã ¢®â ¡ã¥â ⥡¥ ¤¥áïâì p娢 â®p®¢ ¨ âp¨¤æ âì p¥¤ ªâ®p®¢?
|
||||
|
||||
€ ᥩç á á¯à¨â¥à¥ ¨ ®¤®£® ®à¬ «ì®£® । ªâ®à (vim ¯à¨¬¥à) ¥â.
|
||||
ˆ 10 _à §_ à娢 â®à®¢ ¢¬¥áâ¥ á ®¤¨¬ ®à¬ «ìë© à娢 â®à®¬ 㦠â®ç® ¥
|
||||
¯®¬¥è îâ. ˆ ¥éñ ¬®£¨¥ âëáïç¨ ¯à®£à ¬¬... ‘¯à¨â¥à ᥩç á ¯à¨£®¤¥ ¤«ï
|
||||
§ ¯ã᪠ᯥªâà㬮¢áª¨å ¨£àã襪 ¨ ¤«ï § ¯ã᪠¯ àë ¤¥áï⪮¢ ¯à ªâ¨ç¥áª¨
|
||||
¡¥á¯®«¥§ëå á¯à¨â¥à®¢áª¨å ¯à®£à ¬¬. ‘® á¯à¨â¥à ¤ ¦¥ ¥ 㤠«®áì-¡ë
|
||||
¯¨á âì ¢ íâã íåã ¡¥§ ᯥªâà㬮¢áª®© Lara Croft.
|
||||
|
||||
VK> € ¤ «ìè¥ çâ®? H¥â ª®æ¥¯â㠫쮣® ª®«ìæ (á) ⮢. H¥¬®!
|
||||
|
||||
“ H¥¬® ⮦¥ ¨ç¥£® ¥â.
|
||||
|
||||
--- [ZX]
|
||||
* Origin: ¯æ ¬ë áâ ¢¨¬ ªà¥áâ, speccy ¯®ª®«¥ì¥ next! (2:5030/827.2)
|
||||
|
||||
*** Area: ZX.SPECTRUM Date: 9 Jul 03 23:24:44
|
||||
*** From: Vladimir Karpenko (2:5020/826.855)
|
||||
*** To : Kirill Frolov
|
||||
*** Subj: � §«¨çë¥ ¯p®¥ªâë ¤«ï ZX
|
||||
|
||||
Hello Kirill
|
||||
|
||||
VA>>> ‘®¬¥¢ îáì... ˆ ç¥ ¡ë á¯p¨â¥p¥ 㦥 ¤ ¢® ¡ë«¨ ¡ë â®ë
|
||||
VA>>> ¯®pâ¨p®¢ ®£® á î¨å®¢ ᮢâ ... :-))
|
||||
VK>> € 䨣:) Hã ¢®â ¡ã¥â ⥡¥ ¤¥áïâì p娢 â®p®¢ ¨ âp¨¤æ âì p¥¤ ªâ®p®¢?
|
||||
|
||||
KF> € ᥩç á á¯p¨â¥p¥ ¨ ®¤®£® ®p¬ «ì®£® p¥¤ ªâ®p (vim ¯p¨¬¥p)
|
||||
KF> ¥â.
|
||||
’ë, ¡«¨, ¯pאַ áâ®p¤ ¬ãá! �¥¤ ªâ®p ᥩç á ª ª p § ¯¨èãâáï MacBuser^xtm.
|
||||
•®âï ï ¤«ï p¥¤ ªâ¨p®¢ ¨ï ᢮¨å ¨á室¨ª®¢ ¯®«ì§ãîáì â ᬮ¬(á¯p¨â¥p®¢áª¨©)! €
|
||||
¤«ï ¢á直å p¥ ¤¬¨ €æ-…¤¨â®¬!
|
||||
KF> ˆ 10 _p §_ p娢 â®p®¢ ¢¬¥áâ¥ á ®¤¨¬ ®p¬ «ìë© p娢 â®p®¬ ã¦
|
||||
KF> â®ç® ¥ ¯®¬¥è îâ. ˆ ¥éñ ¬®£¨¥ âëáïç¨ ¯p®£p ¬¬... ‘¯p¨â¥p ᥩç á
|
||||
KF> ¯p¨£®¤¥ ¤«ï § ¯ã᪠ᯥªâp㬮¢áª¨å ¨£pã襪 ¨ ¤«ï § ¯ã᪠¯ pë ¤¥áï⪮¢
|
||||
KF> ¯p ªâ¨ç¥áª¨ ¡¥á¯®«¥§ëå á¯p¨â¥p®¢áª¨å ¯p®£p ¬¬. ‘® á¯p¨â¥p ¤ ¦¥ ¥
|
||||
KF> 㤠«®áì-¡ë ¯¨á âì ¢ íâã íåã ¡¥§ ᯥªâp㬮¢áª®© Lara Croft.
|
||||
|
||||
Œ®¦® á ��‘ª¨:) “ á¯p¨â¥p ¥áâì â¥p¬¨ «ª ! �« ª Š â!
|
||||
|
||||
[ZX][Sprinter registered developer][rw1p2][NedoPC]
|
||||
Bye
|
||||
--- FIPS/2001 <build 01.10.07>
|
||||
* Origin: Žè¨¡ª áâ ®¢¨âáï ®è¨¡ª®©, ª®£¤ p®¦¤ ¥âáï ª ª ¨áâ¨
|
||||
(2:5020/826.855)
|
||||
@@ -0,0 +1,34 @@
|
||||
*** Area: ZX.SPECTRUM Date: 10 Jan 03 12:22:31
|
||||
*** From: Ivan Mak (2:5030/529.24)
|
||||
*** To : Vitaly Pashchenko
|
||||
*** Subj: NEW SPECCY
|
||||
|
||||
�ਢ¥âáâ¢ãî ‚ á, Vitaly!
|
||||
|
||||
<Wednesday January 08 2003> <13:29> Vitaly Pashchenko wr®te to Ivan Mak:
|
||||
|
||||
IM>> 0) SPRINTER (ª®âp®««¥p 2xIDE ¡®pây + ¯®¤¤¥p¦ª HDD ¢ BIOS-¥)
|
||||
Œ’>>> 1) SCORPION + ¢¥è¨© ª®âp®««¥p SMUC
|
||||
MT>>> 2) KAY + ¢¥è¨© ¥¬®¢áª¨© ª®âp®««¥p HDD
|
||||
MT>>> 3) �®ç⨠«î¡®© ¤py£®© ª«® + ¢¥è¨© ¥¬®¢áª¨© ª®âp®««¥p HDD
|
||||
MT>>> (®âáî¤ ¢ë¢®¤ - ¨áª âì/ᮡp âì íâ®â ª®âp®««¥p ®â¤¥«ì®. ‘奬 y
|
||||
MT>>> ¬¥ï ¨¬¥¥âáï) 4) PROFI - ¢p®¤¥ ¡ë ¢áâp®¥ë© ª®âp®««¥p HDD (
|
||||
MT>>> ¢â®p®© ¯« â¥) 5) ATM-turbo 2(TURBO 2+) - ¢áâp®¥ë© ª®âp®««¥p
|
||||
MT>>> ¬ ¬ª¥.
|
||||
|
||||
VP> Hy ¨ £¤¥ ¬¥ ¢áî íây ªp á®ây ¤®áâ âì???
|
||||
|
||||
Ÿ ®â¢¥ç î ⮫쪮 § Sprinter - ¥£® ¬®¦® ¯p¨®¡p¥á⨠¢ ä¨p¬¥ "�¥â¥pá �«îá".
|
||||
‚ ⮬ ç¨á«¥ ¨ ¯® ¯®çâ¥.
|
||||
|
||||
‘¢ï§ âìáï á ª®¬¬¥pç¥áª¨¬ ®â¤¥«®¬ ¬®¦® ¯® e-mail: sprinter@petersplus.ru
|
||||
|
||||
|
||||
|
||||
�à®â®áë á¡¥¦ «¨. ‡¥à£¨ § ª®¯ «¨áì. �®à ¨ ¬¥ § ªà㣫ïâìáï. Ivan.
|
||||
|
||||
- � §¢®¤¨áì á奬ª , ¡®«ìè ¨ ¬ «¥ìª ... [Sprinter] Sprinter-II [Forth-CPU]
|
||||
|
||||
... ivan_mak@mail.ru * http://winglion.spb.ru * http://www.petersplus.ru
|
||||
--- GoldED+/386 1.0.0
|
||||
* Origin: The Sprinter has You! (2:5030/529.24)
|
||||
@@ -0,0 +1,147 @@
|
||||
*** Area: ZX.SPECTRUM Date: 18 Jan 03 15:29:25
|
||||
*** From: Ivan Mak (2:5030/529.24)
|
||||
*** To : Nick Sevryukov
|
||||
*** Subj: Sprinter
|
||||
|
||||
�ਢ¥âáâ¢ãî ‚ á, Nick!
|
||||
|
||||
<Friday January 17 2003> <17:48> Nick Sevryukov wr®te to All:
|
||||
|
||||
NS> H த, ª ª ¢ë ®â®á¨â¥áì ª í⮩ ¬ 訥.
|
||||
|
||||
Žç¥ì ¤ ¦¥ å®p®è® ®â®á¨¬áï!
|
||||
„ ¦¥ ®ç¥ì «î¡¨¬ (¨ ®á®¡¥® á¨«ì® ¢ ¤¨... ¢ ®á®¡¥ë¥ ¤¨ :-))
|
||||
|
||||
NS> Ÿ á« §¨« ¤ ¦¥ ¨å á ©â(�¥â¥àá �«îá), ®ç¥ì ®âà ¤®, çâ® ¯®¤®¡ë¥
|
||||
NS> ¢¥é¨ ¥é¥ ¤¥« îâ! Œ¥ ¯®à ¢¨« áì àå¨â¥ªâãà í⮣® ª®¬¯
|
||||
NS> (¢¥«¨ª®«¥¯®, çâ® ¢®§¬®¦® ç áâ¨ç®¥ ¨§¬¥¥¨¥ àå¨â¥ªâãàë ¯ã⥬
|
||||
NS> ¯¥à¥¯à®£à ¬¬¨à®¢ ¨ï �‹ˆ‘€ ¯à¨ § £à㧪¥ ¬ è¨ë).
|
||||
|
||||
"— áâ¨ç®¥" - íâ® ¬ï£ª® ᪠§ ®. ‘ p㦨 ®â �‹ˆ‘€ ¢ ‘¯p¨â¥p¥ ⮫쪮 ¯p®æ,
|
||||
¯ ¬ïâì ¨ ¯®pâë. ‚ᥠ®á⠫쮥 ¢ãâp¨, â ª çâ® på¨â¥ªâãpã ¯®ç⨠¯®«®áâìî
|
||||
¬®¦® ¯®¬¥ïâì.
|
||||
|
||||
NS> ‚®®¡é¥¬ ¢á¥ ªàãâ®!
|
||||
|
||||
�â á ¬®¥ ¯p ¢¨«ì®¥ § ¬¥ç ¨¥! :-)
|
||||
|
||||
NS> ®¤® ®. “ ¬¥ï á«®¦¨«®áì ¢¯¥ç â«¥¨¥, çâ® íâ® å ढ à®\á®äâë©
|
||||
NS> ª®¬¯«¥ªá í¬ã«ï樨 ‘¯¥ªª¨ :).
|
||||
|
||||
‘ª ¦¥¬ â ª, íâ ç áâì ‘¯p¨â¥p ®ç¥ì ¤ ¦¥ ¥ ¯«®å® 㤠« áì.
|
||||
|
||||
NS> ‡ £à㦠¥¬áï ¢ ¨å ¤®á¥ (®ç¥ì ¯® ¨â¥à䥩áã Œ‘-„Ž‘ ¯®¬¨«®, ¤ ¨
|
||||
NS> ä®à¬ â ä ©«®¢, ¤ ¨ ¢¨â ä®à¬ â¨âáï ¯®¤ ä â16...), ¯®â®¬ § ¯ã᪠¥¬
|
||||
NS> spectrum.exe (íâ® ¦¥ ¯® áã⨠í¬ã«ì, ¥¤¨á⢥®¥ ¦¥«¥§®(¯à®æ) á®
|
||||
NS> ᯥªª¨ ®¤¨ ª®¢ë©(¯®çâ¨), ¯®í⮬ã í¬ã«ïæ¨ï ¥ 100% á®ä⢠à ï), ã
|
||||
NS> â ¬ 㦥 ¤ «ìè¥ ¦¨¢¥¬... ;) �à ¢¤ ¤® ª ¦¤ë© à § § ¯ã᪠âì
|
||||
NS> spectrum.exe, å®âï ¥áâì ¦¥ ä ©« autoexec.bat!
|
||||
|
||||
’ãâ ¤® ᪠§ âì, çâ® § ¯ã᪠âì ¬®¦® ¥ ⮫쪮 spectrum.exe, ® ¨ doom.trx, ¨
|
||||
video.trd, ¨ ¥é¥ ¥ ¬ «® ¤pã£¨å ¯p®£p ¬¬ (®á®¡¥® forth.exe :))
|
||||
|
||||
NS> ( ï ¥ ¯®¨¬ î, ¥á«¨ ¢ë¡¨à âì ®¯¥à 樮ªã, § 祬 ¦¥ á⮫쪮 á«¥¯®
|
||||
NS> á ¬á-¤®á ª®¯¨à®¢ âì?
|
||||
|
||||
€ ®® ¨ ¥ á«¥¯® ᪮¯¨p®¢ ®.
|
||||
|
||||
NS> íâ® ®¤ ¨§ á ¬ëå ¥ã¤ çëå Ž‘ - ¯®¯ë⪠à áè¨à¨âì ‘�\Œ, ¥ã¦¥«¨
|
||||
NS> ¥«ì§ï ¡ë«® çâ®-⮠ᮨ¤®¥ ¤¥« âì?)
|
||||
|
||||
Œ®¦®... ¡ë«®. ˆ ¥ ⮫쪮 ¡ë«®. „ ¦¥ ᥩç á ¬®¦®. (Kâ® ¡ë ¢§ï«áï, ë? :))
|
||||
|
||||
NS> „ , ¬®¦® ¢å®¤¨âì ¢ "०¨¬ ᯥªâà㬠" § ¯ã᪠ï TRD ä ©«ë, ª®â®àë¥ ã
|
||||
NS> ¢ á ¢¨â¥. (à §¢¥ ¥ í¬ã«ì? 100%!) H® íâ® ¥é¥ ¤ «¥ª® ¥ ¢á¥, ¥â
|
||||
NS> ¤ ¦¥ ᯥªâà㬮¢áª®© è¨ë!
|
||||
|
||||
Šáâ â¨, ¤ ¦¥ ¥áâì. �¥p¥å®¤¨çª®¢ ï â ª ï, á ISA ZX... ˆ ¤ ¦¥ á奬
|
||||
¯¥p¥å®¤¨ª ᢮¡®¤® ®â¤ ¥âáï (â ¬ 楫ëå ¤¢¥ ¬¨ªp®áå¥¬ë ¯® 2 pã¡. ¥á«¨ ¥ ¢pã)
|
||||
|
||||
|
||||
NS> (â.ª. § 祬 ® ¢ ¬?! ¢á¥ ç⮠㦮 ¥áâì 㦥 ¯« â¥, ¡®«ì襣® ¢ë
|
||||
NS> ¦¥« âì ¥ ¤®«¦ë) ® ¯à ¢¤ ᤥ« «¨ ¨á -8, ¤ ¨ ¯ ¬ïâì ¬®¦®
|
||||
NS> ᨬ¬-72(¤® 4Œ�) áâ ¢¨â ¨ ¢¨â ¯®¤ª«îç âì (à §¤¥«ë ¯® 2ƒ�)...
|
||||
|
||||
�... ¯ ¬ïâì 4mb - ¬¨¨¬ã¬! ˆ ¤® 64mb... ¬®¦® ¢®âªãâì...
|
||||
|
||||
NS> ¨ ¯®à⮢ ¥â ... å®âï ¢àã, ¥áâì ¤¢ ¯®á«¥¤®¢ ⥫ìëå ¯®àâ (® ¥
|
||||
NS> RS232 ¨ ª ¨¬ ¯®¤ª«îç¥ë ª« ¢ ¨ ¬ëèª , ¯®í⮬ã çâ® ®¨ ¥áâì, çâ® ¨å
|
||||
NS> ¥â...),
|
||||
|
||||
‘ ¬ë© £« ¢ë© ᯥªâp㬮¢áª¨© ¯®pâ - ¥áâì! �â® TAPE p §ã¬¥¥âáï! :)
|
||||
|
||||
NS> ¨ ¢ ¯à¨¨æ¯¥ ¥áâì ¯ à ««¥«ìë© ¯®àâ(® ® ¥¬ ï á ©â¥
|
||||
NS> ¨ç¥£® ¥ 襫, ªà®¬¥ ⮣®, çâ® ª ¨¬ã ¬®¦® ¯®ª«îç âì ¯à¨â¥à.
|
||||
NS> ª ª®©?)
|
||||
|
||||
MC6313, ¯p¨¬¥p. ˆ DJ600 ¯®¤ª«îç «áï...
|
||||
|
||||
NS> Hã ¥é¥ â ¬ ¢áâ஥ ¢¨¤îª á 256ª, ª®â®à ï ¯®¤ª«îç ¥âáï ª CGA
|
||||
NS> ¬®¨â®àã ¨«¨ ‘Š€�’ à §ê¥¬ã ’‚. ‡¢ãª®¢ ï á¨á⥬ ⮦¥ ®à¬ «ì ï - íâ®
|
||||
NS> ª®¢®ªá ¨ –€�(å®à®è¨©! 16¡¨âë©). …é¥ ¢¥á¥«®, ®¡à 饨¥ ª ¢¨âã, ¨§
|
||||
NS> ᯥªª¨ ¢®§¬®¦® ¨§ ’�-„Ž‘€ ¨ ‚ ᨪ , â.ª. ª®¬ ¤ë ’�-„Ž‘ à áè¨à¥ë
|
||||
NS> ¤«ï à ¡®âë á ¢¨â®¬. �®¤à®¡¥¥ áâà ¨çª¥ www.petersplus.ru ¬®¦®
|
||||
NS> ¯®ç¨â âì.
|
||||
|
||||
¯p® ¢¨¤îªã ¤® ¤®¡ ¢¨âì, çâ® 256 梥⮢ ¨§ 16¬« ã ¥£®!
|
||||
€ ¯p® §¢ãª, â ¬ ¥ ¯p®áâ® ª®¢®ªá, ª ¥¬ã ¥é¥ ¡ãä¥p á ¯¥p¥ª«îç ¥¬®© ç áâ®â®©,
|
||||
ª®â®pë© ¯®§¢®«ï¥â ¨£p âì ¬ã§ëªã ¨ ¯ p ««¥«ì® ¥é¥ çâ®-â® ¤¥« âì.
|
||||
€ ªp®¬¥ ª®¢®ªá ¥é¥ ¨ AY-8910 ¢ãâp¨ �‹ˆ‘- (¤«ï ZX-Spectrum-a)...
|
||||
|
||||
NS> Ÿ ¯®¨¬ î â ª , çâ® íâ® ¥ ᯥªâàã¬, á ¬®áâ®ï⥫ì ï ¬ è¨ á®
|
||||
NS> ᢮¥© àå¨â¥ªâãன ¨ "०¨¬®¬ ᮢ¬¥á⨬®á⨠ᮠᯥªâà㬮¬".
|
||||
|
||||
„ , £« ¢®¥ á«®¢® _ᮠ᢮¥©_.
|
||||
|
||||
NS> ’ ª ¢®â, ¥ ¯à®é¥ ¡ë«® ᤥ« âì â ª. ‘¯à¨â¥à ¡¥§ ¬®¨â®à á⮨â 170$,
|
||||
NS> § í⨠¦¥ ¤¥ì£¨ ¬®¦® ¢§ïâì á«¥¤ãî騩 ª®¬¯: ¯¥â200ŒŒ•(¨ ¤ ¦¥ ¡®«¥¥
|
||||
NS> ⮣® ª6-2-300\400), ®¯¥à ⨢ª¨ 128Œ�, ¢¨¤îå 2Œ�, ä«®¯, ¢¨â £¨£®¢ 6
|
||||
NS> ¨ ¬®¨â®à ‘‚ƒ€ 14".
|
||||
|
||||
‰®! Ÿ ¥ ï! �â® ¦¥ PC ¯®«ãç¨âáï, ¥ Sprinter! 8:-( )
|
||||
|
||||
�®ª ¦¨â¥ ¬¥ ¢ PC ¬¨ªp®á奬ã, ¢ ª®â®pãî ¬®¦® _᢮© ¯p®æ¥áá®p_ ¢áâ ¢¨âì?
|
||||
|
||||
NS> H ¯®¤®¡®© ¬ 訥 ¯à¥ªà á® ¨¤ãâ ¬®£¨¥ í¬ã«¨,
|
||||
NS> ¯¨á âì ®¢ë¥ ஬ë (ç⮡ë à áè¨à¨âì ¢®§¬®¦®áâ¨), ¥á«¨ ¤®
|
||||
NS> ¯¨á âì ¨ ®¢ë© í¬ã«ì, ¢ ª®â®à®¬ ¡ã¤ãâ è¨à¥ ¯®¤¤¥à¦¨¢ âìáï ¯®¤®¡ ï
|
||||
NS> àå¨â¥ªâãà , ¤ ¨ ã á¯à¨â¥à ⮦¥ ¥áâì í¬ã«ïâ®à ¯®¤ å86.
|
||||
|
||||
…áâì í¬ã«ïâ®p ‘¯p¨â¥p x86, ⮫쪮 ¥¬ã ¯®ª ¥é¥ pãçªã ®â £¨p¨ ¯¨«¨âì
|
||||
¨ ¯¨«¨âì, ¯®â®¬ ¥é¥ ¨ á ¬ã £¨pî ¯¨«¨âì ¯p¨¤¥âáï... Œ®¦¥â ¨ p ᯨ«¨âáï
|
||||
¯ï⨣¨£ £¥p殢®© ®¦®¢ª®©...
|
||||
|
||||
|
||||
NS> �ਠí⮬ ¤ ¦¥ è¨ ®áâ ¥âáï â ª®©¦¥!!! â.ª. ¢ á¯à¨â¥à¥ ¨á ¨ â.¯.
|
||||
NS> �ਠí⮬ ¢á¥¬, ã ¯®¤®¡®© àå¨â¥ªâãàë ®£à®¬ë¥ ¯à¨¥¬ãé¥á⢠, â.¥.
|
||||
NS> â ª®© ¬ 訥 ¢ ¯à¨æ¨¯¥ ¬®¦® ᢮¡®¤® í¬ã«¨âì ¯à®æë ¡¥§ â®à¬®§®¢
|
||||
NS> £¤¥-â® ¤® 50Œƒæ, ã ®¤ ä«íâ ¬®¤¥«ì 祣® á⮨â....
|
||||
|
||||
€ ª ª áç¥â í¬ã«¥¨ï ªá¥«¥p â®p , çâ® ¢ãâp¨ �‹Œ ᨤ¨â?
|
||||
ˆ ª ª áç¥â í¬ã«¥¨ï ¢á¥© á奬ë �‹Œ?
|
||||
|
||||
�¥p¥§ £p㧪 áå¥¬ë ¢ ‘¯p¨â¥p¥ ¢®§¬®¦ ¥ ⮫쪮 ¯p¨ ¢ª«î票¨,
|
||||
® ¨ _¢ «î¡®© ¬®¬¥â p ¡®âë_ ¯p®£p ¬¬ë!
|
||||
0.5 ᥪã¤ë ¨ på¨â¥ªâãp ¬ è¨ë ¯®«®áâìî ¨§¬¥¨« áì!
|
||||
|
||||
|
||||
NS> ‡›† ¯®á«¥¤®ª ᪠¦ã, çâ® ¨¤¥î, ª®â®àãî ᤥ« «¨ ¯¨â¥àá ¯«îá, ï ¡ë
|
||||
NS> ®à£ ¨§®¢ « ®â¤¥«ì®© ¯« ⥠(¨á \¯á¨) ¨ ¢ëè«® ¡ë ¤¥è¥¢«¥ ¨
|
||||
NS> ¢®§¬®¦®á⥩ ¡ë«® ¡ë ¡®«ìè¥. ’.¥. å®à®è® ¡ë ¨¬¥âì å ढ àãî ¯« âã, á®
|
||||
NS> ᯥªª¨, ª®â®àãî ï ¡ë ¯®áâ ¢¨« ¢ �¨‘îª ¨ ¯®«ã稫 ¡ë ᯥªâàã¬, ª®â®àë©
|
||||
NS> ¨¬¥« ¡ë ⥯¥àì ®âªàëâãî àå¨â¥ªâãàã. ˆâ¥à¥á®, ¯®¤®¡ãî ¨¤¥î £¨¡à¨¤
|
||||
NS> ªâ®-¨¡ã¤ì ¯ëâ «áï ¤¥« âì?!
|
||||
|
||||
�ëâ «¨áì. ’®«ìª® ¢á¥ ¯®¯ë⪨ â ª ¯®¯ë⪠¬¨ ¨ ®áâ «¨áì. ‚ á¥p¨î ¨ç¥£® ¥ ãè«®.
|
||||
"„¥è¥¢«¥ ‘¯p¨â¥p " - í⮠⮫쪮 ª ¦¥âáï. € ¢ p¥ «ì®á⨠®ª §ë¢ ¥âáï ¤¥è¥¢«¥
|
||||
¯p®æ¥â®¢ 20, ¬®¦¥â, § áç¥â "ª®æ ¨ï 墮á⮢ á奬ë", â ª çâ® á¬ëá« ¢ ⮬
|
||||
¨ ¥â.
|
||||
|
||||
|
||||
�à®â®áë á¡¥¦ «¨. ‡¥à£¨ § ª®¯ «¨áì. �®à ¨ ¬¥ § ªà㣫ïâìáï. Ivan.
|
||||
|
||||
- � §¢®¤¨áì á奬ª , ¡®«ìè ¨ ¬ «¥ìª ... [Sprinter] Sprinter-II [Forth-CPU]
|
||||
|
||||
... ivan_mak@mail.ru * http://winglion.spb.ru * http://www.petersplus.ru
|
||||
--- GoldED+/386 1.0.0
|
||||
* Origin: The Sprinter has You! (2:5030/529.24)
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user