Giter Club home page Giter Club logo

fppa-pdk-documentation's Issues

Document programming protocol

It would be good to have documentation for the programming protocol, so alternatives to the somewhat expensive Programmer by Padauk (which is currently supported only by non-free Windows software) can be made.

How to update the wiki?

How does this wiki work?
I made changes in the repository (fixed a typo, added a device) recently. What do I have to do to make this change show up in the wiki? Is there some automatic synchronization at all? Are the files that I changed in the repository just redundant duplicates of the real wiki elsewhere?

Document 15-bit (or 13-bit) instruction set

I have been in contact with Padauk. They stated that they have 3 instruction sets (14 bit, 15 bit, 16 bit). So there is a 15-bit instruction set to be documented, too.

Philipp

Document system "using" (reserved) area

The Padauk µC have a "system using" (stated like that in the manual) i.e. reserved area at the end of the program memory. depending on the type it is 8 to 32 words.
The Chinese IDE manual has some information on the 8-word variant (apparently it contains a checksum, a rolling code, oscillator calibration data and "code option"s (whatever they are).

But it would be good to have exact documentation for all devices.

Philipp

P.S.: The file Last8W.html contained in the IDE documentation has some information on the 8-Word variant. too. Depending on support for the ltabl/ltabh instructions, the rolling code is either 16 bit per entry or 8 bit per entry (with each byte encoded in a ret b instruction, so each byte can be read by a call into the rolling code. The code option is apparently a 5-valued voltage vs. speed choice and a three-valued "security" setting.

stt16 and ldt16 need to be swapped

The documentation is wrong for those two.

stt16 - M ← Timer16 (last bit of M set to 0, M must be word aligned)
ldt16 - Timer16 ← M (last bit of M set to 1, M must be word aligned)

stt16 stores the word to memory, while ldt16 saves the value of the timer to the word in memory. Not sure if the last bit part of the description is correct or not. Can someone check please?

Document 16-bit instruction set

It would be good to also have documentation for the older 16-bit instruction set used by the 8-core devices. Again it would also be good to have a instruction support vs. device table, too, since AFAIK, some instruction, such as mul and pushw are not supported in all devices.

ldsptl, ldspth (and ldtabh, ldtabl)

I noticed your post http://www.eevblog.com/forum/blog/eevblog-1144-padauk-programmer-reverse-engineering/msg1970672/#msg1970672

And the one feature IMO missing the most from the Padauk devices is an efficient way to access the stack. Could ldsptl and ldspth be stack load instructions? If yes, they would be a useful feature for implementing C. By far not as useful as having an sp-relative addressing mode, but still useful. Since there are no arguments, I would assume they transfer a byte between stack and accumulator.

It would make sense to have two (one for the lower byte of the word on the stack, one for the upper byte of the word on the stack): The stack pointer is meant to be increment / decremented by multiples of 2 only (I don't know why, but that is what the datasheets say, even though they insist that the stack pointer is a full 8 bits wide).

Philipp

P.S.: The ldtabh and ldtabl you mentioned in the same post are actually a documented instruction in the 16-bit instruction set. They can be found e.g. in the MCS11, PMC884 and PMC251 datasheets.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.