Szoftver > TVC Programozás

TVC hasznos kis programok

<< < (2/2)

RetroHW:
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.



Atka72:
Ez igen, kipróbáltam működik!

VaszicsApoca:
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!

Navigáció

[0] Üzenetek főoldala

[*] Előző oldal

Teljes verzió megtekintése