Szerző Téma: TVC hasznos kis programok  (Megtekintve 6171 alkalommal)

0 Felhasználó és 1 vendég van a témában

Atka72

  • Full Member
  • ***
  • Hozzászólások: 110
  • Karma: +3/-0
    • Profil megtekintése
    • Atkalabor
TVC hasznos kis programok
« Dátum: 2013. December 5. - 19:19:37 »
Felmerült a kérdés hogy lehet programból resetelni a gépet, így:

VaszicsApoca

  • Full Member
  • ***
  • Hozzászólások: 125
  • Karma: +5/-0
    • Profil megtekintése
Re:TVC hasznos kis programok
« Válasz #1 Dátum: 2013. December 5. - 20:03:37 »
Jól működik a WinTVC emuban is 1.2-es BASIC alatt!

Atka72

  • Full Member
  • ***
  • Hozzászólások: 110
  • Karma: +3/-0
    • Profil megtekintése
    • Atkalabor
Re:TVC hasznos kis programok
« Válasz #2 Dátum: 2013. December 5. - 20:32:55 »
Muszáj neki, ez a ROM beépített inicializáló rutinja. Viszont 2.2-es Basic -el már nem jó. Máshol vannak a belépési pontok, de arról nincs sok infóm. Vagyis 64k+ os géphez át kell írni.

VaszicsApoca

  • Full Member
  • ***
  • Hozzászólások: 125
  • Karma: +5/-0
    • Profil megtekintése
Re:TVC hasznos kis programok
« Válasz #3 Dátum: 2013. December 6. - 11:13:46 »
Valakinek nincs meg a Basic 2.2-es ROM visszafejtése, mert a Basic ROM könyv az 1.2-es változat.

Atka72

  • Full Member
  • ***
  • Hozzászólások: 110
  • Karma: +3/-0
    • Profil megtekintése
    • Atkalabor
Re:TVC hasznos kis programok
« Válasz #4 Dátum: 2013. December 6. - 12:37:38 »
Lefordítottam a ROM-okat. Persze kommentelve lenne jó, de így is segíthet.

RetroHW

  • Administrator
  • Jr. Member
  • *****
  • Hozzászólások: 76
  • Karma: +1/-0
    • Profil megtekintése
    • RetroHW
Re:TVC hasznos kis programok
« Válasz #5 Dátum: 2013. December 8. - 12:44:16 »
Minden ROM egy ugrással indul. Elugrik az inicializáló rutinra. Ha tudjuk hova ugrik, megvan a trükk.
1.2-es BASIC esetében 0229H címre ugrik, ami az offsetcímünk lesz. A SYS a BASIC alatt a LAP3-on van(0C000H a kezdőcím). Tehát az inicializáló rutinunk a 0C229H címen van ami decimálisan 49705.
Kikukáztam az egyes ROM-ok elejéről a címeket:

ROM      Offs      Decimális cím

1.2      229H      49705
2.1      21CH      49692
2.2      21CH      49692

Értelemszerűen a 32K-s és a cirill verzió az 1.2-es BASIC-et tartalmazza, így azok címe megegyezik az 1.2-vel.

Assemblyben annyi dolgunk van, hogy belapozzuk LAP3-ra a SYS-t és elugrunk ugyanezekre a címekre. A COLD_FLAG-től(0B22H,2850) függ, hogy hideg reset hajtódik-e végre. Ha 0FFH van benne, akkor hideg reset, egyébként meleg reset következik be.



Konfiguráció: TVC 64K Basic 1.2, SAA1099P, soros interfész, soros egér, +128K NVSRAM RTC-vel.

Atka72

  • Full Member
  • ***
  • Hozzászólások: 110
  • Karma: +3/-0
    • Profil megtekintése
    • Atkalabor
Re:TVC hasznos kis programok
« Válasz #6 Dátum: 2013. December 8. - 12:54:11 »
Ez igen, kipróbáltam működik!

VaszicsApoca

  • Full Member
  • ***
  • Hozzászólások: 125
  • Karma: +5/-0
    • Profil megtekintése
Re:TVC hasznos kis programok
« Válasz #7 Dátum: 2015. November 12. - 10:51:45 »
A múlt hónapban próbáltam ki először, kár hogy nem 30 évvel korábban - nagyon rövid grafikus eljárás Turbo Pascalban TVC-DOS alatt  az emulátorban működik, a "vason" még nem próbáltam, mert nincs összerakva. Igen rövid idő alatt, evvel sikerült tömörített (RLE) PCX, MAC, PIC (Psion3) fekete-fehér képeket megjeleníteni, de megy a BMP és BSV  és TVC-s Pictures-el készített nem tömörített kép is.
Szösszenet:

var
       screen : array[0..239,0..63] of byte absolute $8000;

procedure kep(sor,oszlop:integer;adat:byte);
begin
  inline($F3/$3E/$90/$D3/$02);{video-be DI/LD A,$90/OUT (2),A }
  screen[sor,oszlop]:=adat;
  inline($3E/$B0/$D3/$02/$FB);{video-ki LD A,$B0/OUT (2),A/EI }
end;

Röviden és tömören műxik...
További szép napot!