A non-transitory recording medium storing a computer readable program used in a computer provided in an image forming apparatus comprising:
- a first memory for temporarily storing therein image data of a predetermined number of colors output to an image forming unit for forming an image per predetermined color;
- a data processing processor for reading the image data of each color from the first memory;
- a second memory for temporarily storing therein the image data of each color read from the first memory;
- and a main processor for causing the data processing processor to sequentially read the image data of each color from the first memory and output it to the second memory,
- wherein the data processing processor comprises a plurality of data transfer units provided corresponding to each color for reading the image data from the first memory and transferring it to the second memory, a transfer control unit for controlling and monitoring a processing of transferring the image data by the data transfer units, and a table, which is referred to when the data transfer units transfer one page of image data, for setting therein a start address and a size of one page of image data of each color in the first memory,
- the program for causing the computer to perform the procedures of:
- setting a start address and a size of one page of the image data of each color in the first memory in the table in the data processing processor, and then instructing the transfer control unit in the data processing processor to activate the data transfer units;
- when receiving the instruction to activate the data transfer units from the main processor, dividing a size of one page of image data of one color of the predetermined number of colors depending on information on a size of the one page of image data to be transferred and/or the number of the data transfer units with reference to the table, and setting a start address and a size of each item of divided image data of the one page of image data of one color of the predetermined number of colors in each of the data transfer units;
- reading corresponding image data from the image data of one color of the predetermined number of colors in the first memory and outputting it to the second memory on the basis of the start address and the size of each item of divided image data of the one page of image data of one color of the predetermined number of colors;
- and
- after the data transfer units finish transferring the one page of image data of one color, subsequently controlling the data transfer units for dividing a start address and a size of one page of image data of a next color of the predetermined number of colors and transferring the image data, and when one page of image data of all of the predetermined number of colors is completely transferred, notifying the transfer completion of the one page of image data of all the colors to the main processor.