Ngncalc2x development manual

Source: Internet
Author: User
Http://www.ngnc.net/NGNcalc2x/development_handbook.htm

Ngncalc2x development manual

Ngnc

The development mode of is an open project organization mode. The project organization and development mode is linked by clear, transparent, and relatively independent functions/interfaces between modules, the formal start of the project and the stage of the project are not clearly defined. By establishing a self-improvement and update mechanism, the project development and project R & D are integrated into one whole, with each Development Unit (one module and one sub-system) both tests and feedback mechanisms are required. The entire project is immersed in the dynamic balance of feedback. The ngnc scripting language serves as a standard interface for lubrication. The uncertain development cycle is a concept of ngnc development, because the development plan can only be subjective, there is no theoretical basis for implementation, not to mention the vague boundaries between R & D and development;

Ngncalc2x

The original development intention is to demonstrate the ngnc development mode with the sample of the Hello world class. The development boundary lies in the GUI engine, script logic and parameters. The dependency between the two parts is clearly visible; so far, the development process is the transformation from R & D to development;

  1. First, abstract

Core Data Structure and register structure of calc2;

  • Then, compile the calculator operation logic and the script logic according to the operation logic;
  • The display logic is separated and
  • Ngnc's pseudo-function mechanism (function declaration without function bodies, like a box in the flowchart) Simplifies the development depth;

  • Interrupted
  • 1: To cooperate with the debugging of the calculator logic, the display logic is provided in the simplest form of plug-in to facilitate logic debugging. At this time, ngnide has not been developed yet, debugging is implemented through "debugging code" insertion, which can be seen from the ngncalc2 script source code;

  • Ngnide
  • During the development process, because the ngnc virtual machine of the dosconsole cannot be debugged in the GUI system, the simconsl module is specially compiled to simulate the dosconsole in Gui mode, while the simulation of the dosconsole is easy, it is also because the display logic of the calculator is clearly separated. The integrated display logic includes only a few simple functions for the input;

  • Simconsole
  • Display logic, because the display logic should be standardized in the engine part, so its development is completely a VC environment, and it follows the system design specifications, top-down mode, simconsl is abstracted. videomemory abstraction and keyinputbuffer abstraction all absorb BIOS ideas;

  • Core display usage
  • The wm_paint display loop of GUI re-draws videomemory to implement the Display engine;

  • Videomemory
  • The current status of the layer is very simple. It is only a 80x25 character matrix. In the future, you can add a display attribute layer for the character matrix to obtain rich display information;

  • Gui wmpaint
  • Display loop. In the future, OpenGL/d3d can be used for management. A new video layer can be added to provide corresponding display information;

  • With the new changes in the display engine system, the number of functions of the display control interface is also increased, and the requirements for scripts are also increased, such as the increase in parameters of the control effect;
  • The expansion of the function logic of the calculator is another direction. You can design a powerful calculator by using scripts and data abstraction without ignoring the engine. For example: formula editing capability;
  • Based on
  • Development of universal GUI graphics engine: extracting ngncalc2x GUI graphics engine can provide development for future applications with similar interfaces, and accumulating the description of common windows, developed into a beautywindow system to make the window vivid;

  • OpenGL/d3d
  • Is another rich engine system worthy of development;

  • The calculator logic itself has been accumulated, and can become a classic after being enriched to powerful enough; the script logic of other applications can also be accumulated;
  • Interested in joining

    Ngncalc2x development friends contact us, ngncalc2x@ngnc.net

    Here is

    The ngncalc2x design document serves as the project start point for your reference. Please refer to the descriptions in this article to describe whether you want to participate in that work, or all work, or specific modules or even tests. We suggest you welcome them. Currently, the website only provides demo, more development documents involved in the project can be shared within the project team. After the project team is fully established, stop the announcement and report the progress of the project to you at any time.

     

    Contact Us

    The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

    If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.