Оберон-клуб «ВЄДАsoft»
https://zx.oberon.org/forum/

Страницы 128 Кб и загрузка с дискеты TR-DOS
https://zx.oberon.org/forum/viewtopic.php?f=10&t=468
Страница 1 из 1

Автор:  Zorko [ 25 авг 2019, 19:22 ]
Заголовок сообщения:  Страницы 128 Кб и загрузка с дискеты TR-DOS

Реализован модуль Mem128 для поддержки страниц памяти 128 Кб и загрузки блоков кода с ленты и дискеты.

Код: "OBERON"
  1. DEFINITION Mem128;
  2.  
  3. CONST
  4. OK = 0;
  5. ErrTapeLoading = 1;
  6. ErrLoadingHeader = 2;
  7. ErrNameNotMatch = 3;
  8. ErrBreakPressed = 4;
  9.  
  10. VAR
  11. filesize-: SHORTINT;
  12.  
  13. PROCEDURE IsTRDOS (): BOOLEAN;
  14. PROCEDURE LoadDisk (filename: ARRAY OF SHORTCHAR; adr: INTEGER): BOOLEAN;
  15. PROCEDURE LoadTape (filename: ARRAY OF SHORTCHAR; adr: INTEGER): BYTE;
  16. PROCEDURE Page (n: BYTE);
  17.  
  18. END Mem128.

Пример работы со страницами:
Код: "OBERON"
  1. MODULE TestMem128; (*$MAIN*)
  2. IMPORT b := Basic, m := Mem128;
  3.  
  4. BEGIN
  5. b.Init;
  6. m.Page(0); b.POKE(65535, 111);
  7. m.Page(1); b.POKE(65535, 123);
  8. m.Page(2); b.POKE(65535, 132);
  9. m.Page(0); b.PRSTR("0 "); b.PRINT(b.PEEK(65535)); b.PRLN;
  10. m.Page(1); b.PRSTR("1 "); b.PRINT(b.PEEK(65535)); b.PRLN;
  11. m.Page(2); b.PRSTR("2 "); b.PRINT(b.PEEK(65535)); b.PRLN;
  12. b.Quit
  13. END TestMem128;
Изображение

Пример загрузки блока кода:

Изображение

Вложения:
TestMem128.tap [7.38 КБ]
Скачиваний: 568
TestMem128.trd [11.5 КБ]
Скачиваний: 588

Страница 1 из 1 Часовой пояс: UTC + 2 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/