/* * [/nfs/mediocris/home/mid/dspc/sim/TODO.txt Fri Jul 9 12:08:15 UTC 1999] * * Your average TODO list... in the form of a big C comment... * * (Copied from a random OfficeMax-brand Canary notepad I found laying around) * * * * * Paged DM/PM accesses -- DM done, PM not started * * * Stacks... * * PC Stack -- Should be working fine although support for the * TOPPCSTACK attrocity has yet to commence (pg 3-26/27) * * Stat{e,us} Stack -- Should be good (sorry about the naming confusion) * * Loop/Counter Stacks -- Not yet. * * * Zero-overhead looping (ie, DO UNTIL) -- not started (I need to play * with this a bit before I * implement...looks to be * a rather confusing feature) * * * Indirect Jumps/Calls -- this is a one-liner. It just needs to be done * * * ALU conditions (ASTAT) should be done, although since few of the * ALU operations really work, many of them * are hardwired as false right now, some work, * and the rest work but maybe not correctly. * * * The ALU operations.... also need to start storing things in * Real 2181 formats (twos complement, etc) * * * Idle(n) instruction isn't implemented the Right Way. * * * A whole load of other instructions (I can't think of ANY multifunctions * that are even started, also many * registers dont have pointers, as * well as the MR and other oddball * spaces, along with autoincrement * writes and related ops) * * * BDMA -- transfers with BTYPE of 0x02 or 0x03 are not supported * * * Soft Reboot may not be perfect -- I'm not real clear on what should * get reset and what shouldn't, even * though theres that table on pg 9-10. * * * SPORTx's -- We should have some sort of external stream source here. * Or at least make it look like we do. As Dan has pointed * out, Real Time connection to external devices is impossible * (not just barely impossible, but impossible to the point * of unimaginable and heathenist). We need to be able to at * least emulate the tick coming from the codec. * * * IO() space -- Not real sure what we need here. * * * Timer -- We probably don't need this at all. But it might be amusing * to implement anyway. * * * * So it basically comes down to this...(ADI's ADSP-2100 Family User's Manual) * * Chapter 2 -- Computational Units -- Not even close. * Chapter 3 -- Program Control -- Everything done but DO UNTIL * Chapter 4 -- Data Transfer -- Basics done, need the details * Chapter 5 -- Serial Ports -- Havent even looked at it * Chapter 6 -- Timer -- Same * Chapter 7 -- Host Interface Port -- Not applicable (eg, no way) * Chapter 8 -- Analog Interface -- Don't have a 21msp58/59 * Chapter 9 -- System Interface -- Mostly non-applicable (what is * applicable should be done) * Chapter 10 -- Memory Interface -- Need PM Paging, etc * Chapter 11 -- DMA -- BDMA should be done (except above limitations) * IDMA is not applicable, thank gode. * * And the rest of them are useless chapters. Except the half-complete, * partially incorrect Appendix A (Instruction Coding). App B (Division * Exceptions) will be important for when I finally do the ALU ops correctly. * App C (Numeric Formats) is stuff I should've been doing all along, but * forgot about. Appendix D is just an interrupt vector table. App E * is yet another half-assed attempt at a half-complete register table. * (Probably the most technically correct thing in this manual is what * comes after App E...the Index. Though I've never used it to find out.) * */