MCPcopy Create free account
hub / github.com/BlitterStudio/amiberry / show_exec_lists

Function show_exec_lists

src/debug.cpp:5852–6180  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

5850}
5851
5852static void show_exec_lists (TCHAR *t)
5853{
5854 uaecptr execbase = get_long_debug (4);
5855 uaecptr list = 0, node;
5856 TCHAR c = t[0];
5857
5858 if (c == 'o' || c == 'O') { // doslist
5859 uaecptr dosbase = get_base ("dos.library", 378);
5860 if (dosbase) {
5861 uaecptr rootnode = get_long_debug (dosbase + 34);
5862 uaecptr dosinfo = get_long_debug (rootnode + 24) << 2;
5863 console_out_f (_T("ROOTNODE: %08x DOSINFO: %08x\n"), rootnode, dosinfo);
5864 uaecptr doslist = get_long_debug (dosinfo + 4) << 2;
5865 while (doslist) {
5866 int type = get_long_debug (doslist + 4);
5867 uaecptr msgport = get_long_debug (doslist + 8);
5868 uaecptr lock = get_long_debug(doslist + 12);
5869 TCHAR *name = getfrombstr(get_long_debug(doslist + 40));
5870 console_out_f(_T("%08x: Type=%d Port=%08x Lock=%08x '%s'\n"), doslist, type, msgport, lock, name);
5871 if (type == 0) {
5872 uaecptr fssm = get_long_debug(doslist + 28) << 2;
5873 console_out_f (_T(" - H=%08x Stack=%5d Pri=%2d Start=%08x Seg=%08x GV=%08x\n"),
5874 get_long_debug (doslist + 16) << 2, get_long_debug (doslist + 20),
5875 get_long_debug (doslist + 24), fssm,
5876 get_long_debug (doslist + 32) << 2, get_long_debug (doslist + 36));
5877 if (fssm >= 0x100 && (fssm & 3) == 0) {
5878 TCHAR *unitname = getfrombstr(get_long_debug(fssm + 4));
5879 console_out_f (_T(" %s:%d %08x\n"), unitname, get_long_debug(fssm), get_long_debug(fssm + 8));
5880 uaecptr de = get_long_debug(fssm + 8) << 2;
5881 if (de) {
5882 int size = get_long_debug(de + 0);
5883 console_out_f (_T(" TableSize %u\n"), size);
5884 console_out_f (_T(" SizeBlock %u\n"), get_long_debug(de + 4));
5885 console_out_f (_T(" SecOrg %u\n"), get_long_debug(de + 8));
5886 console_out_f (_T(" Surfaces %u\n"), get_long_debug(de + 12));
5887 console_out_f (_T(" SectorPerBlock %u\n"), get_long_debug(de + 16));
5888 console_out_f (_T(" BlocksPerTrack %u\n"), get_long_debug(de + 20));
5889 console_out_f (_T(" Reserved %u\n"), get_long_debug(de + 24));
5890 console_out_f (_T(" PreAlloc %u\n"), get_long_debug(de + 28));
5891 console_out_f (_T(" Interleave %u\n"), get_long_debug(de + 32));
5892 console_out_f (_T(" LowCyl %u\n"), get_long_debug(de + 36));
5893 console_out_f (_T(" HighCyl %u (Total %u)\n"), get_long_debug(de + 40), get_long_debug(de + 40) - get_long_debug(de + 36) + 1);
5894 console_out_f (_T(" NumBuffers %u\n"), get_long_debug(de + 44));
5895 console_out_f (_T(" BufMemType 0x%08x\n"), get_long_debug(de + 48));
5896 console_out_f (_T(" MaxTransfer 0x%08x\n"), get_long_debug(de + 52));
5897 console_out_f (_T(" Mask 0x%08x\n"), get_long_debug(de + 56));
5898 console_out_f (_T(" BootPri %d\n"), get_long_debug(de + 60));
5899 console_out_f (_T(" DosType 0x%08x\n"), get_long_debug(de + 64));
5900 if (size >= 17) {
5901 console_out_f (_T(" Baud 0x%08x\n"), get_long_debug(de + 68));
5902 if (size >= 18) {
5903 console_out_f (_T(" Control 0x%08x\n"), get_long_debug(de + 72));
5904 if (size >= 19) {
5905 console_out_f (_T(" BootBlocks 0x%08x\n"), get_long_debug(de + 76));
5906 }
5907 }
5908 }
5909 }

Callers 1

debug_lineFunction · 0.85

Calls 12

getfrombstrFunction · 0.85
get_real_address_debugFunction · 0.85
auFunction · 0.85
get_longFunction · 0.85
get_byteFunction · 0.85
copyromdataFunction · 0.85
get_long_debugFunction · 0.70
get_baseFunction · 0.70
get_byte_debugFunction · 0.70
get_word_debugFunction · 0.70
my_trimFunction · 0.70
console_out_fFunction · 0.50

Tested by

no test coverage detected