Szoftver > TVC Programozás
TVC hasznos kis programok
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ó
[*] Előző oldal
Teljes verzió megtekintése