100REM ROMInfo 200REM Print information on paged ROMs from table held in RAM 300REM Uses OSB 170 to get location of table and OSW5 for Tube compatibility 400REM (C) Ian Wolstenholme 2024 500REM Version 1.0 6/v/2024 600REM God save The King! 700REM Done on Station 201 800REM Get location of ROM Info table 900DIM romtype$(12),osb 4,osblock 8,rominfo 16 1000FORB%=0TO12:READromtype$(B%):NEXT 1100A%=170:X%=0:Y%=255 1200!osb=USR&FFF4 1300romtable=256*osb?2+osb?1 1400PRINT"ROM Information Table is at &";~romtable;":" 1500FORB%=15TO0STEP-1 1600rominfo?B%=FNosw5(romtable+B%) 1700PRINT"ROM ";:IFB%<10 PRINT"0"; 1800PRINT;B%;TAB(7);"&";:IFrominfo?B%<16 PRINT"0"; 1900PRINT;~rominfo?B%;" "; 2000IFrominfo?B%=0 PRINTTAB(18)"Empty":NEXT:END 2100IFrominfo?B% AND 2^7 PRINT"S"; 2200IFrominfo?B% AND 2^6 PRINT"L"; 2300IFrominfo?B% AND 2^5 PRINT"C"; 2400romtype=rominfo?B% AND (2^0+2^1+2^2+2^3) 2500PRINTTAB(18);:IFromtype>12 PRINT"Unknown"ELSEPRINTromtype$(romtype) 2600NEXT 2700END 2800DATA0000 6502 BASIC,0001 Reserved,0010 6502 non-BASIC,0011 6800 2900DATAUnused,Unused,Unused,Unused 3000DATA1000 Z80,1001 32016,1010 Reserved,1011 80186,1100 80286,1101 Reserved 3100DEFFNosw5(iolocation) 3200A%=5 3300X%=osblock 3400Y%=X% DIV256 3500!osblock=&FFFF0000+iolocation 3600CALL&FFF1 3700=osblock?4