--- uae/docs/README.PROGRAMMERS 2018/04/24 16:39:46 1.1.1.3 +++ uae/docs/README.PROGRAMMERS 2018/04/24 16:49:52 1.1.1.8 @@ -13,8 +13,6 @@ A few guidelines for anyone who wants to can save me some work here (and make my mailbox smaller). Some possible projects, in order of estimated difficulty: -- Someone running *BSD on a x86 might want to try using X86.S on such a - system. It's likely that only configure needs to be modified. - Add gamma correction - If the serial port still isn't working (I've got no idea, I don't use it), fix it. @@ -43,7 +41,8 @@ Some possible projects, in order of esti implement ECS resolutions - however, a lot of places rely on the OCS timing parameters and display sizes. - Figure out a diskfile format that supports every possible non-standard - format. + format [I'll work on this soon (I hope)]. +- Port bsdsocket library code to other operating systems than Win32. - Implement 68551 MMU. I have docs now. Not among the most necessary things. Should be done like exception 3 handling: add code to genamode in gencpu.c. - Implement AGA support. Some bits and pieces exist. @@ -85,6 +84,12 @@ od-*/ operating system dependent fil td-*/ thread library dependent files, linked to threaddep by configure sd-*/ Sound code. sd-* is only for sound systems which are not OS specific or for which no "od-*" directory exists. Linked to sounddep +scg-*/ SCSI code. + This is the same code as in the cdrecord libscg, so this will become + obsolete as soon as the libscg is released seperately. In the meantime, + UAE will be distributed together with the code itself, because it + also requires patching: not every libscg implementation is thread-safe + in the current cdrecord version. targets/ Contains header files which contain some information about which options a specific port of UAE understands. @@ -102,12 +107,14 @@ guidelines. This applies to _all_ OS/CPU/compiler specific details. Basically, nothing of that sort should appear in src/*.c (we're a bit away from that goal at the moment, but it's getting better). +* Repeat after me: #ifdefs are evil (most of the time). * Make sure your code does not make assumption about type sizes other than the minimum widths allowed by C. If you need specific type sizes, use the uae_u32 type and its friends. * Set up your editor so that tab characters round up to the next position where ((cursorx-1) % 8) == 0, i.e. 8 space tabs. Do not use 4 space tabs, that makes the code awful to read on other machines and worse to edit. + (I'm talking about the tab character here, not indentation!) * Lines can be up to 132 characters wide. Use SVGATextMode for the Linux console, or use a windowing system in a high resolution. * C++ comments are a no-no in C code. @@ -293,6 +300,9 @@ F0FF40: startup_handler(), handles only F0FF50: used by the EXTER interrupt which we set up for the filesystem. F0FF60: used by the uaectrl/uae-control programs (see uaelib.c) F0FF70: used by the task that gets set up for the mouse emulation. +F0FF80: getchipmemsize() +F0FF90: uaeexe +F0FFA0: timehack * How the compiler works