Как ZX организует электронный диск?
Как распределяется память?
Как ZX организует электронный диск?
Как распределяется память?
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
http://www.worldofspectrum.org/ZXSpe.../sp128p09.html - использование из Бейсик-128
http://www.fruitcake.plus.com/Sincla...um128_ROM0.zip - дизасемблер ROM-0 (Бейсик-128) с комментариями (англ.)
В файле с исходным кодом ПЗУ-0 масса информации по теме. Словосочетание для поиска: RAM disk
Вот, например, оттуда:
Код:; ----------------- ; Logical RAM Banks ; ----------------- ; Throughout ROM 0, memory banks are accessed using a logical numbering scheme, which ; maps to physical RAM banks as follows: ; ; Logical Bank Physical Bank ; ------------ ------------- ; $00 $01 ; $01 $03 ; $02 $04 ; $03 $06 ; $04 $07 ; $05 $00 ; ; This scheme makes the RAM disk code simpler than having to deal directly with physical RAM bank numbers.Код:; ------------------ ; RAM Disk Catalogue ; ------------------ ; The catalogue can occupy addresses $C000-$EBFF in physical RAM bank 7, starting at $EBFF and growing downwards. ; ; Each entry contains 20 bytes: ; Bytes $00-$09: Filename. ; Bytes $0A-$0C: Start address of file in RAM disk area. ; Bytes $0D-$0F: Length of file in RAM disk area. ; Bytes $10-$12: End address of file in RAM disk area (used as current position indicator when loading/saving). ; Byte $13 : Flags: ; Bit 0 : 1=Entry requires updating. ; Bits 1-7: Not used (always hold 0). ; ; The catalogue can store up to 562 entries, and hence the RAM disk can never hold more than 562 files no matter ; how small the files themselves are. Note that filenames are case sensitive. ; ; The shadow screen (SCREEN 1) also resides in physical RAM bank 7 and so if more than 217 catalogue ; entries are created then SCREEN 1 will become corrupted [Credit: Toni Baker, ZX Computing Monthly]. ; However, since screen 1 cannot be used from BASIC, it may have been a design decision to allow the ; RAM disk to overwrite it. ; ; The actual files are stored in physical RAM banks 1, 3, 4 and 6 (logical banks 0, 1, 2, 3), ; starting from $C000 in physical RAM bank 1 and growing upwards. ; ; A file consists of a 9 byte header followed by the data for the file. The header bytes ; have the following meaning: ; Byte $00 : File type - $00=Program, $01=Numeric array, $02=Character array, $03=Code/Screen$. ; Bytes $01-$02: Length of program/code block/screen$/array ($1B00 for screen$). ; Bytes $03-$04: Start of code block/screen$ ($4000 for screen$). ; Bytes $05-$06: Offset to the variables (i.e. length of program) if a program. For an array, $05 holds the variable name. ; Bytes $07-$08: Auto-run line number for a program ($80 in high byte if no auto-run).
если я правильно понимаю, RAM диск (M: ) есть только в +3 и его дальнейшем упрощении +2a
который активно зафукивается в соседней ветке про ZYX-бут
Нет, в Sp128 есть электронный диск, синтаксис по ссылкам выше.
Скрытый текст
Profi 5.06 1024K 12Mhz (кварц на 24), палитра, COM-порт, часы, hdd, covox, программатор
ZX-Spectrum +3, ZX-Spectrum +2B, ZX-Spectrum +2, ZX Spectrum 48, ZX Spectrum 48+
ZX Evolution Rev B.
Color 48 + Beta Disk Interface +FDD+YM2149F
Орель-08БК
Pentagon-48 (недоссобранный кем-то)
Pentagon-128 (полуубитый)
Кворум-128 (в ремонте)
Магик-05 (в ремонте)
Robotron 1715
Корвет ПК8020 и ПК8010
Amstrad CPC 464
Amstrad CPC 6128[свернуть]
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)