home *** CD-ROM | disk | FTP | other *** search
/ Amiga MA Magazine 1998 #6 / amigamamagazinepolishissue1998.iso / coders / chunky2planar / pllbc2p / source / pllb_c2plibrary.s next >
Text File  |  1980-01-05  |  171KB  |  12,035 lines

  1.  
  2. ;    -    -    -    -    -    -    -    -    -
  3.  
  4. ;               >> PLLB-C2P V1.05 <<
  5.  
  6. ;              Written By Kevin Picone
  7.  
  8. ;            (c) Copyright 1996 Kevin Picone of Underware Design.
  9.  
  10. ;                          All Rights Reserved
  11.  
  12. ;    -    -    -    -    -    -    -    -    -
  13.  
  14. ;      PLEASE NOTE: The code hits the HARDWARE while using the Blitter
  15.  
  16. ;    -    -    -    -    -    -    -    -    -
  17.  
  18. ;          This Source Cotains the Following MAIN Routines
  19.  
  20.  
  21. ;        * Pllb_Alloc_fast_buffers
  22.  
  23. ;        * Pllb_DeAlloc_fast_buffers
  24.  
  25. ;        * Pllb_C2p_Wait_blt
  26.  
  27. ;        * Pllb_C2p_Process_Frame_Buffer
  28.  
  29. ;        * Pllb_c2p_Init_BlitterResort_Table
  30.  
  31. ;        * Pllb_C2p_blitter_resort_frame
  32.  
  33. ;        * Pllb_C2p_init_precalc_tables
  34.  
  35. ;        * Pllb_C2p_Routine_alignment_system
  36.  
  37.  
  38. ;    -    -    -    -    -    -    -    -    -
  39.  
  40.  
  41. PllbVersion macro
  42.     dc.b "V1.05 (2-5-1996)"
  43.     endM
  44.  
  45.         rsreset
  46.  
  47. Pllb_C2P_Tag512k        rs.l 1
  48. Pllb_C2P_Tag1024k        rs.l 1
  49. Pllb_C2P_Tag1536k        rs.l 1
  50. Pllb_C2P_Tag2048k        rs.l 1
  51.  
  52.         rsreset
  53.  
  54. Pllb_c2p_ColourDepth4Bit    rs.l 1        ; set to 16 colours
  55. Pllb_c2p_ColourDepth6Bit    rs.l 1        ; set to 64 colours
  56. Pllb_c2p_ColourDepth8Bit    rs.l 1        ; set to 256 colours
  57.  
  58.         rsreset
  59.  
  60. Pllb_C2p_PIxelWidth1        rs.b 1
  61. Pllb_C2p_PIxelWidth2        rs.b 1
  62. Pllb_C2p_PIxelWidth4        rs.b 1
  63.  
  64.         rsreset
  65.  
  66. Pllb_C2p_Type_Normal            rs.b 1
  67. Pllb_C2p_Type_Delta            rs.b 1
  68. Pllb_C2p_Type_Nullskip            rs.b 1
  69. Pllb_C2p_Type_DeltaNullskip        rs.b 1
  70.  
  71. Pllb_C2p_Type_Size            rs.b 1
  72.  
  73.  
  74.         rsreset
  75.  
  76. Pllb_C2p_Not_Active        rs.b 1
  77. Pllb_C2p_Active            rs.b 1
  78.  
  79.  
  80.  
  81. ;    -    -    -    -    -    -    -    -    -
  82.  
  83.  
  84. Pllb_C2p_DeltaNullSkip_buffer_pointer:    dc.l 0
  85.  
  86. Pllb_C2p_FastBuffer_PointerA:    dc.l 0        ; pointer to precalc buf A
  87. Pllb_C2p_FastBuffer_PointerB:    dc.l 0        
  88. Pllb_C2p_FastBuffer_PointerC:    dc.l 0
  89. Pllb_C2p_FastBuffer_PointerD:    dc.l 0
  90.  
  91.  
  92. Pllb_C2p_Enabled_Flag:        dc.w Pllb_c2p_Not_Active
  93.  
  94. PllB_C2p_FastRam_BUfferSize:    dc.w 0
  95.  
  96. Pllb_C2p_ColourDepth:        dc.w Pllb_c2p_ColourDepth8bit
  97.  
  98. Pllb_C2p_PixelWidth:        dc.w pllb_c2p_pixelwidth1
  99.  
  100. Pllb_C2p_Conversion_Type:    dc.w pllb_c2p_type_Normal
  101.  
  102.  
  103.  
  104.  
  105. ;    -    -    -    -    -    -    -    -    -
  106.  
  107.  
  108. ;             >> Allocate Fast Ram Buffers <<
  109.  
  110. ;   This routine will attempt to allocate as many 512k buffers as possible
  111. ;   with a MAX of 4.
  112.  
  113. ;  Inputs:  NONE
  114.  
  115. ;  Returns: Sets 'Pllb_C2p_Active_Flag' upon either success or failure
  116.  
  117. ;    -    -    -    -    -    -    -    -    -
  118.  
  119.  
  120.  
  121. Pllb_Alloc_fast_buffers:
  122.  
  123.     move.w #Pllb_c2p_Not_Active,Pllb_C2p_Enabled_Flag
  124.  
  125.     lea.l Pllb_C2p_FastBuffer_PointerA(pc),a5
  126.  
  127.     move.l #0,d6        ; numb of blocks allocated
  128.  
  129.     moveq.l #4-1,d7
  130.  
  131. Pllb_Alloc_fast_buffers_lp:
  132.  
  133.     move.l $4.w,a6        
  134.     move.l #(1024*512),d0        ; buffer size
  135.     move.l #$4,d1            ; Memory type (FAST!)
  136.     jsr -198(a6)            ; err Alloc Mem ;)
  137.             
  138.     tst.l d0
  139.     beq.b Pllb_Alloc_fast_buffers_Skip
  140.  
  141.         move.l d0,(a5)+
  142.  
  143.         addq.l #4,d6        ; add another 512k bank
  144.  
  145. Pllb_Alloc_fast_buffers_Skip:
  146.  
  147.     dbf d7,Pllb_Alloc_fast_buffers_lp
  148.  
  149.     tst.w d6
  150.     beq.b Pllb_Alloc_fast_buffers_Failed
  151.  
  152.         subq.l #4,d6
  153.  
  154.         move.w d6,PllB_C2p_FastRam_BUfferSize
  155.  
  156.         move.w #Pllb_c2p_Active,Pllb_C2p_Enabled_Flag
  157.  
  158. Pllb_Alloc_fast_buffers_Failed:
  159.  
  160.  
  161.     rts
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171. ;    -    -    -    -    -    -    -    -    -
  172.  
  173. ;            >> De Allocate PLLB fast Ram buffers <<
  174.  
  175. ;    -    -    -    -    -    -    -    -    -
  176.  
  177.  
  178. Pllb_DeAlloc_fast_buffers:
  179.  
  180.     lea.l Pllb_C2p_FastBuffer_PointerA(pc),a5
  181.  
  182.     moveq.l #4-1,d7
  183.  
  184. Pllb_DeAlloc_fast_buffers_lp:
  185.  
  186.     move.l (a5)+,d0
  187.     beq.b Pllb_DeAlloc_fast_buffers_CONT
  188.  
  189.     move.l $4.w,a6        
  190.     move.l d0,a1
  191.     move.l #(1024*512),d0        ; buffer size
  192.     jsr -210(a6)            ; De-Alloc Mem ;)
  193.  
  194. Pllb_DeAlloc_fast_buffers_CONT:
  195.  
  196.     dbf d7,Pllb_DeAlloc_fast_buffers_lp
  197.  
  198.  
  199.     rts
  200.  
  201.  
  202.  
  203. ;    -    -    -    -    -    -    -    -    -
  204.  
  205. ;                 >> Wait Blitter <<
  206.  
  207. ;    -    -    -    -    -    -    -    -    -
  208.  
  209.  
  210. Pllb_C2p_Wait_blt:
  211.      btst #14,$dff002
  212.      bne.b Pllb_C2p_Wait_blt
  213.     rts
  214.  
  215.  
  216.  
  217.  
  218.  
  219.  
  220. ;    -    -    -    -    -    -    -    -    -
  221.  
  222. ;            >> Pllb-C2P Frame Buffer <<
  223.  
  224. ;    -    -    -    -    -    -    -    -    -
  225.  
  226.  
  227. Pllb_C2p_Process_Frame_Buffer:
  228.  
  229.         tst.w Pllb_C2p_Enabled_Flag
  230.         beq.b Pllb_C2p_process_frame_buffer_done
  231.  
  232.         moveq.l #0,d0
  233.         lea.l Pllb_C2P_ColourDepthTables(pc),a0
  234.         move.w Pllb_C2p_ColourDepth(pc),d0
  235.         move.l (a0,d0.w),a0    
  236.  
  237.         move.w Pllb_C2p_Conversion_Type(pc),d0
  238.         lsl.w #4,d0            
  239.         add.l d0,a0
  240.  
  241.         move.w Pllb_C2p_PixelWidth(pc),d0
  242.  
  243.         mulu #16*Pllb_C2p_Type_Size,d0
  244.         add.l d0,a0
  245.  
  246.         move.w PllB_C2p_FastRam_BUfferSize(pc),d0
  247.         add.l d0,a0
  248.  
  249.         move.l (a0),a0
  250.         jsr (a0)
  251.     
  252.         ; Wait for Blitter, then call the *FIRST* shift bitplane
  253.         ; process, ** REMEMBER ** you'll have to do the rest !!!  ;) 
  254.         
  255.         bsr Pllb_c2p_wait_blt
  256.  
  257.         move.w #1,Pllb_C2p_blit_flag
  258.         bra Pllb_C2p_blitter_resort_frame2
  259.  
  260. Pllb_C2p_process_frame_buffer_done:
  261.  
  262.         rts
  263.  
  264.  
  265.  
  266. Pllb_C2P_ColourDepthTables:
  267.  
  268.         dc.l  Pllb_c2p_4bit_routines
  269.         dc.l  Pllb_c2p_6bit_routines
  270.         dc.l  Pllb_c2p_8bit_routines
  271.  
  272.  
  273.  
  274. Pllb_c2p_8bit_routines:
  275.  
  276.         ; 8bit pixelwidth1
  277.  
  278.     
  279.         dc.l Pllb_C2p_8bit_512k_1by1
  280.         dc.l Pllb_C2p_8bit_1Meg_1by1
  281.         dc.l Pllb_C2p_8bit_1_5meg_1by1
  282.         dc.l Pllb_C2p_8bit_2meg_1by1
  283.  
  284.         dc.l Pllb_C2p_Delta_8bit_512k_1by1
  285.         dc.l Pllb_C2p_Delta_8bit_1meg_1by1
  286.         dc.l Pllb_C2p_Delta_8bit_1_5meg_1by1
  287.         dc.l Pllb_C2p_Delta_8bit_2meg_1by1
  288.  
  289.         dc.l Pllb_C2p_NullSkip_8bit_512k_1by1
  290.         dc.l Pllb_C2p_NullSkip_8bit_1meg_1by1
  291.         dc.l Pllb_C2p_NullSkip_8bit_1_5meg_1by1
  292.         dc.l Pllb_C2p_NullSkip_8bit_2meg_1by1
  293.  
  294.  
  295.         dc.l Pllb_C2p_DeltaNullSkip_8bit_512k_1by1
  296.         dc.l Pllb_C2p_DeltaNullSkip_8bit_1meg_1by1
  297.         dc.l Pllb_C2p_DeltaNullSkip_8bit_1_5meg_1by1
  298.         dc.l Pllb_C2p_DeltaNullSkip_8bit_1_5meg_1by1
  299.  
  300.     
  301.  
  302.         ; 8bit pixelwidth2
  303.  
  304.  
  305.         dc.l Pllb_C2p_8bit_512k_2by1
  306.         dc.l Pllb_C2p_8bit_1Meg_2by1
  307.         dc.l Pllb_C2p_8bit_1Meg_2by1    
  308.         dc.l Pllb_C2p_8bit_1Meg_2by1
  309.  
  310.         dc.l Pllb_C2p_DELTA_8bit_512k_2by1
  311.         dc.l Pllb_C2p_DELTA_8bit_1Meg_2by1
  312.         dc.l Pllb_C2p_DELTA_8bit_1Meg_2by1
  313.         dc.l Pllb_C2p_DELTA_8bit_1Meg_2by1
  314.  
  315.         dc.l Pllb_C2p_NUllSkip_8bit_512k_2by1
  316.         dc.l Pllb_C2p_NUllSkip_8bit_1Meg_2by1
  317.         dc.l Pllb_C2p_NUllSkip_8bit_1Meg_2by1
  318.         dc.l Pllb_C2p_NUllSkip_8bit_1Meg_2by1
  319.  
  320.  
  321.         dc.l Pllb_C2p_DeltaNUllSkip_8bit_512k_2by1
  322.         dc.l Pllb_C2p_DeltaNullSkip_8bit_1Meg_2by1
  323.         dc.l Pllb_C2p_DeltaNullSkip_8bit_1Meg_2by1
  324.         dc.l Pllb_C2p_DeltaNullSkip_8bit_1Meg_2by1
  325.  
  326.  
  327.  
  328.         ; 8bit pixelwidth4
  329.  
  330.         dc.l Pllb_C2p_8bit_512k_4by1
  331.         dc.l Pllb_C2p_8bit_512k_4by1
  332.         dc.l Pllb_C2p_8bit_512k_4by1
  333.         dc.l Pllb_C2p_8bit_512k_4by1
  334.  
  335.         dc.l Pllb_C2p_DELTA_8bit_512k_4by1
  336.         dc.l Pllb_C2p_DELTA_8bit_512k_4by1
  337.         dc.l Pllb_C2p_DELTA_8bit_512k_4by1
  338.         dc.l Pllb_C2p_DELTA_8bit_512k_4by1
  339.  
  340.         dc.l Pllb_C2p_NULLSKIP_8bit_512k_4by1
  341.         dc.l Pllb_C2p_NULLSKIP_8bit_512k_4by1
  342.         dc.l Pllb_C2p_NULLSKIP_8bit_512k_4by1
  343.         dc.l Pllb_C2p_NULLSKIP_8bit_512k_4by1
  344.  
  345.         dc.l Pllb_C2p_DeltaNULLSKIP_8bit_512k_4by1
  346.         dc.l Pllb_C2p_DeltaNULLSKIP_8bit_512k_4by1
  347.         dc.l Pllb_C2p_DeltaNULLSKIP_8bit_512k_4by1
  348.         dc.l Pllb_C2p_DeltaNULLSKIP_8bit_512k_4by1
  349.  
  350.  
  351.  
  352.  
  353.  
  354. Pllb_c2p_6bit_routines:
  355.  
  356.         ; 6bit pixelwidth1
  357.         
  358.         dc.l Pllb_C2p_6bit_512k_1by1
  359.         dc.l Pllb_C2p_6bit_1Meg_1by1
  360.         dc.l Pllb_C2p_6bit_1_5meg_1by1
  361.         dc.l Pllb_C2p_6bit_2meg_1by1
  362.  
  363.         dc.l Pllb_C2p_Delta_6bit_512k_1by1
  364.         dc.l Pllb_C2p_Delta_6bit_1meg_1by1
  365.         dc.l Pllb_C2p_Delta_6bit_1_5meg_1by1
  366.         dc.l Pllb_C2p_Delta_6bit_2meg_1by1
  367.  
  368.         dc.l Pllb_C2p_NullSkip_6bit_512k_1by1
  369.         dc.l Pllb_C2p_NullSkip_6bit_1meg_1by1
  370.         dc.l Pllb_C2p_NullSkip_6bit_1_5meg_1by1
  371.         dc.l Pllb_C2p_NullSkip_6bit_2meg_1by1
  372.  
  373.  
  374.         dc.l Pllb_C2p_DeltaNullSkip_6bit_512k_1by1
  375.         dc.l Pllb_C2p_DeltaNullSkip_6bit_1Meg_1by1
  376.         dc.l Pllb_C2p_DeltaNullSkip_6bit_1_5Meg_1by1
  377.         dc.l Pllb_C2p_DeltaNullSkip_6bit_1_5Meg_1by1
  378.  
  379.  
  380.  
  381.         ; 6bit pixelwidth2
  382.  
  383.         dc.l Pllb_C2p_6bit_512k_2by1
  384.         dc.l Pllb_C2p_6bit_1Meg_2by1
  385.         dc.l Pllb_C2p_6bit_1Meg_2by1    
  386.         dc.l Pllb_C2p_6bit_1Meg_2by1
  387.  
  388.         dc.l Pllb_C2p_DELTA_6bit_512k_2by1
  389.         dc.l Pllb_C2p_DELTA_6bit_1Meg_2by1
  390.         dc.l Pllb_C2p_DELTA_6bit_1Meg_2by1
  391.         dc.l Pllb_C2p_DELTA_6bit_1Meg_2by1
  392.  
  393.         dc.l Pllb_C2p_NULLSKIP_6bit_512k_2by1
  394.         dc.l Pllb_C2p_NULLSKIP_6bit_1Meg_2by1
  395.         dc.l Pllb_C2p_NULLSKIP_6bit_1Meg_2by1
  396.         dc.l Pllb_C2p_NULLSKIP_6bit_1Meg_2by1
  397.  
  398.  
  399.         dc.l Pllb_C2p_DeltaNullSkip_6bit_512k_2by1
  400.         dc.l Pllb_C2p_DeltaNullSkip_6bit_1Meg_2by1
  401.         dc.l Pllb_C2p_DeltaNullSkip_6bit_1Meg_2by1
  402.         dc.l Pllb_C2p_DeltaNullSkip_6bit_1Meg_2by1
  403.  
  404.  
  405.  
  406.         ; 6bit pixelwidth4
  407.  
  408.         dc.l Pllb_C2p_6bit_512k_4by1
  409.         dc.l Pllb_C2p_6bit_512k_4by1
  410.         dc.l Pllb_C2p_6bit_512k_4by1
  411.         dc.l Pllb_C2p_6bit_512k_4by1
  412.  
  413.         dc.l Pllb_C2p_DELTA_6bit_512k_4by1
  414.         dc.l Pllb_C2p_DELTA_6bit_512k_4by1
  415.         dc.l Pllb_C2p_DELTA_6bit_512k_4by1
  416.         dc.l Pllb_C2p_DELTA_6bit_512k_4by1
  417.  
  418.         dc.l Pllb_C2p_NULLSKIP_6bit_512k_4by1
  419.         dc.l Pllb_C2p_NULLSKIP_6bit_512k_4by1
  420.         dc.l Pllb_C2p_NULLSKIP_6bit_512k_4by1
  421.         dc.l Pllb_C2p_NULLSKIP_6bit_512k_4by1
  422.  
  423.         dc.l Pllb_C2p_DeltaNullskip_6bit_512k_4by1
  424.         dc.l Pllb_C2p_DeltaNullskip_6bit_512k_4by1
  425.         dc.l Pllb_C2p_DeltaNullskip_6bit_512k_4by1
  426.         dc.l Pllb_C2p_DeltaNullskip_6bit_512k_4by1
  427.  
  428.  
  429.  
  430. Pllb_C2P_4bit_Routines:
  431.  
  432.         ; 4bit pixelwidth1
  433.         
  434.     
  435.         dc.l Pllb_C2p_4bit_512K_1by1
  436.         dc.l Pllb_C2p_4bit_512K_1by1
  437.         dc.l Pllb_C2p_4bit_512K_1by1
  438.         dc.l Pllb_C2p_4bit_512K_1by1
  439.     
  440.         dc.l Pllb_C2p_DELTA_4bit_512K_1by1
  441.         dc.l Pllb_C2p_DELTA_4bit_512K_1by1
  442.         dc.l Pllb_C2p_DELTA_4bit_512K_1by1
  443.         dc.l Pllb_C2p_DELTA_4bit_512K_1by1
  444.  
  445.         dc.l Pllb_C2p_NULLSKIP_4bit_512K_1by1
  446.         dc.l Pllb_C2p_NULLSKIP_4bit_512K_1by1
  447.         dc.l Pllb_C2p_NULLSKIP_4bit_512K_1by1
  448.         dc.l Pllb_C2p_NULLSKIP_4bit_512K_1by1
  449.  
  450.         dc.l Pllb_C2p_DeltaNullSkip_4bit_512K_1by1
  451.         dc.l Pllb_C2p_DeltaNullSkip_4bit_512K_1by1
  452.         dc.l Pllb_C2p_DeltaNullSkip_4bit_512K_1by1
  453.         dc.l Pllb_C2p_DeltaNullSkip_4bit_512K_1by1
  454.  
  455.  
  456.  
  457.         ; 4bit pixelwidth2
  458.         
  459.         dc.l Pllb_C2p_4bit_512k_2by1
  460.         dc.l Pllb_C2p_4bit_512k_2by1
  461.         dc.l Pllb_C2p_4bit_512k_2by1
  462.         dc.l Pllb_C2p_4bit_512k_2by1
  463.  
  464.         dc.l Pllb_C2p_DELTA_4bit_512k_2by1
  465.         dc.l Pllb_C2p_DELTA_4bit_512k_2by1
  466.         dc.l Pllb_C2p_DELTA_4bit_512k_2by1
  467.         dc.l Pllb_C2p_DELTA_4bit_512k_2by1
  468.  
  469.         dc.l Pllb_C2p_NULLSKIP_4bit_512k_2by1
  470.         dc.l Pllb_C2p_NULLSKIP_4bit_512k_2by1
  471.         dc.l Pllb_C2p_NULLSKIP_4bit_512k_2by1
  472.         dc.l Pllb_C2p_NULLSKIP_4bit_512k_2by1
  473.  
  474.         dc.l Pllb_C2p_DeltaNullSkip_4bit_512k_2by1
  475.         dc.l Pllb_C2p_DeltaNullSkip_4bit_512k_2by1
  476.         dc.l Pllb_C2p_DeltaNullSkip_4bit_512k_2by1
  477.         dc.l Pllb_C2p_DeltaNullSkip_4bit_512k_2by1
  478.  
  479.  
  480.         ; 4bit pixelwidth4
  481.     
  482.         dc.l Pllb_C2p_4bit_512K_4by1
  483.         dc.l Pllb_C2p_4bit_512K_4by1
  484.         dc.l Pllb_C2p_4bit_512K_4by1
  485.         dc.l Pllb_C2p_4bit_512K_4by1
  486.  
  487.         dc.l Pllb_C2p_DELTA_4bit_512k_4by1
  488.         dc.l Pllb_C2p_DELTA_4bit_512k_4by1
  489.         dc.l Pllb_C2p_DELTA_4bit_512k_4by1
  490.         dc.l Pllb_C2p_DELTA_4bit_512k_4by1
  491.  
  492.         dc.l Pllb_C2p_NULLSKIP_4bit_512k_4by1
  493.         dc.l Pllb_C2p_NULLSKIP_4bit_512k_4by1
  494.         dc.l Pllb_C2p_NULLSKIP_4bit_512k_4by1
  495.         dc.l Pllb_C2p_NULLSKIP_4bit_512k_4by1
  496.  
  497.         dc.l Pllb_C2p_DeltaNullSkip_4bit_512k_4by1
  498.         dc.l Pllb_C2p_DeltaNullSkip_4bit_512k_4by1
  499.         dc.l Pllb_C2p_DeltaNullSkip_4bit_512k_4by1
  500.         dc.l Pllb_C2p_DeltaNullSkip_4bit_512k_4by1
  501.  
  502.  
  503.  
  504.  
  505. pllb_version:    
  506.  
  507.     dc.b "Pllbc2p "
  508.     pllbversion
  509.     dc.b "   Written By Kevin Picone"
  510.     
  511.  
  512.     even
  513.  
  514. ;    -    -    -    -    -    -    -    -    -
  515.  
  516. ;              >> Init NORMAL c2p registers <<
  517.  
  518. ;    -    -    -    -    -    -    -    -    -
  519.  
  520.  
  521. Pllb_c2p_init_Normal_c2p_registers:
  522.  
  523.     move.l Pllb_C2P_Chunky_Frame_bufferA(pc),a0
  524.     Move.l Pllb_C2p_Temp_Image_buffer(pc),a1
  525.     bra.b Pllb_c2p_init_c2p_registers
  526.  
  527.  
  528.  
  529.  
  530.  
  531. ;    -    -    -    -    -    -    -    -    -
  532.  
  533. ;              >> Init DELTA c2p registers <<
  534.  
  535. ;    -    -    -    -    -    -    -    -    -
  536.  
  537. Pllb_c2p_init_DELTA_c2p_registers:
  538.     move.l Pllb_C2P_Chunky_Frame_bufferB(pc),a0
  539.     move.l Pllb_C2P_Chunky_Frame_bufferA(pc),a1
  540.     bra.b Pllb_c2p_init_c2p_registers
  541.  
  542.  
  543.  
  544. Pllb_c2p_init_NULLSKIP_c2p_registers:
  545.  
  546.     move.l Pllb_C2P_Chunky_Frame_bufferA(pc),a0
  547.     move.l a0,a1
  548.     bra.b Pllb_c2p_init_c2p_registers
  549.  
  550.  
  551.  
  552. Pllb_c2p_init_DELTANULLSKIP_c2p_registers:
  553.  
  554.     move.l Pllb_C2P_Chunky_Frame_bufferA(pc),a0
  555.     move.l a0,a1
  556.     bsr.b Pllb_c2p_init_c2p_registers
  557.  
  558.     move.l Pllb_C2p_DeltaNullSkip_buffer_pointer(pc),a6
  559.  
  560.     rts
  561.  
  562.  
  563.  
  564.  
  565. Pllb_c2p_init_c2p_registers:
  566.  
  567.     Move.l Pllb_C2p_Temp_Image_buffer(pc),a2
  568.  
  569.     move.l Pllb_C2p_FastBuffer_PointerA(pc),a3
  570.     move.l Pllb_C2p_FastBuffer_PointerB(pc),a4
  571.     move.l Pllb_C2p_FastBuffer_PointerC(pc),a5
  572.     move.l Pllb_C2p_FastBuffer_PointerD(pc),a6
  573.  
  574.     move.l #$ff00ff00,d2
  575.     move.w PLLB_C2P_ChunkyScreenSize(pc),d7
  576.     subq.l #1,d7
  577.     rts
  578.  
  579.  
  580.  
  581. ;    -    -    -    -    -    -    -    -    -
  582.  
  583. ;               >> NORMAL 256colour Pllb-C2P <<
  584.  
  585. ;                Single pixel Width
  586.  
  587. ;                512k fastram version
  588.  
  589. ;    -    -    -    -    -    -    -    -    -
  590.  
  591. Pllb_C2p_8bit_512K_1by1:
  592.  
  593.     bsr Pllb_c2p_init_Normal_c2p_registers
  594.  
  595.     ; a4,a5,a6 not used
  596.  
  597.     blk.w 32,$4e71        ; insert NOP's for routine alignment system
  598.  
  599.  
  600. Pllb_C2p_8bit_512K_1by1_AP:
  601.  
  602.     clr.l d1
  603.     move.l (a0)+,d0
  604.     move.w d0,d1    
  605.     clr.w d0
  606.     bra.b Pllb_C2p_8bit_512K_1by1_skip
  607.     nop
  608.     nop
  609.     nop
  610.  
  611. Pllb_C2p_8bit_512K_1by1_lp:
  612.     
  613.     clr.l d1
  614.     move.l (a0)+,d0
  615.     move.w d0,d1    
  616.     clr.w d0
  617.  
  618.         move.l d4,(a1)+        ; pipelined Write to Chipram
  619.  
  620. Pllb_C2p_8bit_512K_1by1_skip:
  621.  
  622.     swap d0
  623.     lsl.l #3,d0
  624.  
  625.     move.l (a3,d0),d3
  626.     move.l 4(a3,d0),d4
  627.  
  628.         lsl.l #2,d3
  629.     lsl.l #3,d1
  630.         lsl.l #2,d4
  631.  
  632.     or.l (a3,d1),d3
  633.     or.l 4(a3,d1),d4
  634.  
  635.         lsl.l #2,d3
  636.         lsl.l #2,d4
  637.  
  638.     clr.l d1
  639.     move.l (a0)+,d0
  640.     move.w d0,d1    
  641.     clr.w d0
  642.     swap d0
  643.     lsl.l #3,d0
  644.  
  645.     or.l (a3,d0),d3
  646.     or.l 4(a3,d0),d4
  647.  
  648.         lsl.l #2,d3
  649.         lsl.l #2,d4
  650.  
  651.     lsl.l #3,d1
  652.     or.l (a3,d1),d3
  653.     or.l 4(a3,d1),d4
  654.  
  655.  
  656. ; store 8 planar bytes
  657.  
  658.  
  659.     ; d0 = bytes ABCD
  660.  
  661.  
  662.     clr.l d1
  663.     move.l (a0)+,d0
  664.     move.w d0,d1    
  665.     clr.w d0
  666.     swap d0
  667.     lsl.l #3,d0
  668.  
  669.     move.l (a3,d0),d5
  670.     move.l 4(a3,d0),d6
  671.  
  672.         lsl.l #2,d5
  673.     lsl.l #3,d1
  674.         lsl.l #2,d6
  675.  
  676.     or.l (a3,d1),d5
  677.     or.l 4(a3,d1),d6
  678.  
  679.         lsl.l #2,d5
  680.         lsl.l #2,d6
  681.         
  682.     clr.l d1
  683.     move.l (a0)+,d0
  684.     move.w d0,d1    
  685.     clr.w d0
  686.     swap d0
  687.     lsl.l #3,d0
  688.  
  689.     or.l (a3,d0),d5
  690.     or.l 4(a3,d0),d6
  691.  
  692.         lsl.l #2,d5
  693.     lsl.l #3,d1
  694.         lsl.l #2,d6
  695.  
  696.     move.l d3,d0        
  697.  
  698.     or.l (a3,d1),d5
  699.     or.l 4(a3,d1),d6
  700.  
  701.                 ; resort the planar bytes into words 
  702.  
  703.     move.l d5,d1
  704.  
  705.     and.l d2,d0
  706.     and.l d2,d1
  707.  
  708.     eor.l d0,d3
  709.     eor.l d1,d5
  710.  
  711.     lsr.l #8,d1
  712.  
  713.     or.l d1,d0        ; d0 = A1a2c1c2
  714.  
  715.     move.l d0,(a1)+        
  716.  
  717.     lsl.l #8,d3
  718.  
  719.         move.l d4,d0        
  720.  
  721.     or.l d5,d3
  722.  
  723.         move.l d6,d1
  724.  
  725.     move.l d3,(a1)+        ; d3 = b1b2d1d2
  726.  
  727.  
  728.     and.l d2,d0
  729.     and.l d2,d1
  730.  
  731.     eor.l d0,d4
  732.     eor.l d1,d6
  733.  
  734.     lsr.l #8,d1
  735.     or.l d1,d0        ; d0 = A1a2c1c2
  736.  
  737.     move.l d0,(a1)+        
  738.  
  739.     lsl.l #8,d4
  740.     or.l d6,d4
  741.  
  742.     dbf d7,Pllb_C2p_8bit_512K_1by1_lp
  743.  
  744.     move.l d4,(a1)+        ; output last long word
  745.     rts
  746.  
  747.  
  748. Pllb_C2p_8bit_512K_1by1_APend
  749.  
  750.  
  751.  
  752.  
  753.  
  754.  
  755. ;    -    -    -    -    -    -    -    -    -
  756.  
  757. ;               >> NORMAL 256colour Pllb-C2P <<
  758.  
  759. ;                Single pixel Width
  760.  
  761. ;                1meg fastram version
  762.  
  763. ;    -    -    -    -    -    -    -    -    -
  764.  
  765. Pllb_C2p_8bit_1Meg_1by1:
  766.  
  767.     bsr Pllb_c2p_init_Normal_c2p_registers
  768.  
  769.     ; a5,a6 not used
  770.  
  771.     blk.w 32,$4e71        ; insert NOP's for routine alignment system
  772.  
  773.  
  774. Pllb_C2p_8bit_1Meg_1by1_AP:
  775.  
  776.     clr.l d1
  777.     move.l (a0)+,d0
  778.     move.w d0,d1    
  779.     clr.w d0
  780.     bra.b Pllb_C2p_8bit_1Meg_1by1_skip
  781.     nop
  782.     nop
  783.     nop
  784.  
  785. Pllb_C2p_8bit_1Meg_1by1_lp:
  786.     
  787.     clr.l d1
  788.     move.l (a0)+,d0
  789.     move.w d0,d1    
  790.     clr.w d0
  791.  
  792.         move.l d4,(a1)+        ; pipelined Write to Chipram
  793.  
  794. Pllb_C2p_8bit_1Meg_1by1_skip:
  795.  
  796.     swap d0
  797.     lsl.l #3,d0
  798.  
  799.     move.l (a4,d0),d3
  800.     move.l 4(a4,d0),d4
  801.  
  802.         lsl.l #2,d3
  803.     lsl.l #3,d1
  804.         lsl.l #2,d4
  805.  
  806.     or.l (a4,d1),d3
  807.     or.l 4(a4,d1),d4
  808.  
  809.         lsl.l #2,d3
  810.         lsl.l #2,d4
  811.  
  812.     clr.l d1
  813.     move.l (a0)+,d0
  814.     move.w d0,d1    
  815.     clr.w d0
  816.     swap d0
  817.     lsl.l #3,d0
  818.  
  819.     or.l (a4,d0),d3
  820.     or.l 4(a4,d0),d4
  821.  
  822.     lsl.l #3,d1
  823.     or.l (a3,d1),d3
  824.     or.l 4(a3,d1),d4
  825.  
  826.  
  827.     clr.l d1
  828.     move.l (a0)+,d0
  829.     move.w d0,d1    
  830.     clr.w d0
  831.     swap d0
  832.     lsl.l #3,d0
  833.  
  834.     move.l (a4,d0),d5
  835.     move.l 4(a4,d0),d6
  836.  
  837.         lsl.l #2,d5
  838.     lsl.l #3,d1
  839.         lsl.l #2,d6
  840.  
  841.     or.l (a4,d1),d5
  842.     or.l 4(a4,d1),d6
  843.  
  844.         lsl.l #2,d5
  845.         lsl.l #2,d6
  846.         
  847.     clr.l d1
  848.     move.l (a0)+,d0
  849.     move.w d0,d1    
  850.     clr.w d0
  851.     swap d0
  852.     lsl.l #3,d0
  853.  
  854.     or.l (a4,d0),d5
  855.     or.l 4(a4,d0),d6
  856.  
  857.     lsl.l #3,d1
  858.  
  859.     or.l (a3,d1),d5
  860.     or.l 4(a3,d1),d6
  861.  
  862.     move.l d3,d0        
  863.     move.l d5,d1
  864.  
  865.     and.l d2,d0
  866.     and.l d2,d1
  867.  
  868.     eor.l d0,d3
  869.     eor.l d1,d5
  870.  
  871.     lsr.l #8,d1
  872.  
  873.     or.l d1,d0        ; d0 = A1a2c1c2
  874.  
  875.     move.l d0,(a1)+        
  876.  
  877.     lsl.l #8,d3
  878.  
  879.         move.l d4,d0        
  880.  
  881.     or.l d5,d3
  882.  
  883.         move.l d6,d1
  884.  
  885.     move.l d3,(a1)+        ; d3 = b1b2d1d2
  886.  
  887.  
  888.     and.l d2,d0
  889.     and.l d2,d1
  890.  
  891.     eor.l d0,d4
  892.     eor.l d1,d6
  893.  
  894.     lsr.l #8,d1
  895.     or.l d1,d0        ; d0 = A1a2c1c2
  896.  
  897.     move.l d0,(a1)+        
  898.  
  899.     lsl.l #8,d4
  900.     or.l d6,d4
  901.  
  902.     dbf d7,Pllb_C2p_8bit_1Meg_1by1_lp
  903.  
  904.     move.l d4,(a1)+        ; output last long word
  905.     rts
  906.  
  907.  
  908. Pllb_C2p_8bit_1Meg_1by1_APend
  909.  
  910.  
  911.  
  912.  
  913.  
  914.  
  915.  
  916. ;    -    -    -    -    -    -    -    -    -
  917.  
  918. ;               >> NORMAL 256colour Pllb-C2P <<
  919.  
  920. ;                Single pixel Width
  921.  
  922. ;               1.5meg fastram version
  923.  
  924. ;    -    -    -    -    -    -    -    -    -
  925.  
  926. Pllb_C2p_8bit_1_5meg_1by1:
  927.  
  928.     bsr Pllb_c2p_init_Normal_c2p_registers
  929.  
  930.     ; a6 table not used
  931.  
  932.     blk.w 32,$4e71        ; insert NOP's for routine alignment system
  933.  
  934.  
  935. Pllb_C2p_8bit_1_5meg_1by1_AP:
  936.  
  937.     clr.l d1
  938.     move.l (a0)+,d0
  939.     move.w d0,d1    
  940.     clr.w d0
  941.     bra.b Pllb_C2p_8bit_1_5meg_1by1_skip
  942.     nop
  943.     nop
  944.     nop
  945.  
  946. Pllb_C2p_8bit_1_5meg_1by1_lp:
  947.     
  948.     clr.l d1
  949.     move.l (a0)+,d0
  950.     move.w d0,d1    
  951.     clr.w d0
  952.  
  953.         move.l d4,(a1)+        ; pipelined Write to Chipram
  954.  
  955. Pllb_C2p_8bit_1_5meg_1by1_skip:
  956.  
  957.     swap d0
  958.     lsl.l #3,d0
  959.  
  960.     move.l (a5,d0),d3
  961.     move.l 4(a5,d0),d4
  962.  
  963.         lsl.l #2,d3
  964.     lsl.l #3,d1
  965.         lsl.l #2,d4
  966.  
  967.     or.l (a5,d1),d3
  968.     or.l 4(a5,d1),d4
  969.  
  970.  
  971.     clr.l d1
  972.     move.l (a0)+,d0
  973.     move.w d0,d1    
  974.     clr.w d0
  975.     swap d0
  976.     lsl.l #3,d0
  977.  
  978.     or.l (a4,d0),d3
  979.     or.l 4(a4,d0),d4
  980.  
  981.     lsl.l #3,d1
  982.     or.l (a3,d1),d3
  983.     or.l 4(a3,d1),d4
  984.  
  985.  
  986.     clr.l d1
  987.     move.l (a0)+,d0
  988.     move.w d0,d1    
  989.     clr.w d0
  990.     swap d0
  991.     lsl.l #3,d0
  992.  
  993.     move.l (a5,d0),d5
  994.     move.l 4(a5,d0),d6
  995.  
  996.         lsl.l #2,d5
  997.     lsl.l #3,d1
  998.         lsl.l #2,d6
  999.  
  1000.     or.l (a5,d1),d5
  1001.     or.l 4(a5,d1),d6
  1002.  
  1003.     clr.l d1
  1004.     move.l (a0)+,d0
  1005.     move.w d0,d1    
  1006.     clr.w d0
  1007.     swap d0
  1008.     lsl.l #3,d0
  1009.  
  1010.     or.l (a4,d0),d5
  1011.     or.l 4(a4,d0),d6
  1012.  
  1013.     lsl.l #3,d1
  1014.  
  1015.     or.l (a3,d1),d5
  1016.     or.l 4(a3,d1),d6
  1017.  
  1018.     move.l d3,d0        
  1019.     move.l d5,d1
  1020.  
  1021.     and.l d2,d0
  1022.     and.l d2,d1
  1023.  
  1024.     eor.l d0,d3
  1025.     eor.l d1,d5
  1026.  
  1027.     lsr.l #8,d1
  1028.  
  1029.     or.l d1,d0        ; d0 = A1a2c1c2
  1030.  
  1031.     move.l d0,(a1)+        
  1032.  
  1033.     lsl.l #8,d3
  1034.  
  1035.         move.l d4,d0        
  1036.  
  1037.     or.l d5,d3
  1038.  
  1039.         move.l d6,d1
  1040.  
  1041.     move.l d3,(a1)+        ; d3 = b1b2d1d2
  1042.  
  1043.  
  1044.     and.l d2,d0
  1045.     and.l d2,d1
  1046.  
  1047.     eor.l d0,d4
  1048.     eor.l d1,d6
  1049.  
  1050.     lsr.l #8,d1
  1051.     or.l d1,d0        ; d0 = A1a2c1c2
  1052.  
  1053.     move.l d0,(a1)+        
  1054.  
  1055.     lsl.l #8,d4
  1056.     or.l d6,d4
  1057.  
  1058.     dbf d7,Pllb_C2p_8bit_1_5meg_1by1_lp
  1059.  
  1060.     move.l d4,(a1)+        ; output last long word
  1061.     rts
  1062.  
  1063.  
  1064. Pllb_C2p_8bit_1_5meg_1by1_APend
  1065.  
  1066.  
  1067.  
  1068.  
  1069. ;    -    -    -    -    -    -    -    -    -
  1070.  
  1071. ;               >> NORMAL 256colour Pllb-C2P <<
  1072.  
  1073. ;                Single pixel Width
  1074.  
  1075. ;               2meg fastram version
  1076.  
  1077. ;    -    -    -    -    -    -    -    -    -
  1078.  
  1079. Pllb_C2p_8bit_2meg_1by1:
  1080.  
  1081.     bsr Pllb_c2p_init_Normal_c2p_registers
  1082.  
  1083.  
  1084.     blk.w 32,$4e71        ; insert NOP's to ensure routine alignment
  1085.  
  1086.  
  1087. Pllb_C2p_8bit_2meg_1by1_AP:
  1088.  
  1089.     clr.l d1
  1090.     move.l (a0)+,d0
  1091.     move.w d0,d1    
  1092.     clr.w d0
  1093.     bra.b Pllb_C2p_8bit_2meg_1by1_skip
  1094.     nop
  1095.     nop
  1096.     nop
  1097.  
  1098. Pllb_C2p_8bit_2meg_1by1_lp:
  1099.     
  1100.     ; d0 = bytes ABCD
  1101.  
  1102.     clr.l d1
  1103.     move.l (a0)+,d0
  1104.     move.w d0,d1    
  1105.     clr.w d0
  1106.  
  1107.         move.l d4,(a1)+        ; pipelined Write to Chipram
  1108.  
  1109. Pllb_C2p_8bit_2meg_1by1_skip:
  1110.  
  1111.     swap d0
  1112.     lsl.l #3,d0
  1113.  
  1114.     move.l (a6,d0),d3
  1115.     move.l 4(a6,d0),d4
  1116.  
  1117.     lsl.l #3,d1
  1118.     or.l (a5,d1),d3
  1119.     or.l 4(a5,d1),d4
  1120.  
  1121.     clr.l d1
  1122.     move.l (a0)+,d0
  1123.     move.w d0,d1    
  1124.     clr.w d0
  1125.     swap d0
  1126.     lsl.l #3,d0
  1127.  
  1128.     or.l (a4,d0),d3
  1129.     or.l 4(a4,d0),d4
  1130.  
  1131.     lsl.l #3,d1
  1132.     or.l (a3,d1),d3
  1133.     or.l 4(a3,d1),d4
  1134.  
  1135.  
  1136.     clr.l d1
  1137.     move.l (a0)+,d0
  1138.     move.w d0,d1    
  1139.     clr.w d0
  1140.     swap d0
  1141.     lsl.l #3,d0
  1142.  
  1143.     move.l (a6,d0),d5
  1144.     move.l 4(a6,d0),d6
  1145.  
  1146.     lsl.l #3,d1
  1147.     or.l (a5,d1),d5
  1148.     or.l 4(a5,d1),d6
  1149.  
  1150.  
  1151.     clr.l d1
  1152.     move.l (a0)+,d0
  1153.     move.w d0,d1    
  1154.     clr.w d0
  1155.     swap d0
  1156.     lsl.l #3,d0
  1157.  
  1158.     or.l (a4,d0),d5
  1159.     or.l 4(a4,d0),d6
  1160.  
  1161.     lsl.l #3,d1
  1162.     or.l (a3,d1),d5
  1163.     or.l 4(a3,d1),d6
  1164.  
  1165.  
  1166.     move.l d3,d0        
  1167.     move.l d5,d1
  1168.  
  1169.     and.l d2,d0
  1170.     and.l d2,d1
  1171.  
  1172.     eor.l d0,d3
  1173.     eor.l d1,d5
  1174.  
  1175.     lsr.l #8,d1
  1176.     or.l d1,d0        ; d0 = A1a2c1c2
  1177.  
  1178.     move.l d0,(a1)+        
  1179.  
  1180.     lsl.l #8,d3
  1181.  
  1182.         move.l d4,d0        
  1183.  
  1184.     or.l d5,d3
  1185.  
  1186.         move.l d6,d1
  1187.  
  1188.     move.l d3,(a1)+        ; d3 = b1b2d1d2
  1189.  
  1190.  
  1191.     and.l d2,d0
  1192.     and.l d2,d1
  1193.  
  1194.     eor.l d0,d4
  1195.     eor.l d1,d6
  1196.  
  1197.     lsr.l #8,d1
  1198.     or.l d1,d0        ; d0 = A1a2c1c2
  1199.  
  1200.     move.l d0,(a1)+        
  1201.  
  1202.     lsl.l #8,d4
  1203.     or.l d6,d4
  1204.  
  1205.     dbf d7,Pllb_C2p_8bit_2meg_1by1_lp
  1206.  
  1207.     move.l d4,(a1)+        ; output last long word
  1208.     rts
  1209.  
  1210.  
  1211. Pllb_C2p_8bit_2meg_1by1_APend
  1212.  
  1213.  
  1214.  
  1215.  
  1216. ;    -    -    -    -    -    -    -    -    -
  1217.  
  1218. ;              >> DELTA 256 colour Pllb-C2P <<
  1219.  
  1220. ;                Single pixel Width
  1221.  
  1222. ;               512k fastram version
  1223.  
  1224. ;    -    -    -    -    -    -    -    -    -
  1225.  
  1226.  
  1227. Pllb_C2p_Delta_8bit_512k_1by1:
  1228.  
  1229.     bsr Pllb_c2p_init_DELTA_c2p_registers
  1230.  
  1231.                 ; a4,a5,a6 tables     NOT USED!
  1232.  
  1233.     blk.w 32,$4e71        ; insert NOP's for routine alignment system
  1234.  
  1235.  
  1236. Pllb_C2p_Delta_8bit_512k_1by1_AP:
  1237.  
  1238. Pllb_C2p_Delta_8bit_512k_1by1_LP:
  1239.  
  1240.     move.l (a0)+,d4
  1241.     move.l (a0)+,d5
  1242.     move.l (a0)+,d6
  1243.     move.l (a0)+,d0
  1244.  
  1245.     cmp.l (a1)+,d4
  1246.     bne.b Pllb_C2p_Delta_8bit_512k_1by1_cont4
  1247.  
  1248.     cmp.l (a1)+,d5
  1249.     bne.b Pllb_C2p_Delta_8bit_512k_1by1_cont3
  1250.  
  1251.     cmp.l (a1)+,d6
  1252.     bne.b Pllb_C2p_Delta_8bit_512k_1by1_cont2
  1253.  
  1254.     cmp.l (a1)+,d0
  1255.     bne.b Pllb_C2p_Delta_8bit_512k_1by1_cont1
  1256.  
  1257.         add.w #16,a2
  1258.  
  1259.         dbf d7,Pllb_C2p_Delta_8bit_512k_1by1_LP
  1260.  
  1261.     rts
  1262.     nop
  1263.  
  1264. Pllb_C2p_Delta_8bit_512k_1by1_cont4:
  1265.  
  1266.     addq.l #4,a1
  1267.  
  1268. Pllb_C2p_Delta_8bit_512k_1by1_cont3:
  1269.  
  1270.     addq.l #4,a1
  1271.  
  1272. Pllb_C2p_Delta_8bit_512k_1by1_cont2:
  1273.  
  1274.     addq.l #4,a1
  1275.  
  1276. Pllb_C2p_Delta_8bit_512k_1by1_cont1:
  1277.  
  1278.  
  1279.     clr.l d1
  1280.     move.w d4,d1    
  1281.     clr.w d4
  1282.     swap d4
  1283.     lsl.l #3,d4
  1284.  
  1285.     move.l (a3,d4),d3
  1286.     move.l 4(a3,d4),d4
  1287.         lsl.l #2,d3
  1288.         lsl.l #2,d4
  1289.  
  1290.  
  1291.     lsl.l #3,d1
  1292.     or.l (a3,d1),d3
  1293.     or.l 4(a3,d1),d4
  1294.  
  1295.     lsl.l #2,d3
  1296.     lsl.l #2,d4
  1297.  
  1298.  
  1299.     clr.l d1
  1300.     move.w d5,d1    
  1301.  
  1302.     clr.w d5
  1303.     swap d5
  1304.  
  1305.     lsl.l #3,d5
  1306.     lsl.l #3,d1
  1307.  
  1308.     or.l (a3,d5),d3
  1309.     or.l 4(a3,d5),d4
  1310.  
  1311.         lsl.l #2,d3
  1312.         lsl.l #2,d4
  1313.  
  1314.     or.l (a3,d1),d3
  1315.     or.l 4(a3,d1),d4
  1316.  
  1317.  
  1318. ; store 8 planar bytes
  1319.  
  1320.  
  1321.     ; d0 = bytes ABCD
  1322.  
  1323.     clr.l d1
  1324.     move.w d6,d1    
  1325.     clr.w d6
  1326.     swap d6
  1327.     lsl.l #3,d6
  1328.  
  1329.     move.l (a3,d6),d5
  1330.     move.l 4(a3,d6),d6
  1331.         lsl.l #2,d5
  1332.         lsl.l #2,d6
  1333.  
  1334.     lsl.l #3,d1
  1335.     or.l (a3,d1),d5
  1336.     or.l 4(a3,d1),d6
  1337.  
  1338.         lsl.l #2,d5
  1339.         lsl.l #2,d6
  1340.  
  1341.  
  1342.     clr.l d1
  1343.     move.w d0,d1    
  1344.     clr.w d0
  1345.     swap d0
  1346.     lsl.l #3,d0
  1347.  
  1348.     lsl.l #3,d1
  1349.  
  1350.     or.l (a3,d0),d5
  1351.     or.l 4(a3,d0),d6
  1352.  
  1353.         lsl.l #2,d5
  1354.         lsl.l #2,d6
  1355.  
  1356.     or.l (a3,d1),d5
  1357.     or.l 4(a3,d1),d6
  1358.  
  1359.  
  1360.     move.l d3,d0        
  1361.     move.l d5,d1
  1362.  
  1363.     and.l d2,d0
  1364.     and.l d2,d1
  1365.  
  1366.     eor.l d0,d3
  1367.     eor.l d1,d5
  1368.  
  1369.     lsr.l #8,d1
  1370.     or.l d1,d0        ; d0 = A1a2c1c2
  1371.  
  1372.     move.l d0,(a2)+        
  1373.  
  1374.     lsl.l #8,d3
  1375.  
  1376.         move.l d4,d0        
  1377.  
  1378.     or.l d5,d3
  1379.  
  1380.         move.l d6,d1
  1381.  
  1382.  
  1383.     move.l d3,(a2)+        ; d3 = b1b2d1d2
  1384.  
  1385.  
  1386.  
  1387.     and.l d2,d0
  1388.     and.l d2,d1
  1389.  
  1390.     eor.l d0,d4
  1391.     eor.l d1,d6
  1392.  
  1393.     lsr.l #8,d1
  1394.     or.l d1,d0        ; d0 = A1a2c1c2
  1395.  
  1396.     move.l d0,(a2)+        
  1397.  
  1398.     lsl.l #8,d4
  1399.     or.l d6,d4
  1400.  
  1401.     move.l d4,(a2)+
  1402.     
  1403.  
  1404.     dbf d7,Pllb_C2p_Delta_8bit_512k_1by1_LP
  1405.  
  1406.     rts
  1407.  
  1408.  
  1409. Pllb_C2p_Delta_8bit_512k_1by1_APEND:
  1410.  
  1411.  
  1412.  
  1413.  
  1414.  
  1415. ;    -    -    -    -    -    -    -    -    -
  1416.  
  1417. ;              >> DELTA 256 colour Pllb-C2P <<
  1418.  
  1419. ;                Single pixel Width
  1420.  
  1421. ;               1 Meg fastram version
  1422.  
  1423. ;    -    -    -    -    -    -    -    -    -
  1424.  
  1425.  
  1426. Pllb_C2p_Delta_8bit_1Meg_1by1:
  1427.  
  1428.     bsr Pllb_c2p_init_DELTA_c2p_registers
  1429.  
  1430.     ; a5,a6 tables     NOT USED!
  1431.  
  1432.     blk.w 32,$4e71        ; insert NOP's for routine alignment system
  1433.  
  1434.  
  1435. Pllb_C2p_Delta_8bit_1Meg_1by1_AP:
  1436.  
  1437. Pllb_C2p_Delta_8bit_1Meg_1by1_LP:
  1438.  
  1439.     move.l (a0)+,d4
  1440.     move.l (a0)+,d5
  1441.     move.l (a0)+,d6
  1442.     move.l (a0)+,d0
  1443.  
  1444.     cmp.l (a1)+,d4
  1445.     bne.b Pllb_C2p_Delta_8bit_1Meg_1by1_cont4
  1446.  
  1447.     cmp.l (a1)+,d5
  1448.     bne.b Pllb_C2p_Delta_8bit_1Meg_1by1_cont3
  1449.  
  1450.     cmp.l (a1)+,d6
  1451.     bne.b Pllb_C2p_Delta_8bit_1Meg_1by1_cont2
  1452.  
  1453.     cmp.l (a1)+,d0
  1454.     bne.b Pllb_C2p_Delta_8bit_1Meg_1by1_cont1
  1455.  
  1456.         add.w #16,a2
  1457.  
  1458.         dbf d7,Pllb_C2p_Delta_8bit_1Meg_1by1_LP
  1459.  
  1460.     rts
  1461.     nop
  1462.  
  1463. Pllb_C2p_Delta_8bit_1Meg_1by1_cont4:
  1464.  
  1465.     addq.l #4,a1
  1466.  
  1467. Pllb_C2p_Delta_8bit_1Meg_1by1_cont3:
  1468.  
  1469.     addq.l #4,a1
  1470.  
  1471. Pllb_C2p_Delta_8bit_1Meg_1by1_cont2:
  1472.  
  1473.     addq.l #4,a1
  1474.  
  1475. Pllb_C2p_Delta_8bit_1Meg_1by1_cont1:
  1476.  
  1477.     ; d0 = bytes ABCD
  1478.  
  1479.     clr.l d1
  1480.     move.w d4,d1    
  1481.     clr.w d4
  1482.     swap d4
  1483.     lsl.l #3,d4
  1484.  
  1485.     move.l (a4,d4),d3
  1486.     move.l 4(a4,d4),d4
  1487.         lsl.l #2,d3
  1488.         lsl.l #2,d4
  1489.  
  1490.  
  1491.     lsl.l #3,d1
  1492.     or.l (a4,d1),d3
  1493.     or.l 4(a4,d1),d4
  1494.  
  1495.         lsl.l #2,d3
  1496.         lsl.l #2,d4
  1497.  
  1498.  
  1499.     clr.l d1
  1500.  
  1501.     move.w d5,d1    
  1502.     clr.w d5
  1503.     swap d5
  1504.     lsl.l #3,d5
  1505.  
  1506.     or.l (a4,d5),d3
  1507.     or.l 4(a4,d5),d4
  1508.  
  1509.     lsl.l #3,d1
  1510.     or.l (a3,d1),d3
  1511.     or.l 4(a3,d1),d4
  1512.  
  1513.  
  1514.     clr.l d1
  1515.     move.w d6,d1    
  1516.     clr.w d6
  1517.     swap d6
  1518.     lsl.l #3,d6
  1519.  
  1520.     move.l (a4,d6),d5
  1521.     move.l 4(a4,d6),d6
  1522.         lsl.l #2,d5
  1523.         lsl.l #2,d6
  1524.  
  1525.     lsl.l #3,d1
  1526.     or.l (a4,d1),d5
  1527.     or.l 4(a4,d1),d6
  1528.  
  1529.         lsl.l #2,d5
  1530.         lsl.l #2,d6
  1531.  
  1532.  
  1533.     clr.l d1
  1534.     move.w d0,d1    
  1535.     clr.w d0
  1536.     swap d0
  1537.     lsl.l #3,d0
  1538.  
  1539.     or.l (a4,d0),d5
  1540.     or.l 4(a4,d0),d6
  1541.  
  1542.     lsl.l #3,d1
  1543.     or.l (a3,d1),d5
  1544.     or.l 4(a3,d1),d6
  1545.  
  1546.  
  1547.  
  1548.     move.l d3,d0        
  1549.     move.l d5,d1
  1550.  
  1551.     and.l d2,d0
  1552.     and.l d2,d1
  1553.  
  1554.     eor.l d0,d3
  1555.     eor.l d1,d5
  1556.  
  1557.     lsr.l #8,d1
  1558.     or.l d1,d0        ; d0 = A1a2c1c2
  1559.  
  1560.     move.l d0,(a2)+        
  1561.  
  1562.     lsl.l #8,d3
  1563.  
  1564.         move.l d4,d0        
  1565.  
  1566.     or.l d5,d3
  1567.  
  1568.         move.l d6,d1
  1569.  
  1570.  
  1571.     move.l d3,(a2)+        ; d3 = b1b2d1d2
  1572.  
  1573.  
  1574.  
  1575.     and.l d2,d0
  1576.     and.l d2,d1
  1577.  
  1578.     eor.l d0,d4
  1579.     eor.l d1,d6
  1580.  
  1581.     lsr.l #8,d1
  1582.     or.l d1,d0        ; d0 = A1a2c1c2
  1583.  
  1584.     move.l d0,(a2)+        
  1585.  
  1586.     lsl.l #8,d4
  1587.     or.l d6,d4
  1588.  
  1589.     move.l d4,(a2)+
  1590.     
  1591.  
  1592.     dbf d7,Pllb_C2p_Delta_8bit_1Meg_1by1_LP
  1593.  
  1594.     rts
  1595.  
  1596.  
  1597. Pllb_C2p_Delta_8bit_1meg_1by1_APEND:
  1598.  
  1599.  
  1600.  
  1601.  
  1602.  
  1603.  
  1604. ;    -    -    -    -    -    -    -    -    -
  1605.  
  1606. ;              >> DELTA 256 colour Pllb-C2P <<
  1607.  
  1608. ;                Single pixel Width
  1609.  
  1610. ;               1.5meg fastram version
  1611.  
  1612. ;    -    -    -    -    -    -    -    -    -
  1613.  
  1614.  
  1615.  
  1616. Pllb_C2p_Delta_8bit_1_5Meg_1by1:
  1617.  
  1618.     bsr Pllb_c2p_init_DELTA_c2p_registers
  1619.  
  1620.     ; a6 not USED!
  1621.  
  1622.     blk.w 32,$4e71        ; insert NOP's to ensure routine alignment
  1623.  
  1624.  
  1625. Pllb_C2p_Delta_8bit_1_5Meg_1by1_AP:
  1626.  
  1627. Pllb_C2p_Delta_8bit_1_5Meg_1by1_LP:
  1628.  
  1629.     move.l (a0)+,d4
  1630.     move.l (a0)+,d5
  1631.     move.l (a0)+,d6
  1632.     move.l (a0)+,d0
  1633.  
  1634.  
  1635.     cmp.l (a1)+,d4
  1636.     bne.b Pllb_C2p_Delta_8bit_1_5Meg_1by1_cont4
  1637.  
  1638.     cmp.l (a1)+,d5
  1639.     bne.b Pllb_C2p_Delta_8bit_1_5Meg_1by1_cont3
  1640.  
  1641.     cmp.l (a1)+,d6
  1642.     bne.b Pllb_C2p_Delta_8bit_1_5Meg_1by1_cont2
  1643.  
  1644.     cmp.l (a1)+,d0
  1645.     bne.b Pllb_C2p_Delta_8bit_1_5Meg_1by1_cont1
  1646.  
  1647.         add.w #16,a2
  1648.  
  1649.         dbf d7,Pllb_C2p_Delta_8bit_1_5Meg_1by1_LP
  1650.  
  1651.     rts
  1652.     nop
  1653.  
  1654.  
  1655. Pllb_C2p_Delta_8bit_1_5Meg_1by1_cont4:
  1656.  
  1657.     addq.l #4,a1
  1658.  
  1659. Pllb_C2p_Delta_8bit_1_5Meg_1by1_cont3:
  1660.  
  1661.     addq.l #4,a1
  1662.  
  1663. Pllb_C2p_Delta_8bit_1_5Meg_1by1_cont2:
  1664.  
  1665.     addq.l #4,a1
  1666.  
  1667. Pllb_C2p_Delta_8bit_1_5Meg_1by1_cont1:
  1668.  
  1669.     ; d0 = bytes ABCD
  1670.  
  1671.     clr.l d1
  1672.     move.w d4,d1    
  1673.     clr.w d4
  1674.     swap d4
  1675.     lsl.l #3,d4
  1676.  
  1677.     move.l (a5,d4),d3
  1678.     move.l 4(a5,d4),d4
  1679.         lsl.l #2,d3
  1680.         lsl.l #2,d4
  1681.  
  1682.  
  1683.     lsl.l #3,d1
  1684.     or.l (a5,d1),d3
  1685.     or.l 4(a5,d1),d4
  1686.  
  1687.     clr.l d1
  1688.  
  1689.     move.w d5,d1    
  1690.     clr.w d5
  1691.     swap d5
  1692.     lsl.l #3,d5
  1693.     or.l (a4,d5),d3
  1694.     or.l 4(a4,d5),d4
  1695.  
  1696.     lsl.l #3,d1
  1697.     or.l (a3,d1),d3
  1698.     or.l 4(a3,d1),d4
  1699.  
  1700.  
  1701.     clr.l d1
  1702.     move.w d6,d1    
  1703.     clr.w d6
  1704.     swap d6
  1705.     lsl.l #3,d6
  1706.  
  1707.     move.l (a5,d6),d5
  1708.     move.l 4(a5,d6),d6
  1709.         lsl.l #2,d5
  1710.         lsl.l #2,d6
  1711.  
  1712.     lsl.l #3,d1
  1713.     or.l (a5,d1),d5
  1714.     or.l 4(a5,d1),d6
  1715.  
  1716.     clr.l d1
  1717.     move.w d0,d1    
  1718.     clr.w d0
  1719.     swap d0
  1720.     lsl.l #3,d0
  1721.  
  1722.     or.l (a4,d0),d5
  1723.     or.l 4(a4,d0),d6
  1724.  
  1725.     lsl.l #3,d1
  1726.     or.l (a3,d1),d5
  1727.     or.l 4(a3,d1),d6
  1728.  
  1729.  
  1730.  
  1731.     move.l d3,d0        
  1732.     move.l d5,d1
  1733.  
  1734.     and.l d2,d0
  1735.     and.l d2,d1
  1736.  
  1737.     eor.l d0,d3
  1738.     eor.l d1,d5
  1739.  
  1740.     lsr.l #8,d1
  1741.     or.l d1,d0        ; d0 = A1a2c1c2
  1742.  
  1743.     move.l d0,(a2)+        
  1744.  
  1745.     lsl.l #8,d3
  1746.  
  1747.         move.l d4,d0        
  1748.  
  1749.     or.l d5,d3
  1750.  
  1751.         move.l d6,d1
  1752.  
  1753.  
  1754.     move.l d3,(a2)+        ; d3 = b1b2d1d2
  1755.  
  1756.  
  1757.  
  1758.     and.l d2,d0
  1759.     and.l d2,d1
  1760.  
  1761.     eor.l d0,d4
  1762.     eor.l d1,d6
  1763.  
  1764.     lsr.l #8,d1
  1765.     or.l d1,d0        ; d0 = A1a2c1c2
  1766.  
  1767.     move.l d0,(a2)+        
  1768.  
  1769.     lsl.l #8,d4
  1770.     or.l d6,d4
  1771.  
  1772.     move.l d4,(a2)+
  1773.     
  1774.  
  1775.     dbf d7,Pllb_C2p_Delta_8bit_1_5Meg_1by1_LP
  1776.  
  1777.     rts
  1778.  
  1779.  
  1780. Pllb_C2p_Delta_8bit_1_5meg_1by1_APEND:
  1781.  
  1782.  
  1783.  
  1784.  
  1785.  
  1786.  
  1787.  
  1788. ;    -    -    -    -    -    -    -    -    -
  1789.  
  1790. ;              >> DELTA 256 colour Pllb-C2P <<
  1791.  
  1792. ;                Single pixel Width
  1793.  
  1794. ;               2Meg fastram version
  1795.  
  1796. ;    -    -    -    -    -    -    -    -    -
  1797.  
  1798.  
  1799.  
  1800. Pllb_C2p_Delta_8bit_2meg_1by1:
  1801.  
  1802.     bsr Pllb_c2p_init_DELTA_c2p_registers
  1803.  
  1804.     blk.w 32,$4e71        ; insert NOP's to ensure routine alignment
  1805.  
  1806.  
  1807. Pllb_C2p_Delta_8bit_2meg_1by1_AP:
  1808.  
  1809. Pllb_C2p_Delta_8bit_2meg_1by1_LP:
  1810.  
  1811.     move.l (a0)+,d4
  1812.     move.l (a0)+,d5
  1813.     move.l (a0)+,d6
  1814.     move.l (a0)+,d0
  1815.  
  1816.  
  1817.     cmp.l (a1)+,d4
  1818.     bne.b Pllb_C2p_Delta_8bit_2meg_1by1_cont4
  1819.  
  1820.     cmp.l (a1)+,d5
  1821.     bne.b Pllb_C2p_Delta_8bit_2meg_1by1_cont3
  1822.  
  1823.     cmp.l (a1)+,d6
  1824.     bne.b Pllb_C2p_Delta_8bit_2meg_1by1_cont2
  1825.  
  1826.     cmp.l (a1)+,d0
  1827.     bne.b Pllb_C2p_Delta_8bit_2meg_1by1_cont1
  1828.  
  1829.         add.w #16,a2
  1830.  
  1831.         dbf d7,Pllb_C2p_Delta_8bit_2meg_1by1_LP
  1832.  
  1833.     rts
  1834.     nop
  1835.  
  1836.  
  1837. Pllb_C2p_Delta_8bit_2meg_1by1_cont4:
  1838.  
  1839.     addq.l #4,a1
  1840.  
  1841. Pllb_C2p_Delta_8bit_2meg_1by1_cont3:
  1842.  
  1843.     addq.l #4,a1
  1844.  
  1845. Pllb_C2p_Delta_8bit_2meg_1by1_cont2:
  1846.  
  1847.     addq.l #4,a1
  1848.  
  1849. Pllb_C2p_Delta_8bit_2meg_1by1_cont1:
  1850.  
  1851.  
  1852.     clr.l d1
  1853.     move.w d4,d1    
  1854.     clr.w d4
  1855.     swap d4
  1856.     lsl.l #3,d4
  1857.  
  1858.     move.l (a6,d4),d3
  1859.     move.l 4(a6,d4),d4
  1860.  
  1861.     lsl.l #3,d1
  1862.     or.l (a5,d1),d3
  1863.     or.l 4(a5,d1),d4
  1864.  
  1865.     clr.l d1
  1866.  
  1867.  
  1868.     move.w d5,d1    
  1869.     clr.w d5
  1870.     swap d5
  1871.     lsl.l #3,d5
  1872.     or.l (a4,d5),d3
  1873.     or.l 4(a4,d5),d4
  1874.  
  1875.     lsl.l #3,d1
  1876.     or.l (a3,d1),d3
  1877.     or.l 4(a3,d1),d4
  1878.  
  1879.     clr.l d1
  1880.  
  1881.     move.w d6,d1    
  1882.     clr.w d6
  1883.     swap d6
  1884.     lsl.l #3,d6
  1885.  
  1886.     move.l (a6,d6),d5
  1887.     move.l 4(a6,d6),d6
  1888.  
  1889.     lsl.l #3,d1
  1890.     or.l (a5,d1),d5
  1891.     or.l 4(a5,d1),d6
  1892.  
  1893.     clr.l d1
  1894.     move.w d0,d1    
  1895.     clr.w d0
  1896.     swap d0
  1897.     lsl.l #3,d0
  1898.  
  1899.     or.l (a4,d0),d5
  1900.     or.l 4(a4,d0),d6
  1901.  
  1902.     lsl.l #3,d1
  1903.     or.l (a3,d1),d5
  1904.     or.l 4(a3,d1),d6
  1905.  
  1906.  
  1907.     move.l d3,d0        
  1908.     move.l d5,d1
  1909.  
  1910.     and.l d2,d0
  1911.     and.l d2,d1
  1912.  
  1913.     eor.l d0,d3
  1914.     eor.l d1,d5
  1915.  
  1916.     lsr.l #8,d1
  1917.     or.l d1,d0        ; d0 = A1a2c1c2
  1918.  
  1919.     move.l d0,(a2)+        
  1920.  
  1921.     lsl.l #8,d3
  1922.  
  1923.         move.l d4,d0        
  1924.  
  1925.     or.l d5,d3
  1926.  
  1927.         move.l d6,d1
  1928.  
  1929.  
  1930.     move.l d3,(a2)+        ; d3 = b1b2d1d2
  1931.  
  1932.  
  1933.  
  1934.     and.l d2,d0
  1935.     and.l d2,d1
  1936.  
  1937.     eor.l d0,d4
  1938.     eor.l d1,d6
  1939.  
  1940.     lsr.l #8,d1
  1941.     or.l d1,d0        ; d0 = A1a2c1c2
  1942.  
  1943.     move.l d0,(a2)+        
  1944.  
  1945.     lsl.l #8,d4
  1946.     or.l d6,d4
  1947.  
  1948.     move.l d4,(a2)+
  1949.     
  1950.  
  1951.     dbf d7,Pllb_C2p_Delta_8bit_2meg_1by1_LP
  1952.  
  1953.     rts
  1954.  
  1955.  
  1956. Pllb_C2p_Delta_8bit_2meg_1by1_APEND:
  1957.  
  1958.  
  1959.  
  1960.  
  1961. ;    -    -    -    -    -    -    -    -    -
  1962.  
  1963. ;            >> NULLSKIP/CLEAR 256 colour Pllb-C2P <<
  1964.  
  1965. ;                Single pixel Width
  1966.  
  1967. ;               512k fastram version
  1968.  
  1969. ;    -    -    -    -    -    -    -    -    -
  1970.  
  1971.  
  1972. Pllb_C2p_NullSkip_8bit_512k_1by1:
  1973.  
  1974.     bsr Pllb_c2p_init_NULLSKIP_c2p_registers
  1975.  
  1976.     ; a4,a5,d6 tables are NOT USED
  1977.  
  1978.     blk.w 32,$4e71        ; insert NOP's to ensure routine alignment
  1979.  
  1980.  
  1981. Pllb_C2p_NullSkip_8bit_512k_1by1_AP:
  1982.  
  1983. Pllb_C2p_NullSkip_8bit_512k_1by1_LP:
  1984.  
  1985.     move.l (a0)+,d4
  1986.     bne.b Pllb_C2p_NullSkip_8bit_512k_1by1_Cont4
  1987.     move.l (a0)+,d5
  1988.     bne.b Pllb_C2p_NullSkip_8bit_512k_1by1_Cont3
  1989.     move.l (a0)+,d6
  1990.     bne.b Pllb_C2p_NullSkip_8bit_512k_1by1_Cont2
  1991.     move.l (a0)+,d0
  1992.     bne.b Pllb_C2p_NullSkip_8bit_512k_1by1_Cont1
  1993.  
  1994.         clr.l (a2)+
  1995.         add.w #16,a1
  1996.         clr.l (a2)+
  1997.         clr.l (a2)+
  1998.         clr.l (a2)+
  1999.         
  2000.         dbf d7,Pllb_C2p_NullSkip_8bit_512k_1by1_LP
  2001.  
  2002.     rts
  2003.     nop
  2004.  
  2005.  
  2006. Pllb_C2p_NullSkip_8bit_512k_1by1_Cont4:
  2007.  
  2008.     move.l (a0)+,d5
  2009.  
  2010. Pllb_C2p_NullSkip_8bit_512k_1by1_Cont3:
  2011.  
  2012.     move.l (a0)+,d6
  2013.  
  2014. Pllb_C2p_NullSkip_8bit_512k_1by1_Cont2:
  2015.  
  2016.     move.l (a0)+,d0
  2017.  
  2018. Pllb_C2p_NullSkip_8bit_512k_1by1_Cont1:
  2019.  
  2020.         clr.l (a1)+        ; clear 4 chunky source pixels
  2021.  
  2022.     clr.l d1
  2023.     move.w d4,d1    
  2024.     clr.w d4
  2025.     swap d4
  2026.     lsl.l #3,d4
  2027.     lsl.l #3,d1
  2028.  
  2029.     move.l (a3,d4),d3
  2030.     move.l 4(a3,d4),d4
  2031.         lsl.l #2,d3
  2032.         lsl.l #2,d4
  2033.     or.l (a3,d1),d3
  2034.     or.l 4(a3,d1),d4
  2035.         lsl.l #2,d3
  2036.         lsl.l #2,d4
  2037.  
  2038.  
  2039.     clr.l d1
  2040.     move.w d5,d1    
  2041.     clr.w d5
  2042.     swap d5
  2043.     lsl.l #3,d5
  2044.     lsl.l #3,d1
  2045.     or.l (a3,d5),d3
  2046.     or.l 4(a3,d5),d4
  2047.         lsl.l #2,d3
  2048.         lsl.l #2,d4
  2049.     or.l (a3,d1),d3
  2050.     or.l 4(a3,d1),d4
  2051.  
  2052.  
  2053.         clr.l (a1)+        ; clear 4 chunky source pixels
  2054.  
  2055.     clr.l d1
  2056.  
  2057.     move.w d6,d1    
  2058.     clr.w d6
  2059.     swap d6
  2060.     lsl.l #3,d6
  2061.  
  2062.     move.l (a3,d6),d5
  2063.     move.l 4(a3,d6),d6
  2064.         lsl.l #2,d5
  2065.         lsl.l #2,d6
  2066.  
  2067.  
  2068.     lsl.l #3,d1
  2069.     or.l (a3,d1),d5
  2070.     or.l 4(a3,d1),d6
  2071.         lsl.l #2,d5
  2072.         lsl.l #2,d6
  2073.  
  2074.  
  2075.         clr.l (a1)+        ; clear 4 chunky source pixels
  2076.  
  2077.     clr.l d1
  2078.     move.w d0,d1    
  2079.     clr.w d0
  2080.     swap d0
  2081.     lsl.l #3,d0
  2082.  
  2083.     lsl.l #3,d1
  2084.  
  2085.     or.l (a3,d0),d5
  2086.     or.l 4(a3,d0),d6
  2087.  
  2088.         lsl.l #2,d5
  2089.         lsl.l #2,d6
  2090.  
  2091.     or.l (a3,d1),d5
  2092.     or.l 4(a3,d1),d6
  2093.  
  2094.         clr.l (a1)+        ; clear 4 chunky source pixels
  2095.  
  2096.     move.l d3,d0        
  2097.     move.l d5,d1
  2098.  
  2099.     and.l d2,d0
  2100.     and.l d2,d1
  2101.  
  2102.     eor.l d0,d3
  2103.     eor.l d1,d5
  2104.  
  2105.     lsr.l #8,d1
  2106.     or.l d1,d0        ; d0 = A1a2c1c2
  2107.  
  2108.     move.l d0,(a2)+        
  2109.  
  2110.     lsl.l #8,d3
  2111.  
  2112.         move.l d4,d0        
  2113.  
  2114.     or.l d5,d3
  2115.  
  2116.         move.l d6,d1
  2117.  
  2118.  
  2119.     move.l d3,(a2)+        ; d3 = b1b2d1d2
  2120.  
  2121.     and.l d2,d0
  2122.     and.l d2,d1
  2123.  
  2124.     eor.l d0,d4
  2125.     eor.l d1,d6
  2126.  
  2127.     lsr.l #8,d1
  2128.     or.l d1,d0        ; d0 = A1a2c1c2
  2129.  
  2130.     move.l d0,(a2)+        
  2131.  
  2132.     lsl.l #8,d4
  2133.     or.l d6,d4
  2134.  
  2135.     move.l d4,(a2)+
  2136.     
  2137.     dbf d7,Pllb_C2p_NullSkip_8bit_512k_1by1_LP
  2138.  
  2139.     rts
  2140.  
  2141.  
  2142. Pllb_C2p_NullSkip_8bit_512k_1by1_APEND:
  2143.  
  2144.  
  2145.  
  2146.  
  2147.  
  2148.  
  2149.  
  2150.  
  2151. ;    -    -    -    -    -    -    -    -    -
  2152.  
  2153. ;            >> NULLSKIP/CLEAR 256 colour Pllb-C2P <<
  2154.  
  2155. ;                Single pixel Width
  2156.  
  2157. ;               1meg fastram version
  2158.  
  2159. ;    -    -    -    -    -    -    -    -    -
  2160.  
  2161.  
  2162. Pllb_C2p_NullSkip_8bit_1Meg_1by1:
  2163.  
  2164.     bsr Pllb_c2p_init_NULLSKIP_c2p_registers
  2165.  
  2166.     ; a5,a6     tables not used
  2167.  
  2168.     blk.w 32,$4e71        ; insert NOP's to ensure routine alignment
  2169.  
  2170.  
  2171. Pllb_C2p_NullSkip_8bit_1Meg_1by1_AP:
  2172.  
  2173.  
  2174. Pllb_C2p_NullSkip_8bit_1Meg_1by1_LP:
  2175.  
  2176.     move.l (a0)+,d4
  2177.     bne.b Pllb_C2p_NullSkip_8bit_1Meg_1by1_Cont4
  2178.     move.l (a0)+,d5
  2179.     bne.b Pllb_C2p_NullSkip_8bit_1Meg_1by1_Cont3
  2180.     move.l (a0)+,d6
  2181.     bne.b Pllb_C2p_NullSkip_8bit_1Meg_1by1_Cont2
  2182.     move.l (a0)+,d0
  2183.     bne.b Pllb_C2p_NullSkip_8bit_1Meg_1by1_Cont1
  2184.  
  2185.         clr.l (a2)+
  2186.         add.w #16,a1
  2187.         clr.l (a2)+
  2188.         clr.l (a2)+
  2189.         clr.l (a2)+
  2190.         
  2191.         dbf d7,Pllb_C2p_NullSkip_8bit_1Meg_1by1_LP
  2192.  
  2193.     rts
  2194.     nop
  2195.  
  2196.  
  2197. Pllb_C2p_NullSkip_8bit_1Meg_1by1_Cont4:
  2198.  
  2199.     move.l (a0)+,d5
  2200.  
  2201. Pllb_C2p_NullSkip_8bit_1Meg_1by1_Cont3:
  2202.  
  2203.     move.l (a0)+,d6
  2204.  
  2205. Pllb_C2p_NullSkip_8bit_1Meg_1by1_Cont2:
  2206.  
  2207.     move.l (a0)+,d0
  2208.  
  2209. Pllb_C2p_NullSkip_8bit_1Meg_1by1_Cont1:
  2210.  
  2211.  
  2212.         clr.l (a1)+        ; clear 4 chunky source pixels
  2213.  
  2214.     clr.l d1
  2215.     move.w d4,d1    
  2216.     clr.w d4
  2217.     swap d4
  2218.  
  2219.     ; d0 = bytes ABCD
  2220.  
  2221.     lsl.l #3,d4
  2222.     lsl.l #3,d1
  2223.     move.l (a4,d4),d3
  2224.     move.l 4(a4,d4),d4
  2225.         lsl.l #2,d3
  2226.         lsl.l #2,d4
  2227.  
  2228.  
  2229.     or.l (a4,d1),d3
  2230.     or.l 4(a4,d1),d4
  2231.         lsl.l #2,d3
  2232.         lsl.l #2,d4
  2233.  
  2234.  
  2235.     clr.l d1
  2236.     move.w d5,d1    
  2237.     clr.w d5
  2238.     swap d5
  2239.     lsl.l #3,d5
  2240.     lsl.l #3,d1
  2241.  
  2242.     or.l (a4,d5),d3
  2243.     or.l 4(a4,d5),d4
  2244.  
  2245.     or.l (a3,d1),d3
  2246.     or.l 4(a3,d1),d4
  2247.  
  2248.         clr.l (a1)+        ; clear 4 chunky source pixels
  2249.  
  2250.     clr.l d1
  2251.     move.w d6,d1    
  2252.     clr.w d6
  2253.     swap d6
  2254.     lsl.l #3,d6
  2255.     lsl.l #3,d1
  2256.  
  2257.     move.l (a4,d6),d5
  2258.     move.l 4(a4,d6),d6
  2259.         lsl.l #2,d5
  2260.         lsl.l #2,d6
  2261.  
  2262.  
  2263.     or.l (a4,d1),d5
  2264.     or.l 4(a4,d1),d6
  2265.         lsl.l #2,d5
  2266.         lsl.l #2,d6
  2267.  
  2268.  
  2269.         clr.l (a1)+        ; clear 4 chunky source pixels
  2270.  
  2271.     clr.l d1
  2272.     move.w d0,d1    
  2273.     clr.w d0
  2274.     swap d0
  2275.     lsl.l #3,d0
  2276.     lsl.l #3,d1
  2277.  
  2278.     or.l (a4,d0),d5
  2279.     or.l 4(a4,d0),d6
  2280.  
  2281.     or.l (a3,d1),d5
  2282.     or.l 4(a3,d1),d6
  2283.  
  2284.         clr.l (a1)+        ; clear 4 chunky source pixels
  2285.  
  2286.  
  2287.     move.l d3,d0        
  2288.     move.l d5,d1
  2289.  
  2290.     and.l d2,d0
  2291.     and.l d2,d1
  2292.  
  2293.     eor.l d0,d3
  2294.     eor.l d1,d5
  2295.  
  2296.     lsr.l #8,d1
  2297.     or.l d1,d0        ; d0 = A1a2c1c2
  2298.  
  2299.     move.l d0,(a2)+        
  2300.  
  2301.     lsl.l #8,d3
  2302.  
  2303.         move.l d4,d0        
  2304.  
  2305.     or.l d5,d3
  2306.  
  2307.         move.l d6,d1
  2308.  
  2309.  
  2310.     move.l d3,(a2)+        ; d3 = b1b2d1d2
  2311.  
  2312.  
  2313.  
  2314.     and.l d2,d0
  2315.     and.l d2,d1
  2316.  
  2317.     eor.l d0,d4
  2318.     eor.l d1,d6
  2319.  
  2320.     lsr.l #8,d1
  2321.     or.l d1,d0        ; d0 = A1a2c1c2
  2322.  
  2323.     move.l d0,(a2)+        
  2324.  
  2325.     lsl.l #8,d4
  2326.     or.l d6,d4
  2327.  
  2328.     move.l d4,(a2)+
  2329.     
  2330.     dbf d7,Pllb_C2p_NullSkip_8bit_1Meg_1by1_LP
  2331.  
  2332.     rts
  2333.  
  2334.  
  2335. Pllb_C2p_NullSkip_8bit_1meg_1by1_APEND:
  2336.  
  2337.  
  2338.  
  2339.  
  2340.  
  2341.  
  2342. ;    -    -    -    -    -    -    -    -    -
  2343.  
  2344. ;            >> NULLSKIP/CLEAR 256 colour Pllb-C2P <<
  2345.  
  2346. ;                Single pixel Width
  2347.  
  2348. ;               1.5meg fastram version
  2349.  
  2350. ;    -    -    -    -    -    -    -    -    -
  2351.  
  2352.  
  2353. Pllb_C2p_NullSkip_8bit_1_5Meg_1by1:
  2354.  
  2355.     bsr Pllb_c2p_init_NULLSKIP_c2p_registers
  2356.  
  2357.     ; a6 not used
  2358.  
  2359.     blk.w 32,$4e71        ; insert NOP's to ensure routine alignment
  2360.  
  2361.  
  2362. Pllb_C2p_NullSkip_8bit_1_5Meg_1by1_AP:
  2363.  
  2364.  
  2365. Pllb_C2p_NullSkip_8bit_1_5Meg_1by1_LP:
  2366.  
  2367.     move.l (a0)+,d4
  2368.     bne.b Pllb_C2p_NullSkip_8bit_1_5Meg_1by1_Cont4
  2369.     move.l (a0)+,d5
  2370.     bne.b Pllb_C2p_NullSkip_8bit_1_5Meg_1by1_Cont3
  2371.     move.l (a0)+,d6
  2372.     bne.b Pllb_C2p_NullSkip_8bit_1_5Meg_1by1_Cont2
  2373.     move.l (a0)+,d0
  2374.     bne.b Pllb_C2p_NullSkip_8bit_1_5Meg_1by1_Cont1
  2375.  
  2376.         clr.l (a2)+
  2377.         add.w #16,a1
  2378.         clr.l (a2)+
  2379.         clr.l (a2)+
  2380.         clr.l (a2)+
  2381.         
  2382.         dbf d7,Pllb_C2p_NullSkip_8bit_1_5Meg_1by1_LP
  2383.  
  2384.     rts
  2385.     nop
  2386.  
  2387.  
  2388. Pllb_C2p_NullSkip_8bit_1_5Meg_1by1_Cont4:
  2389.  
  2390.     move.l (a0)+,d5
  2391.  
  2392. Pllb_C2p_NullSkip_8bit_1_5Meg_1by1_Cont3:
  2393.  
  2394.     move.l (a0)+,d6
  2395.  
  2396. Pllb_C2p_NullSkip_8bit_1_5Meg_1by1_Cont2:
  2397.  
  2398.     move.l (a0)+,d0
  2399.  
  2400. Pllb_C2p_NullSkip_8bit_1_5Meg_1by1_Cont1:
  2401.  
  2402.  
  2403.         clr.l (a1)+        ; clear 4 chunky source pixels
  2404.  
  2405.     clr.l d1
  2406.     move.w d4,d1    
  2407.     clr.w d4
  2408.     swap d4
  2409.  
  2410.     lsl.l #3,d4
  2411.  
  2412.  
  2413.     move.l (a5,d4),d3
  2414.     move.l 4(a5,d4),d4
  2415.         lsl.l #2,d3
  2416.         lsl.l #2,d4
  2417.  
  2418.  
  2419.     lsl.l #3,d1
  2420.     or.l (a5,d1),d3
  2421.     or.l 4(a5,d1),d4
  2422.  
  2423.     clr.l d1
  2424.     move.w d5,d1    
  2425.     clr.w d5
  2426.     swap d5
  2427.     lsl.l #3,d5
  2428.     or.l (a4,d5),d3
  2429.     or.l 4(a4,d5),d4
  2430.  
  2431.     lsl.l #3,d1
  2432.     or.l (a3,d1),d3
  2433.     or.l 4(a3,d1),d4
  2434.  
  2435.         clr.l (a1)+        ; clear 4 chunky source pixels
  2436.  
  2437.     clr.l d1
  2438.  
  2439.     move.w d6,d1    
  2440.     clr.w d6
  2441.     swap d6
  2442.     lsl.l #3,d6
  2443.  
  2444.     move.l (a5,d6),d5
  2445.     move.l 4(a5,d6),d6
  2446.         lsl.l #2,d5
  2447.         lsl.l #2,d6
  2448.  
  2449.  
  2450.     lsl.l #3,d1
  2451.     or.l (a5,d1),d5
  2452.     or.l 4(a5,d1),d6
  2453.  
  2454.         clr.l (a1)+        ; clear 4 chunky source pixels
  2455.  
  2456.  
  2457.  
  2458.     clr.l d1
  2459.     move.w d0,d1    
  2460.     clr.w d0
  2461.     swap d0
  2462.     lsl.l #3,d0
  2463.  
  2464.     or.l (a4,d0),d5
  2465.     or.l 4(a4,d0),d6
  2466.     lsl.l #3,d1
  2467.     or.l (a3,d1),d5
  2468.     or.l 4(a3,d1),d6
  2469.  
  2470.         clr.l (a1)+        ; clear 4 chunky source pixels
  2471.  
  2472.     move.l d3,d0        
  2473.     move.l d5,d1
  2474.  
  2475.     and.l d2,d0
  2476.     and.l d2,d1
  2477.  
  2478.     eor.l d0,d3
  2479.     eor.l d1,d5
  2480.  
  2481.     lsr.l #8,d1
  2482.     or.l d1,d0        ; d0 = A1a2c1c2
  2483.  
  2484.     move.l d0,(a2)+        
  2485.  
  2486.     lsl.l #8,d3
  2487.  
  2488.         move.l d4,d0        
  2489.  
  2490.     or.l d5,d3
  2491.  
  2492.         move.l d6,d1
  2493.  
  2494.  
  2495.     move.l d3,(a2)+        ; d3 = b1b2d1d2
  2496.  
  2497.  
  2498.  
  2499.     and.l d2,d0
  2500.     and.l d2,d1
  2501.  
  2502.     eor.l d0,d4
  2503.     eor.l d1,d6
  2504.  
  2505.     lsr.l #8,d1
  2506.     or.l d1,d0        ; d0 = A1a2c1c2
  2507.  
  2508.     move.l d0,(a2)+        
  2509.  
  2510.     lsl.l #8,d4
  2511.     or.l d6,d4
  2512.  
  2513.     move.l d4,(a2)+
  2514.     
  2515.     dbf d7,Pllb_C2p_NullSkip_8bit_1_5Meg_1by1_LP
  2516.  
  2517.     rts
  2518.  
  2519.  
  2520. Pllb_C2p_NullSkip_8bit_1_5meg_1by1_APEND:
  2521.  
  2522.  
  2523.  
  2524.  
  2525.  
  2526. ;    -    -    -    -    -    -    -    -    -
  2527.  
  2528. ;            >> NULLSKIP/CLEAR 256 colour Pllb-C2P <<
  2529.  
  2530. ;                Single pixel Width
  2531.  
  2532. ;               2meg fastram version
  2533.  
  2534. ;    -    -    -    -    -    -    -    -    -
  2535.  
  2536.  
  2537. Pllb_C2p_NullSkip_8bit_2meg_1by1:
  2538.  
  2539.     bsr Pllb_c2p_init_NULLSKIP_c2p_registers
  2540.  
  2541.     blk.w 32,$4e71        ; insert NOP's to ensure routine alignment
  2542.  
  2543.  
  2544. Pllb_C2p_NullSkip_8bit_2meg_1by1_AP:
  2545.  
  2546.  
  2547. Pllb_C2p_NullSkip_8bit_2meg_1by1_LP:
  2548.  
  2549.     move.l (a0)+,d4
  2550.     bne.b Pllb_C2p_NullSkip_8bit_2meg_1by1_Cont4
  2551.     move.l (a0)+,d5
  2552.     bne.b Pllb_C2p_NullSkip_8bit_2meg_1by1_Cont3
  2553.     move.l (a0)+,d6
  2554.     bne.b Pllb_C2p_NullSkip_8bit_2meg_1by1_Cont2
  2555.     move.l (a0)+,d0
  2556.     bne.b Pllb_C2p_NullSkip_8bit_2meg_1by1_Cont1
  2557.  
  2558.         clr.l (a2)+
  2559.         add.w #16,a1
  2560.         clr.l (a2)+
  2561.         clr.l (a2)+
  2562.         clr.l (a2)+
  2563.         
  2564.         dbf d7,Pllb_C2p_NullSkip_8bit_2meg_1by1_LP
  2565.  
  2566.     rts
  2567.     nop
  2568.  
  2569.  
  2570. Pllb_C2p_NullSkip_8bit_2meg_1by1_Cont4:
  2571.  
  2572.     move.l (a0)+,d5
  2573.  
  2574. Pllb_C2p_NullSkip_8bit_2meg_1by1_Cont3:
  2575.  
  2576.     move.l (a0)+,d6
  2577.  
  2578. Pllb_C2p_NullSkip_8bit_2meg_1by1_Cont2:
  2579.  
  2580.     move.l (a0)+,d0
  2581.  
  2582. Pllb_C2p_NullSkip_8bit_2meg_1by1_Cont1:
  2583.  
  2584.  
  2585.         clr.l (a1)+        ; clear 4 chunky source pixels
  2586.  
  2587.     clr.l d1
  2588.     move.w d4,d1    
  2589.     clr.w d4
  2590.     swap d4
  2591.  
  2592.     lsl.l #3,d4
  2593.  
  2594.     move.l (a6,d4),d3
  2595.     move.l 4(a6,d4),d4
  2596.  
  2597.     lsl.l #3,d1
  2598.     or.l (a5,d1),d3
  2599.     or.l 4(a5,d1),d4
  2600.  
  2601.     clr.l d1
  2602.     move.w d5,d1    
  2603.     clr.w d5
  2604.     swap d5
  2605.     lsl.l #3,d5
  2606.     or.l (a4,d5),d3
  2607.     or.l 4(a4,d5),d4
  2608.  
  2609.     lsl.l #3,d1
  2610.     or.l (a3,d1),d3
  2611.     or.l 4(a3,d1),d4
  2612.  
  2613.         clr.l (a1)+        ; clear 4 chunky source pixels
  2614.  
  2615.     clr.l d1
  2616.  
  2617.     move.w d6,d1    
  2618.     clr.w d6
  2619.     swap d6
  2620.     lsl.l #3,d6
  2621.  
  2622.     move.l (a6,d6),d5
  2623.     move.l 4(a6,d6),d6
  2624.  
  2625.     lsl.l #3,d1
  2626.     or.l (a5,d1),d5
  2627.     or.l 4(a5,d1),d6
  2628.  
  2629.         clr.l (a1)+        ; clear 4 chunky source pixels
  2630.  
  2631.  
  2632.  
  2633.     clr.l d1
  2634.     move.w d0,d1    
  2635.     clr.w d0
  2636.     swap d0
  2637.     lsl.l #3,d0
  2638.  
  2639.     or.l (a4,d0),d5
  2640.     or.l 4(a4,d0),d6
  2641.  
  2642.     lsl.l #3,d1
  2643.     or.l (a3,d1),d5
  2644.     or.l 4(a3,d1),d6
  2645.  
  2646.         clr.l (a1)+        ; clear 4 chunky source pixels
  2647.  
  2648.     move.l d3,d0        
  2649.     move.l d5,d1
  2650.  
  2651.     and.l d2,d0
  2652.     and.l d2,d1
  2653.  
  2654.     eor.l d0,d3
  2655.     eor.l d1,d5
  2656.  
  2657.     lsr.l #8,d1
  2658.     or.l d1,d0        ; d0 = A1a2c1c2
  2659.  
  2660.     move.l d0,(a2)+        
  2661.  
  2662.     lsl.l #8,d3
  2663.  
  2664.         move.l d4,d0        
  2665.  
  2666.     or.l d5,d3
  2667.  
  2668.         move.l d6,d1
  2669.  
  2670.  
  2671.     move.l d3,(a2)+        ; d3 = b1b2d1d2
  2672.  
  2673.  
  2674.  
  2675.     and.l d2,d0
  2676.     and.l d2,d1
  2677.  
  2678.     eor.l d0,d4
  2679.     eor.l d1,d6
  2680.  
  2681.     lsr.l #8,d1
  2682.     or.l d1,d0        ; d0 = A1a2c1c2
  2683.  
  2684.     move.l d0,(a2)+        
  2685.  
  2686.     lsl.l #8,d4
  2687.     or.l d6,d4
  2688.  
  2689.     move.l d4,(a2)+
  2690.     
  2691.     dbf d7,Pllb_C2p_NullSkip_8bit_2meg_1by1_LP
  2692.  
  2693.     rts
  2694.  
  2695.  
  2696. Pllb_C2p_NullSkip_8bit_2meg_1by1_APEND:
  2697.  
  2698.  
  2699.  
  2700.  
  2701.  
  2702.  
  2703.  
  2704.  
  2705. ;    -    -    -    -    -    -    -    -    -
  2706.  
  2707. ;        >> DELTANULLSKIP/CLEAR 256 colour Pllb-C2P <<
  2708.  
  2709. ;                Single pixel Width
  2710.  
  2711. ;               512k fastram version
  2712.  
  2713. ;    -    -    -    -    -    -    -    -    -
  2714.  
  2715.  
  2716. Pllb_C2p_DeltaNullSkip_8bit_512k_1by1:
  2717.  
  2718.     bsr Pllb_c2p_init_DELTANULLSKIP_c2p_registers
  2719.  
  2720.     ; a4,a5 tables are NOT USED
  2721.  
  2722.  
  2723.     move.l #16,a5
  2724.  
  2725.     ; a6 = pointer to the second Frame Buffer.
  2726.  
  2727.  
  2728.     blk.w 32,$4e71        ; insert NOP's to ensure routine alignment
  2729.  
  2730.  
  2731. Pllb_C2p_DeltaNullSkip_8bit_512k_1by1_AP:
  2732.  
  2733. Pllb_C2p_DeltaNullSkip_8bit_512k_1by1_LP:
  2734.  
  2735.     move.l (a0)+,d4
  2736.     bne.b Pllb_C2p_DeltaNullSkip_8bit_512k_1by1_Cont4
  2737.     move.l (a0)+,d5
  2738.     bne.b Pllb_C2p_DeltaNullSkip_8bit_512k_1by1_Cont3
  2739.     move.l (a0)+,d6
  2740.     bne.b Pllb_C2p_DeltaNullSkip_8bit_512k_1by1_Cont2
  2741.     move.l (a0)+,d0
  2742.     bne.b Pllb_C2p_DeltaNullSkip_8bit_512k_1by1_Cont1
  2743.  
  2744.     tst.b (a6)
  2745.     bne.b Pllb_C2p_DeltaNullSkip_8bit_512k_1by1_nodelta
  2746.  
  2747.         add.l a5,a2
  2748.         add.l a5,a1
  2749.  
  2750.         addq.l #1,a6
  2751.         
  2752.         dbf d7,Pllb_C2p_DeltaNullSkip_8bit_512k_1by1_LP
  2753.  
  2754.     rts
  2755.  
  2756.  
  2757. Pllb_C2p_DeltaNullSkip_8bit_512k_1by1_nodelta:
  2758.  
  2759.         clr.l (a2)+
  2760.         add.l a5,a1
  2761.         clr.l (a2)+
  2762.         clr.l (a2)+
  2763.         clr.l (a2)+
  2764.  
  2765.         clr.b (a6)+
  2766.         
  2767.         dbf d7,Pllb_C2p_DeltaNullSkip_8bit_512k_1by1_LP
  2768.  
  2769.     rts
  2770.     nop
  2771.  
  2772.  
  2773. Pllb_C2p_DeltaNullSkip_8bit_512k_1by1_Cont4:
  2774.  
  2775.     move.l (a0)+,d5
  2776.  
  2777. Pllb_C2p_DeltaNullSkip_8bit_512k_1by1_Cont3:
  2778.  
  2779.     move.l (a0)+,d6
  2780.  
  2781. Pllb_C2p_DeltaNullSkip_8bit_512k_1by1_Cont2:
  2782.  
  2783.     move.l (a0)+,d0
  2784.  
  2785. Pllb_C2p_DeltaNullSkip_8bit_512k_1by1_Cont1:
  2786.  
  2787.     clr.l (a1)+        ; clear 4 chunky source pixels
  2788.  
  2789.  
  2790.     clr.l d1
  2791.     move.w d4,d1    
  2792.     clr.w d4
  2793.  
  2794.  
  2795.     st.b (a6)+        ; Set DElta nullskip flag for this 16
  2796.                 ; pixels
  2797.     swap d4
  2798.     lsl.l #3,d4
  2799.     lsl.l #3,d1
  2800.  
  2801.     move.l (a3,d4),d3
  2802.     move.l 4(a3,d4),d4
  2803.         lsl.l #2,d3
  2804.         lsl.l #2,d4
  2805.     or.l (a3,d1),d3
  2806.     or.l 4(a3,d1),d4
  2807.         lsl.l #2,d3
  2808.         lsl.l #2,d4
  2809.  
  2810.  
  2811.     clr.l d1
  2812.     move.w d5,d1    
  2813.     clr.w d5
  2814.     swap d5
  2815.     lsl.l #3,d5
  2816.     lsl.l #3,d1
  2817.     or.l (a3,d5),d3
  2818.     or.l 4(a3,d5),d4
  2819.         lsl.l #2,d3
  2820.         lsl.l #2,d4
  2821.     or.l (a3,d1),d3
  2822.     or.l 4(a3,d1),d4
  2823.  
  2824.  
  2825.         clr.l (a1)+        ; clear 4 chunky source pixels
  2826.  
  2827.     clr.l d1
  2828.  
  2829.     move.w d6,d1    
  2830.     clr.w d6
  2831.     swap d6
  2832.     lsl.l #3,d6
  2833.  
  2834.     move.l (a3,d6),d5
  2835.     move.l 4(a3,d6),d6
  2836.         lsl.l #2,d5
  2837.         lsl.l #2,d6
  2838.  
  2839.  
  2840.     lsl.l #3,d1
  2841.     or.l (a3,d1),d5
  2842.     or.l 4(a3,d1),d6
  2843.         lsl.l #2,d5
  2844.         lsl.l #2,d6
  2845.  
  2846.  
  2847.         clr.l (a1)+        ; clear 4 chunky source pixels
  2848.  
  2849.     clr.l d1
  2850.     move.w d0,d1    
  2851.     clr.w d0
  2852.     swap d0
  2853.     lsl.l #3,d0
  2854.  
  2855.     lsl.l #3,d1
  2856.  
  2857.     or.l (a3,d0),d5
  2858.     or.l 4(a3,d0),d6
  2859.  
  2860.         lsl.l #2,d5
  2861.         lsl.l #2,d6
  2862.  
  2863.     or.l (a3,d1),d5
  2864.     or.l 4(a3,d1),d6
  2865.  
  2866.         clr.l (a1)+        ; clear 4 chunky source pixels
  2867.  
  2868.     move.l d3,d0        
  2869.     move.l d5,d1
  2870.  
  2871.     and.l d2,d0
  2872.     and.l d2,d1
  2873.  
  2874.     eor.l d0,d3
  2875.     eor.l d1,d5
  2876.  
  2877.     lsr.l #8,d1
  2878.     or.l d1,d0        ; d0 = A1a2c1c2
  2879.  
  2880.     move.l d0,(a2)+        
  2881.  
  2882.     lsl.l #8,d3
  2883.  
  2884.         move.l d4,d0        
  2885.  
  2886.     or.l d5,d3
  2887.  
  2888.         move.l d6,d1
  2889.  
  2890.  
  2891.     move.l d3,(a2)+        ; d3 = b1b2d1d2
  2892.  
  2893.     and.l d2,d0
  2894.     and.l d2,d1
  2895.  
  2896.     eor.l d0,d4
  2897.     eor.l d1,d6
  2898.  
  2899.     lsr.l #8,d1
  2900.     or.l d1,d0        ; d0 = A1a2c1c2
  2901.  
  2902.     move.l d0,(a2)+        
  2903.  
  2904.     lsl.l #8,d4
  2905.     or.l d6,d4
  2906.  
  2907.     move.l d4,(a2)+
  2908.     
  2909.     dbf d7,Pllb_C2p_DeltaNullSkip_8bit_512k_1by1_LP
  2910.  
  2911.     rts
  2912.  
  2913.  
  2914. Pllb_C2p_DeltaNullSkip_8bit_512k_1by1_APEND:
  2915.  
  2916.  
  2917.  
  2918.  
  2919.  
  2920.  
  2921.  
  2922.  
  2923.  
  2924.  
  2925. ;    -    -    -    -    -    -    -    -    -
  2926.  
  2927. ;            >> DeltaNULLSKIP/CLEAR 256 colour Pllb-C2P <<
  2928.  
  2929. ;                Single pixel Width
  2930.  
  2931. ;               1meg fastram version
  2932.  
  2933. ;    -    -    -    -    -    -    -    -    -
  2934.  
  2935.  
  2936. Pllb_C2p_DeltaNullSkip_8bit_1Meg_1by1:
  2937.  
  2938.     bsr Pllb_c2p_init_DeltaNullSkip_c2p_registers
  2939.  
  2940.     ; a5
  2941.  
  2942.     move.l #16,a5
  2943.  
  2944.     ;a6='s pointer to the Compare cleared buffer
  2945.  
  2946.     blk.w 32,$4e71        ; insert NOP's to ensure routine alignment
  2947.  
  2948.  
  2949. Pllb_C2p_DeltaNullSkip_8bit_1Meg_1by1_AP:
  2950.  
  2951.  
  2952. Pllb_C2p_DeltaNullSkip_8bit_1Meg_1by1_LP:
  2953.  
  2954.     move.l (a0)+,d4
  2955.     bne.b Pllb_C2p_DeltaNullSkip_8bit_1Meg_1by1_Cont4
  2956.     move.l (a0)+,d5
  2957.     bne.b Pllb_C2p_DeltaNullSkip_8bit_1Meg_1by1_Cont3
  2958.     move.l (a0)+,d6
  2959.     bne.b Pllb_C2p_DeltaNullSkip_8bit_1Meg_1by1_Cont2
  2960.     move.l (a0)+,d0
  2961.     bne.b Pllb_C2p_DeltaNullSkip_8bit_1Meg_1by1_Cont1
  2962.  
  2963.  
  2964.     tst.b (a6)
  2965.     bne.b Pllb_C2p_DeltaNullSkip_8bit_1Meg_1by1_nodelta
  2966.  
  2967.         add.l a5,a1
  2968.         add.l a5,a2
  2969.  
  2970.         addq.l #1,a6
  2971.         
  2972.         dbf d7,Pllb_C2p_DeltaNullSkip_8bit_1Meg_1by1_LP
  2973.  
  2974.     rts
  2975.  
  2976.  
  2977. Pllb_C2p_DeltaNullSkip_8bit_1Meg_1by1_nodelta:
  2978.  
  2979.         clr.l (a2)+
  2980.         add.l a5,a1
  2981.         clr.l (a2)+
  2982.         clr.l (a2)+
  2983.         clr.l (a2)+
  2984.  
  2985.         clr.b (a6)+
  2986.         
  2987.         dbf d7,Pllb_C2p_DeltaNullSkip_8bit_1Meg_1by1_LP
  2988.     rts
  2989.     nop
  2990.  
  2991.  
  2992. Pllb_C2p_DeltaNullSkip_8bit_1Meg_1by1_Cont4:
  2993.  
  2994.     move.l (a0)+,d5
  2995.  
  2996. Pllb_C2p_DeltaNullSkip_8bit_1Meg_1by1_Cont3:
  2997.  
  2998.     move.l (a0)+,d6
  2999.  
  3000. Pllb_C2p_DeltaNullSkip_8bit_1Meg_1by1_Cont2:
  3001.  
  3002.     move.l (a0)+,d0
  3003.  
  3004. Pllb_C2p_DeltaNullSkip_8bit_1Meg_1by1_Cont1:
  3005.  
  3006.  
  3007.         clr.l (a1)+        ; clear 4 chunky source pixels
  3008.  
  3009.     clr.l d1
  3010.     move.w d4,d1    
  3011.     clr.w d4
  3012.  
  3013.         st.b (a6)+
  3014.  
  3015.     swap d4
  3016.  
  3017.     ; d0 = bytes ABCD
  3018.  
  3019.     lsl.l #3,d4
  3020.     lsl.l #3,d1
  3021.     move.l (a4,d4),d3
  3022.     move.l 4(a4,d4),d4
  3023.         lsl.l #2,d3
  3024.         lsl.l #2,d4
  3025.  
  3026.  
  3027.     or.l (a4,d1),d3
  3028.     or.l 4(a4,d1),d4
  3029.         lsl.l #2,d3
  3030.         lsl.l #2,d4
  3031.  
  3032.  
  3033.     clr.l d1
  3034.     move.w d5,d1    
  3035.     clr.w d5
  3036.     swap d5
  3037.     lsl.l #3,d5
  3038.     lsl.l #3,d1
  3039.  
  3040.     or.l (a4,d5),d3
  3041.     or.l 4(a4,d5),d4
  3042.  
  3043.     or.l (a3,d1),d3
  3044.     or.l 4(a3,d1),d4
  3045.  
  3046.         clr.l (a1)+        ; clear 4 chunky source pixels
  3047.  
  3048.     clr.l d1
  3049.     move.w d6,d1    
  3050.     clr.w d6
  3051.     swap d6
  3052.     lsl.l #3,d6
  3053.     lsl.l #3,d1
  3054.  
  3055.     move.l (a4,d6),d5
  3056.     move.l 4(a4,d6),d6
  3057.         lsl.l #2,d5
  3058.         lsl.l #2,d6
  3059.  
  3060.  
  3061.     or.l (a4,d1),d5
  3062.     or.l 4(a4,d1),d6
  3063.         lsl.l #2,d5
  3064.         lsl.l #2,d6
  3065.  
  3066.  
  3067.         clr.l (a1)+        ; clear 4 chunky source pixels
  3068.  
  3069.     clr.l d1
  3070.     move.w d0,d1    
  3071.     clr.w d0
  3072.     swap d0
  3073.     lsl.l #3,d0
  3074.     lsl.l #3,d1
  3075.  
  3076.     or.l (a4,d0),d5
  3077.     or.l 4(a4,d0),d6
  3078.  
  3079.     or.l (a3,d1),d5
  3080.     or.l 4(a3,d1),d6
  3081.  
  3082.         clr.l (a1)+        ; clear 4 chunky source pixels
  3083.  
  3084.  
  3085.     move.l d3,d0        
  3086.     move.l d5,d1
  3087.  
  3088.     and.l d2,d0
  3089.     and.l d2,d1
  3090.  
  3091.     eor.l d0,d3
  3092.     eor.l d1,d5
  3093.  
  3094.     lsr.l #8,d1
  3095.     or.l d1,d0        ; d0 = A1a2c1c2
  3096.  
  3097.     move.l d0,(a2)+        
  3098.  
  3099.     lsl.l #8,d3
  3100.  
  3101.         move.l d4,d0        
  3102.  
  3103.     or.l d5,d3
  3104.  
  3105.         move.l d6,d1
  3106.  
  3107.  
  3108.     move.l d3,(a2)+        ; d3 = b1b2d1d2
  3109.  
  3110.  
  3111.  
  3112.     and.l d2,d0
  3113.     and.l d2,d1
  3114.  
  3115.     eor.l d0,d4
  3116.     eor.l d1,d6
  3117.  
  3118.     lsr.l #8,d1
  3119.     or.l d1,d0        ; d0 = A1a2c1c2
  3120.  
  3121.     move.l d0,(a2)+        
  3122.  
  3123.     lsl.l #8,d4
  3124.     or.l d6,d4
  3125.  
  3126.     move.l d4,(a2)+
  3127.     
  3128.     dbf d7,Pllb_C2p_DeltaNullSkip_8bit_1Meg_1by1_LP
  3129.  
  3130.     rts
  3131.  
  3132.  
  3133. Pllb_C2p_DeltaNullSkip_8bit_1meg_1by1_APEND:
  3134.  
  3135.  
  3136.  
  3137.  
  3138.  
  3139.  
  3140.  
  3141.  
  3142.  
  3143.  
  3144.  
  3145. ;    -    -    -    -    -    -    -    -    -
  3146.  
  3147. ;         >> DELTANULLSKIP/CLEAR 256 colour Pllb-C2P <<
  3148.  
  3149. ;                Single pixel Width
  3150.  
  3151. ;               1.5meg fastram version
  3152.  
  3153. ;    -    -    -    -    -    -    -    -    -
  3154.  
  3155.  
  3156. Pllb_C2p_DeltaNullSkip_8bit_1_5Meg_1by1:
  3157.  
  3158.     bsr Pllb_c2p_init_DeltaNullSkip_c2p_registers
  3159.  
  3160.     ; a6 not used
  3161.  
  3162.     blk.w 32,$4e71        ; insert NOP's to ensure routine alignment
  3163.  
  3164.  
  3165. Pllb_C2p_DeltaNullSkip_8bit_1_5Meg_1by1_AP:
  3166.  
  3167.  
  3168. Pllb_C2p_DeltaNullSkip_8bit_1_5Meg_1by1_LP:
  3169.  
  3170.     move.l (a0)+,d4
  3171.     bne.b Pllb_C2p_DeltaNullSkip_8bit_1_5Meg_1by1_Cont4
  3172.     move.l (a0)+,d5
  3173.     bne.b Pllb_C2p_DeltaNullSkip_8bit_1_5Meg_1by1_Cont3
  3174.     move.l (a0)+,d6
  3175.     bne.b Pllb_C2p_DeltaNullSkip_8bit_1_5Meg_1by1_Cont2
  3176.     move.l (a0)+,d0
  3177.     bne.b Pllb_C2p_DeltaNullSkip_8bit_1_5Meg_1by1_Cont1
  3178.  
  3179.  
  3180.     moveq.l #16,d0
  3181.  
  3182.     tst.b (a6)
  3183.     bne.b Pllb_C2p_DeltaNullSkip_8bit_1_5Meg_1by1_nodelta
  3184.  
  3185.         add.l d0,a1
  3186.         add.l d0,a2
  3187.  
  3188.         addq.l #1,a6
  3189.         
  3190.         dbf d7,Pllb_C2p_DeltaNullSkip_8bit_1_5Meg_1by1_LP
  3191.  
  3192.     rts
  3193.  
  3194.  
  3195. Pllb_C2p_DeltaNullSkip_8bit_1_5Meg_1by1_nodelta:
  3196.  
  3197.         clr.l (a2)+
  3198.         add.l d0,a1
  3199.         clr.l (a2)+
  3200.         clr.l (a2)+
  3201.         clr.l (a2)+
  3202.  
  3203.         clr.b (a6)+
  3204.         
  3205.         dbf d7,Pllb_C2p_DeltaNullSkip_8bit_1_5Meg_1by1_LP
  3206.  
  3207.  
  3208.     rts
  3209.     nop
  3210.  
  3211.  
  3212. Pllb_C2p_DeltaNullSkip_8bit_1_5Meg_1by1_Cont4:
  3213.  
  3214.     move.l (a0)+,d5
  3215.  
  3216. Pllb_C2p_DeltaNullSkip_8bit_1_5Meg_1by1_Cont3:
  3217.  
  3218.     move.l (a0)+,d6
  3219.  
  3220. Pllb_C2p_DeltaNullSkip_8bit_1_5Meg_1by1_Cont2:
  3221.  
  3222.     move.l (a0)+,d0
  3223.  
  3224. Pllb_C2p_DeltaNullSkip_8bit_1_5Meg_1by1_Cont1:
  3225.  
  3226.  
  3227.         clr.l (a1)+        ; clear 4 chunky source pixels
  3228.  
  3229.     clr.l d1
  3230.     move.w d4,d1    
  3231.     clr.w d4
  3232.  
  3233.  
  3234.         st.b (a6)+
  3235.     swap d4
  3236.     lsl.l #3,d4
  3237.     lsl.l #3,d1
  3238.  
  3239.     move.l (a5,d4),d3
  3240.     move.l 4(a5,d4),d4
  3241.         lsl.l #2,d3
  3242.         lsl.l #2,d4
  3243.  
  3244.  
  3245.     or.l (a5,d1),d3
  3246.     or.l 4(a5,d1),d4
  3247.  
  3248.     clr.l d1
  3249.     move.w d5,d1    
  3250.     clr.w d5
  3251.     swap d5
  3252.     lsl.l #3,d5
  3253.     or.l (a4,d5),d3
  3254.     or.l 4(a4,d5),d4
  3255.  
  3256.     lsl.l #3,d1
  3257.     or.l (a3,d1),d3
  3258.     or.l 4(a3,d1),d4
  3259.  
  3260.         clr.l (a1)+        ; clear 4 chunky source pixels
  3261.  
  3262.     clr.l d1
  3263.  
  3264.     move.w d6,d1    
  3265.     clr.w d6
  3266.     swap d6
  3267.     lsl.l #3,d6
  3268.  
  3269.     move.l (a5,d6),d5
  3270.     move.l 4(a5,d6),d6
  3271.         lsl.l #2,d5
  3272.         lsl.l #2,d6
  3273.  
  3274.  
  3275.     lsl.l #3,d1
  3276.     or.l (a5,d1),d5
  3277.     or.l 4(a5,d1),d6
  3278.  
  3279.         clr.l (a1)+        ; clear 4 chunky source pixels
  3280.  
  3281.  
  3282.  
  3283.     clr.l d1
  3284.     move.w d0,d1    
  3285.     clr.w d0
  3286.     swap d0
  3287.     lsl.l #3,d0
  3288.  
  3289.     or.l (a4,d0),d5
  3290.     or.l 4(a4,d0),d6
  3291.     lsl.l #3,d1
  3292.     or.l (a3,d1),d5
  3293.     or.l 4(a3,d1),d6
  3294.  
  3295.         clr.l (a1)+        ; clear 4 chunky source pixels
  3296.  
  3297.     move.l d3,d0        
  3298.     move.l d5,d1
  3299.  
  3300.     and.l d2,d0
  3301.     and.l d2,d1
  3302.  
  3303.     eor.l d0,d3
  3304.     eor.l d1,d5
  3305.  
  3306.     lsr.l #8,d1
  3307.     or.l d1,d0        ; d0 = A1a2c1c2
  3308.  
  3309.     move.l d0,(a2)+        
  3310.  
  3311.     lsl.l #8,d3
  3312.  
  3313.         move.l d4,d0        
  3314.  
  3315.     or.l d5,d3
  3316.  
  3317.         move.l d6,d1
  3318.  
  3319.  
  3320.     move.l d3,(a2)+        ; d3 = b1b2d1d2
  3321.  
  3322.  
  3323.     and.l d2,d0
  3324.     and.l d2,d1
  3325.  
  3326.     eor.l d0,d4
  3327.     eor.l d1,d6
  3328.  
  3329.     lsr.l #8,d1
  3330.     or.l d1,d0        ; d0 = A1a2c1c2
  3331.  
  3332.     move.l d0,(a2)+        
  3333.  
  3334.     lsl.l #8,d4
  3335.     or.l d6,d4
  3336.  
  3337.     move.l d4,(a2)+
  3338.     
  3339.     dbf d7,Pllb_C2p_DeltaNullSkip_8bit_1_5Meg_1by1_LP
  3340.  
  3341.     rts
  3342.  
  3343.  
  3344. Pllb_C2p_DeltaNullSkip_8bit_1_5meg_1by1_APEND:
  3345.  
  3346.  
  3347.  
  3348.  
  3349.  
  3350.  
  3351.  
  3352.  
  3353.  
  3354.  
  3355.  
  3356. ;    -    -    -    -    -    -    -    -    -
  3357.  
  3358. ;               >> Normal 256 colour Pllb-C2P <<
  3359.  
  3360. ;                Double pixel Width
  3361.  
  3362. ;               512k fastram version
  3363.  
  3364. ;    -    -    -    -    -    -    -    -    -
  3365.  
  3366.  
  3367. Pllb_C2p_8bit_512k_2by1:
  3368.  
  3369.     bsr Pllb_c2p_init_Normal_c2p_registers
  3370.  
  3371.     blk.w 32,$4e71        ; insert NOP's to ensure routine alignment
  3372.  
  3373.  
  3374. Pllb_C2p_8bit_512k_2by1_AP:
  3375.  
  3376.     clr.l d1
  3377.     move.l (a0)+,d0
  3378.     move.w d0,d1    
  3379.     clr.w d0
  3380.     nop
  3381.     nop
  3382.     nop
  3383.     bra.b Pllb_C2p_8bit_512k_2by1_Skip    
  3384.  
  3385. Pllb_C2p_8bit_512k_2by1_lp:
  3386.  
  3387.     
  3388.     clr.l d1
  3389.     move.l (a0)+,d0
  3390.     move.w d0,d1    
  3391.     clr.w d0
  3392.  
  3393.         move.l d4,(a1)+    
  3394.  
  3395. Pllb_C2p_8bit_512k_2by1_Skip:
  3396.  
  3397.  
  3398.     swap d0
  3399.     lsl.l #3,d0
  3400.     lsl.l #3,d1
  3401.  
  3402.     move.l (a3,d0),d3
  3403.     move.l 4(a3,d0),d4
  3404.  
  3405.         lsl.l #4,d3
  3406.         lsl.l #4,d4
  3407.  
  3408.  
  3409.     or.l (a3,d1),d3
  3410.     or.l 4(a3,d1),d4
  3411.  
  3412.  
  3413.     clr.l d1
  3414.     move.l (a0)+,d0
  3415.     move.w d0,d1    
  3416.     clr.w d0
  3417.     swap d0
  3418.  
  3419.     lsl.l #3,d0
  3420.  
  3421.     lsl.l #3,d1
  3422.  
  3423.     move.l (a3,d0),d5
  3424.     move.l 4(a3,d0),d6
  3425.  
  3426.     lsl.l #4,d5
  3427.     lsl.l #4,d6
  3428.  
  3429.     or.l (a3,d1),d5
  3430.     or.l 4(a3,d1),d6
  3431.  
  3432.  
  3433.     move.l d3,d0        
  3434.     move.l d5,d1
  3435.  
  3436.     and.l d2,d0
  3437.     and.l d2,d1
  3438.  
  3439.     eor.l d0,d3
  3440.     eor.l d1,d5
  3441.  
  3442.     lsr.l #8,d1
  3443.     or.l d1,d0        ; d0 = A1a2c1c2
  3444.  
  3445.         move.l d0,(a1)+        
  3446.  
  3447.     lsl.l #8,d3
  3448.  
  3449.         move.l d4,d0        
  3450.  
  3451.     or.l d5,d3
  3452.  
  3453.         move.l d6,d1
  3454.  
  3455.  
  3456.         move.l d3,(a1)+        ; d3 = b1b2d1d2
  3457.  
  3458.  
  3459.     and.l d2,d0
  3460.     and.l d2,d1
  3461.  
  3462.     eor.l d0,d4
  3463.     eor.l d1,d6
  3464.  
  3465.     lsr.l #8,d1
  3466.     or.l d1,d0        ; d0 = A1a2c1c2
  3467.  
  3468.         move.l d0,(a1)+        
  3469.  
  3470.     lsl.l #8,d4
  3471.     or.l d6,d4
  3472.  
  3473.     dbf d7,Pllb_C2p_8bit_512k_2by1_lp
  3474.  
  3475.     move.l d4,(a1)+        ; write outstanding long word
  3476.     rts
  3477.  
  3478.  
  3479. Pllb_C2p_8bit_512k_2by1_APEnd:
  3480.  
  3481.  
  3482.  
  3483.  
  3484.  
  3485.  
  3486.  
  3487.  
  3488.  
  3489.  
  3490.  
  3491. ;    -    -    -    -    -    -    -    -    -
  3492.  
  3493. ;               >> Normal 256 colour Pllb-C2P <<
  3494.  
  3495. ;                Double pixel Width
  3496.  
  3497. ;               1meg fastram version
  3498.  
  3499. ;    -    -    -    -    -    -    -    -    -
  3500.  
  3501.  
  3502. Pllb_C2p_8bit_1meg_2by1:
  3503.  
  3504.     bsr Pllb_c2p_init_Normal_c2p_registers
  3505.  
  3506.     blk.w 32,$4e71        ; insert NOP's to ensure routine alignment
  3507.  
  3508.  
  3509. Pllb_C2p_8bit_1meg_2by1_AP:
  3510.  
  3511.     clr.l d1
  3512.     move.l (a0)+,d0
  3513.     move.w d0,d1    
  3514.     clr.w d0
  3515.     nop
  3516.     nop
  3517.     nop
  3518.     bra.b Pllb_C2p_8bit_1meg_2by1_Skip    
  3519.  
  3520. Pllb_C2p_8bit_1meg_2by1_lp:
  3521.  
  3522.     
  3523.     clr.l d1
  3524.     move.l (a0)+,d0
  3525.     move.w d0,d1    
  3526.     clr.w d0
  3527.  
  3528.         move.l d4,(a1)+    
  3529.  
  3530. Pllb_C2p_8bit_1meg_2by1_Skip:
  3531.  
  3532.  
  3533.     swap d0
  3534.     lsl.l #3,d0
  3535.     lsl.l #3,d1
  3536.  
  3537.     move.l (a4,d0),d3
  3538.     move.l 4(a4,d0),d4
  3539.  
  3540.  
  3541.     or.l (a3,d1),d3
  3542.     or.l 4(a3,d1),d4
  3543.  
  3544.  
  3545.     clr.l d1
  3546.     move.l (a0)+,d0
  3547.     move.w d0,d1    
  3548.     clr.w d0
  3549.     swap d0
  3550.  
  3551.     lsl.l #3,d0
  3552.  
  3553.     lsl.l #3,d1
  3554.  
  3555.     move.l (a4,d0),d5
  3556.     move.l 4(a4,d0),d6
  3557.  
  3558.     or.l (a3,d1),d5
  3559.     or.l 4(a3,d1),d6
  3560.  
  3561.  
  3562.     move.l d3,d0        
  3563.     move.l d5,d1
  3564.  
  3565.     and.l d2,d0
  3566.     and.l d2,d1
  3567.  
  3568.     eor.l d0,d3
  3569.     eor.l d1,d5
  3570.  
  3571.     lsr.l #8,d1
  3572.     or.l d1,d0        ; d0 = A1a2c1c2
  3573.  
  3574.         move.l d0,(a1)+        
  3575.  
  3576.     lsl.l #8,d3
  3577.  
  3578.         move.l d4,d0        
  3579.  
  3580.     or.l d5,d3
  3581.  
  3582.         move.l d6,d1
  3583.  
  3584.  
  3585.         move.l d3,(a1)+        ; d3 = b1b2d1d2
  3586.  
  3587.  
  3588.     and.l d2,d0
  3589.     and.l d2,d1
  3590.  
  3591.     eor.l d0,d4
  3592.     eor.l d1,d6
  3593.  
  3594.     lsr.l #8,d1
  3595.     or.l d1,d0        ; d0 = A1a2c1c2
  3596.  
  3597.         move.l d0,(a1)+        
  3598.  
  3599.     lsl.l #8,d4
  3600.     or.l d6,d4
  3601.  
  3602.     dbf d7,Pllb_C2p_8bit_1meg_2by1_lp
  3603.  
  3604.     move.l d4,(a1)+        ; write outstanding long word
  3605.     rts
  3606.  
  3607.  
  3608. Pllb_C2p_8bit_1meg_2by1_APEnd:
  3609.  
  3610.  
  3611.  
  3612.  
  3613. ;    -    -    -    -    -    -    -    -    -
  3614.  
  3615.  
  3616. ;               >> DELTA 256 colour Pllb-C2P <<
  3617.  
  3618. ;                Double pixel Width
  3619.  
  3620. ;               512k fastram version
  3621.  
  3622. ;    -    -    -    -    -    -    -    -    -
  3623.  
  3624.  
  3625. Pllb_C2p_Delta_8bit_512k_2by1:
  3626.  
  3627.     bsr Pllb_c2p_init_DELTA_c2p_registers
  3628.  
  3629.     blk.w 32,$4e71        ; insert NOP's to ensure routine alignment
  3630.  
  3631.  
  3632. Pllb_C2p_Delta_8bit_512k_2by1_AP:
  3633.  
  3634.  
  3635. Pllb_C2p_Delta_8bit_512k_2by1_lp:
  3636.  
  3637.     move.l (a0)+,d4
  3638.     move.l (a0)+,d6
  3639.  
  3640.     cmp.l (a1)+,d4
  3641.     bne.b Pllb_C2p_Delta_8bit_512k_2by1_cont2
  3642.     cmp.l (a1)+,d6
  3643.     bne.b Pllb_C2p_Delta_8bit_512k_2by1_cont1
  3644.  
  3645.         add.w #16,a2
  3646.     
  3647.         dbf d7,Pllb_C2p_Delta_8bit_512k_2by1_lp
  3648.  
  3649.     rts
  3650.     nop
  3651.  
  3652.  
  3653. Pllb_C2p_Delta_8bit_512k_2by1_cont2:
  3654.  
  3655.     addq.l #4,a1
  3656.  
  3657. Pllb_C2p_Delta_8bit_512k_2by1_cont1:
  3658.  
  3659.     ; d0 = bytes ABCD
  3660.  
  3661.     clr.l d1
  3662.     move.w d4,d1    
  3663.     clr.w d4
  3664.     swap d4
  3665.     lsl.l #3,d4
  3666.     lsl.l #3,d1
  3667.  
  3668.     move.l (a4,d4),d3
  3669.     move.l 4(a4,d4),d4
  3670.  
  3671.     or.l (a3,d1),d3
  3672.     or.l 4(a3,d1),d4
  3673.  
  3674.     clr.l d1
  3675.     move.w d6,d1    
  3676.     clr.w d6
  3677.     swap d6
  3678.     lsl.l #3,d6
  3679.     lsl.l #3,d1
  3680.  
  3681.     move.l (a4,d6),d5
  3682.     move.l 4(a4,d6),d6
  3683.     or.l (a3,d1),d5
  3684.     or.l 4(a3,d1),d6
  3685.  
  3686.     move.l d3,d0        
  3687.     move.l d5,d1
  3688.  
  3689.     and.l d2,d0
  3690.     and.l d2,d1
  3691.  
  3692.     eor.l d0,d3
  3693.     eor.l d1,d5
  3694.  
  3695.     lsr.l #8,d1
  3696.     or.l d1,d0        ; d0 = A1a2c1c2
  3697.  
  3698.     move.l d0,(a2)+        
  3699.  
  3700.     lsl.l #8,d3
  3701.  
  3702.         move.l d4,d0        
  3703.  
  3704.     or.l d5,d3
  3705.  
  3706.         move.l d6,d1
  3707.  
  3708.  
  3709.     move.l d3,(a2)+        ; d3 = b1b2d1d2
  3710.  
  3711.  
  3712.  
  3713.     and.l d2,d0
  3714.     and.l d2,d1
  3715.  
  3716.     eor.l d0,d4
  3717.     eor.l d1,d6
  3718.  
  3719.     lsr.l #8,d1
  3720.     or.l d1,d0        ; d0 = A1a2c1c2
  3721.  
  3722.     move.l d0,(a2)+        
  3723.  
  3724.     lsl.l #8,d4
  3725.     or.l d6,d4
  3726.  
  3727.     move.l d4,(a2)+
  3728.     
  3729.     dbf d7,Pllb_C2p_Delta_8bit_512k_2by1_lp
  3730.  
  3731.     rts
  3732.  
  3733.  
  3734. Pllb_C2p_Delta_8bit_512k_2by1_APEND:
  3735.  
  3736.  
  3737.  
  3738.  
  3739. ;    -    -    -    -    -    -    -    -    -
  3740.  
  3741. ;               >> DELTA 256 colour Pllb-C2P <<
  3742.  
  3743. ;                Double pixel Width
  3744.  
  3745. ;               1meg fastram version
  3746.  
  3747. ;    -    -    -    -    -    -    -    -    -
  3748.  
  3749.  
  3750.  
  3751. Pllb_C2p_Delta_8bit_1meg_2by1:
  3752.  
  3753.     bsr Pllb_c2p_init_DELTA_c2p_registers
  3754.  
  3755.     blk.w 32,$4e71        ; insert NOP's to ensure routine alignment
  3756.  
  3757.  
  3758. Pllb_C2p_Delta_8bit_1meg_2by1_AP:
  3759.  
  3760.  
  3761. Pllb_C2p_Delta_8bit_1meg_2by1_lp:
  3762.  
  3763.     move.l (a0)+,d4
  3764.     move.l (a0)+,d6
  3765.  
  3766.     cmp.l (a1)+,d4
  3767.     bne.b Pllb_C2p_Delta_8bit_1meg_2by1_cont2
  3768.     cmp.l (a1)+,d6
  3769.     bne.b Pllb_C2p_Delta_8bit_1meg_2by1_cont1
  3770.  
  3771.         add.w #16,a2
  3772.     
  3773.         dbf d7,Pllb_C2p_Delta_8bit_1meg_2by1_lp
  3774.  
  3775.     rts
  3776.     nop
  3777.  
  3778.  
  3779. Pllb_C2p_Delta_8bit_1meg_2by1_cont2:
  3780.  
  3781.     addq.l #4,a1
  3782.  
  3783. Pllb_C2p_Delta_8bit_1meg_2by1_cont1:
  3784.  
  3785.     clr.l d1
  3786.     move.w d4,d1    
  3787.     clr.w d4
  3788.     swap d4
  3789.     lsl.l #3,d4
  3790.     lsl.l #3,d1
  3791.  
  3792.     move.l (a4,d4),d3
  3793.     move.l 4(a4,d4),d4
  3794.  
  3795.     or.l (a3,d1),d3
  3796.     or.l 4(a3,d1),d4
  3797.  
  3798.     clr.l d1
  3799.     move.w d6,d1    
  3800.     clr.w d6
  3801.     swap d6
  3802.     lsl.l #3,d6
  3803.     lsl.l #3,d1
  3804.  
  3805.     move.l (a4,d6),d5
  3806.     move.l 4(a4,d6),d6
  3807.     or.l (a3,d1),d5
  3808.     or.l 4(a3,d1),d6
  3809.  
  3810.     move.l d3,d0        
  3811.     move.l d5,d1
  3812.  
  3813.     and.l d2,d0
  3814.     and.l d2,d1
  3815.  
  3816.     eor.l d0,d3
  3817.     eor.l d1,d5
  3818.  
  3819.     lsr.l #8,d1
  3820.     or.l d1,d0        ; d0 = A1a2c1c2
  3821.  
  3822.     move.l d0,(a2)+        
  3823.  
  3824.     lsl.l #8,d3
  3825.  
  3826.         move.l d4,d0        
  3827.  
  3828.     or.l d5,d3
  3829.  
  3830.         move.l d6,d1
  3831.  
  3832.  
  3833.     move.l d3,(a2)+        ; d3 = b1b2d1d2
  3834.  
  3835.  
  3836.  
  3837.     and.l d2,d0
  3838.     and.l d2,d1
  3839.  
  3840.     eor.l d0,d4
  3841.     eor.l d1,d6
  3842.  
  3843.     lsr.l #8,d1
  3844.     or.l d1,d0        ; d0 = A1a2c1c2
  3845.  
  3846.     move.l d0,(a2)+        
  3847.  
  3848.     lsl.l #8,d4
  3849.     or.l d6,d4
  3850.  
  3851.     move.l d4,(a2)+
  3852.     
  3853.     dbf d7,Pllb_C2p_Delta_8bit_1meg_2by1_lp
  3854.  
  3855.     rts
  3856.  
  3857.  
  3858. Pllb_C2p_Delta_8bit_1meg_2by1_APEND:
  3859.  
  3860.  
  3861.  
  3862.  
  3863. ;    -    -    -    -    -    -    -    -    -
  3864.  
  3865. ;           >> NULLSKIP/CLEAR 256 colour Pllb-C2P <<
  3866.  
  3867. ;                Double pixel Width
  3868.  
  3869. ;               512k fastram version
  3870.  
  3871. ;    -    -    -    -    -    -    -    -    -
  3872.  
  3873.  
  3874. Pllb_C2p_NUllSkip_8bit_512k_2by1:
  3875.  
  3876.     bsr Pllb_c2p_init_NULLSKIP_c2p_registers
  3877.  
  3878.     blk.w 32,$4e71        ; insert NOP's to ensure routine alignment
  3879.  
  3880.  
  3881. Pllb_C2p_NUllSkip_8bit_512k_2by1_AP:
  3882.  
  3883.  
  3884. Pllb_C2p_NUllSkip_8bit_512k_2by1_Lp:
  3885.  
  3886.     move.l (a0)+,d4
  3887.     bne.b Pllb_C2p_NUllSkip_8bit_512k_2by1_CONT2
  3888.     move.l (a0)+,d6
  3889.     bne.b Pllb_C2p_NUllSkip_8bit_512k_2by1_CONT1
  3890.  
  3891.         clr.l (a2)+
  3892.             addq.l #8,a1
  3893.         clr.l (a2)+
  3894.         clr.l (a2)+
  3895.         clr.l (a2)+
  3896.  
  3897.         dbf d7,Pllb_C2p_NUllSkip_8bit_512k_2by1_Lp
  3898.  
  3899.     rts
  3900.     nop
  3901.  
  3902.  
  3903. Pllb_C2p_NUllSkip_8bit_512k_2by1_CONT2:
  3904.  
  3905.     move.l (a0)+,d6
  3906.  
  3907.  
  3908. Pllb_C2p_NUllSkip_8bit_512k_2by1_CONT1:
  3909.  
  3910.     clr.l (a1)+    ; clear chunky pixels
  3911.  
  3912.     clr.l d1
  3913.     move.w d4,d1    
  3914.     clr.w d4
  3915.     swap d4
  3916.     lsl.l #3,d4
  3917.     lsl.l #3,d1
  3918.  
  3919.     move.l (a3,d4),d3
  3920.     move.l 4(a3,d4),d4
  3921.         lsl.l #4,d3
  3922.         lsl.l #4,d4
  3923.     or.l (a3,d1),d3
  3924.     or.l 4(a3,d1),d4
  3925.  
  3926.  
  3927.  
  3928.     clr.l (a1)+        ; clear chunky pixels 
  3929.  
  3930.  
  3931.     ; d0 = bytes ABCD
  3932.  
  3933.  
  3934.     clr.l d1
  3935.  
  3936.     move.w d6,d1    
  3937.     clr.w d6
  3938.     swap d6
  3939.     lsl.l #3,d6
  3940.     lsl.l #3,d1
  3941.  
  3942.     move.l (a3,d6),d5
  3943.     move.l 4(a3,d6),d6
  3944.         lsl.l #4,d5
  3945.         lsl.l #4,d6
  3946.     or.l (a3,d1),d5
  3947.     or.l 4(a3,d1),d6
  3948.  
  3949.     move.l d3,d0        
  3950.     move.l d5,d1
  3951.  
  3952.     and.l d2,d0
  3953.     and.l d2,d1
  3954.  
  3955.     eor.l d0,d3
  3956.     eor.l d1,d5
  3957.  
  3958.     lsr.l #8,d1
  3959.     or.l d1,d0        ; d0 = A1a2c1c2
  3960.  
  3961.     move.l d0,(a2)+        
  3962.  
  3963.     lsl.l #8,d3
  3964.  
  3965.         move.l d4,d0        
  3966.  
  3967.     or.l d5,d3
  3968.  
  3969.         move.l d6,d1
  3970.  
  3971.  
  3972.     move.l d3,(a2)+        ; d3 = b1b2d1d2
  3973.  
  3974.  
  3975.     and.l d2,d0
  3976.     and.l d2,d1
  3977.  
  3978.     eor.l d0,d4
  3979.     eor.l d1,d6
  3980.  
  3981.     lsr.l #8,d1
  3982.     or.l d1,d0        ; d0 = A1a2c1c2
  3983.  
  3984.     move.l d0,(a2)+        
  3985.  
  3986.     lsl.l #8,d4
  3987.     or.l d6,d4
  3988.  
  3989.     move.l d4,(a2)+
  3990.  
  3991.     dbf d7,Pllb_C2p_NUllSkip_8bit_512k_2by1_LP
  3992.  
  3993.     rts
  3994.  
  3995.  
  3996. Pllb_C2p_NUllSkip_8bit_512k_2by1_APEND:
  3997.  
  3998.  
  3999.  
  4000.  
  4001.  
  4002.  
  4003. ;    -    -    -    -    -    -    -    -    -
  4004.  
  4005. ;           >> NULLSKIP/CLEAR 256 colour Pllb-C2P <<
  4006.  
  4007. ;                Double pixel Width
  4008.  
  4009. ;               1Meg fastram version
  4010.  
  4011. ;    -    -    -    -    -    -    -    -    -
  4012.  
  4013.  
  4014. Pllb_C2p_NUllSkip_8bit_1Meg_2by1:
  4015.  
  4016.     bsr Pllb_c2p_init_NULLSKIP_c2p_registers
  4017.  
  4018.     blk.w 32,$4e71        ; insert NOP's to ensure routine alignment
  4019.  
  4020.  
  4021. Pllb_C2p_NUllSkip_8bit_1Meg_2by1_AP:
  4022.  
  4023.  
  4024. Pllb_C2p_NUllSkip_8bit_1Meg_2by1_Lp:
  4025.  
  4026.     move.l (a0)+,d4
  4027.     bne.b Pllb_C2p_NUllSkip_8bit_1Meg_2by1_CONT2
  4028.     move.l (a0)+,d6
  4029.     bne.b Pllb_C2p_NUllSkip_8bit_1Meg_2by1_CONT1
  4030.  
  4031.         clr.l (a2)+
  4032.             addq.l #8,a1
  4033.         clr.l (a2)+
  4034.         clr.l (a2)+
  4035.         clr.l (a2)+
  4036.  
  4037.  
  4038.         dbf d7,Pllb_C2p_NUllSkip_8bit_1Meg_2by1_Lp
  4039.  
  4040.     rts
  4041.     nop
  4042.  
  4043.  
  4044. Pllb_C2p_NUllSkip_8bit_1Meg_2by1_CONT2:
  4045.  
  4046.     move.l (a0)+,d6
  4047.  
  4048.  
  4049. Pllb_C2p_NUllSkip_8bit_1Meg_2by1_CONT1:
  4050.  
  4051.     clr.l (a1)+    ; clear chunky pixels
  4052.  
  4053.     clr.l d1
  4054.     move.w d4,d1    
  4055.     clr.w d4
  4056.     swap d4
  4057.     lsl.l #3,d4
  4058.     lsl.l #3,d1
  4059.  
  4060.     move.l (a3,d4),d3
  4061.     move.l 4(a3,d4),d4
  4062.         lsl.l #4,d3
  4063.         lsl.l #4,d4
  4064.     or.l (a3,d1),d3
  4065.     or.l 4(a3,d1),d4
  4066.  
  4067.  
  4068.  
  4069.     clr.l (a1)+        ; clear chunky pixels 
  4070.  
  4071.  
  4072.     ; d0 = bytes ABCD
  4073.  
  4074.  
  4075.     clr.l d1
  4076.  
  4077.     move.w d6,d1    
  4078.     clr.w d6
  4079.     swap d6
  4080.     lsl.l #3,d6
  4081.     lsl.l #3,d1
  4082.  
  4083.     move.l (a3,d6),d5
  4084.     move.l 4(a3,d6),d6
  4085.         lsl.l #4,d5
  4086.         lsl.l #4,d6
  4087.     or.l (a3,d1),d5
  4088.     or.l 4(a3,d1),d6
  4089.  
  4090.     move.l d3,d0        
  4091.     move.l d5,d1
  4092.  
  4093.     and.l d2,d0
  4094.     and.l d2,d1
  4095.  
  4096.     eor.l d0,d3
  4097.     eor.l d1,d5
  4098.  
  4099.     lsr.l #8,d1
  4100.     or.l d1,d0        ; d0 = A1a2c1c2
  4101.  
  4102.     move.l d0,(a2)+        
  4103.  
  4104.     lsl.l #8,d3
  4105.  
  4106.         move.l d4,d0        
  4107.  
  4108.     or.l d5,d3
  4109.  
  4110.         move.l d6,d1
  4111.  
  4112.  
  4113.     move.l d3,(a2)+        ; d3 = b1b2d1d2
  4114.  
  4115.  
  4116.     and.l d2,d0
  4117.     and.l d2,d1
  4118.  
  4119.     eor.l d0,d4
  4120.     eor.l d1,d6
  4121.  
  4122.     lsr.l #8,d1
  4123.     or.l d1,d0        ; d0 = A1a2c1c2
  4124.  
  4125.     move.l d0,(a2)+        
  4126.  
  4127.     lsl.l #8,d4
  4128.     or.l d6,d4
  4129.  
  4130.     move.l d4,(a2)+
  4131.  
  4132.     dbf d7,Pllb_C2p_NUllSkip_8bit_1Meg_2by1_LP
  4133.  
  4134.     rts
  4135.  
  4136.  
  4137. Pllb_C2p_NUllSkip_8bit_1Meg_2by1_APEND:
  4138.  
  4139.  
  4140.  
  4141.  
  4142.  
  4143.  
  4144.  
  4145.  
  4146.  
  4147.  
  4148. ;    -    -    -    -    -    -    -    -    -
  4149.  
  4150. ;           >> DELTANULLSKIP/CLEAR 256 colour Pllb-C2P <<
  4151.  
  4152. ;                Double pixel Width
  4153.  
  4154. ;               512k fastram version
  4155.  
  4156. ;    -    -    -    -    -    -    -    -    -
  4157.  
  4158.  
  4159. Pllb_C2p_DeltaNullSkip_8bit_512k_2by1:
  4160.  
  4161.     bsr Pllb_c2p_init_DeltaNullSkip_c2p_registers
  4162.  
  4163.  
  4164.     move.l #16,a5
  4165.  
  4166.     blk.w 32,$4e71        ; insert NOP's to ensure routine alignment
  4167.  
  4168.  
  4169.     
  4170.  
  4171. Pllb_C2p_DeltaNullSkip_8bit_512k_2by1_AP:
  4172.  
  4173.  
  4174. Pllb_C2p_DeltaNullSkip_8bit_512k_2by1_Lp:
  4175.  
  4176.     move.l (a0)+,d4
  4177.     bne.b Pllb_C2p_DeltaNullSkip_8bit_512k_2by1_CONT2
  4178.     move.l (a0)+,d6
  4179.     bne.b Pllb_C2p_DeltaNullSkip_8bit_512k_2by1_CONT1
  4180.  
  4181.  
  4182.     tst.b (a6)+
  4183.     bne.b Pllb_C2p_DeltaNullSkip_8bit_512k_2by1_nodelta
  4184.  
  4185.         addq.l #8,a1
  4186.         add.l a5,a2
  4187.         
  4188.         dbf d7,Pllb_C2p_DeltaNullSkip_8bit_512k_2by1_LP
  4189.  
  4190.     rts
  4191.     nop
  4192.  
  4193. Pllb_C2p_DeltaNullSkip_8bit_512k_2by1_nodelta:
  4194.  
  4195.  
  4196.         clr.l (a2)+
  4197.             addq.l #8,a1
  4198.         clr.l (a2)+
  4199.         clr.l (a2)+
  4200.         clr.l (a2)+
  4201.  
  4202.         clr.b -1(a6)
  4203.  
  4204.         dbf d7,Pllb_C2p_DeltaNullSkip_8bit_512k_2by1_Lp
  4205.  
  4206.     rts
  4207.     nop
  4208.  
  4209.  
  4210. Pllb_C2p_DeltaNullSkip_8bit_512k_2by1_CONT2:
  4211.  
  4212.     move.l (a0)+,d6
  4213.  
  4214.  
  4215. Pllb_C2p_DeltaNullSkip_8bit_512k_2by1_CONT1:
  4216.  
  4217.     clr.l (a1)+    ; clear chunky pixels
  4218.  
  4219.     clr.l d1
  4220.     move.w d4,d1    
  4221.     clr.w d4
  4222.  
  4223.         st.b (a6)+
  4224.  
  4225.     swap d4
  4226.     lsl.l #3,d4
  4227.     lsl.l #3,d1
  4228.  
  4229.     move.l (a3,d4),d3
  4230.     move.l 4(a3,d4),d4
  4231.         lsl.l #4,d3
  4232.         lsl.l #4,d4
  4233.     or.l (a3,d1),d3
  4234.     or.l 4(a3,d1),d4
  4235.  
  4236.  
  4237.  
  4238.     clr.l (a1)+        ; clear chunky pixels 
  4239.  
  4240.  
  4241.     ; d0 = bytes ABCD
  4242.  
  4243.  
  4244.     clr.l d1
  4245.  
  4246.     move.w d6,d1    
  4247.     clr.w d6
  4248.     swap d6
  4249.     lsl.l #3,d6
  4250.     lsl.l #3,d1
  4251.  
  4252.     move.l (a3,d6),d5
  4253.     move.l 4(a3,d6),d6
  4254.         lsl.l #4,d5
  4255.         lsl.l #4,d6
  4256.     or.l (a3,d1),d5
  4257.     or.l 4(a3,d1),d6
  4258.  
  4259.     move.l d3,d0        
  4260.     move.l d5,d1
  4261.  
  4262.     and.l d2,d0
  4263.     and.l d2,d1
  4264.  
  4265.     eor.l d0,d3
  4266.     eor.l d1,d5
  4267.  
  4268.     lsr.l #8,d1
  4269.     or.l d1,d0        ; d0 = A1a2c1c2
  4270.  
  4271.     move.l d0,(a2)+        
  4272.  
  4273.     lsl.l #8,d3
  4274.  
  4275.         move.l d4,d0        
  4276.  
  4277.     or.l d5,d3
  4278.  
  4279.         move.l d6,d1
  4280.  
  4281.  
  4282.     move.l d3,(a2)+        ; d3 = b1b2d1d2
  4283.  
  4284.  
  4285.     and.l d2,d0
  4286.     and.l d2,d1
  4287.  
  4288.     eor.l d0,d4
  4289.     eor.l d1,d6
  4290.  
  4291.     lsr.l #8,d1
  4292.     or.l d1,d0        ; d0 = A1a2c1c2
  4293.  
  4294.     move.l d0,(a2)+        
  4295.  
  4296.     lsl.l #8,d4
  4297.     or.l d6,d4
  4298.  
  4299.     move.l d4,(a2)+
  4300.  
  4301.  
  4302.  
  4303.     dbf d7,Pllb_C2p_DeltaNullSkip_8bit_512k_2by1_LP
  4304.  
  4305.     rts
  4306.  
  4307.  
  4308. Pllb_C2p_DeltaNullSkip_8bit_512k_2by1_APEND:
  4309.  
  4310.  
  4311.  
  4312.  
  4313.  
  4314.  
  4315. ;    -    -    -    -    -    -    -    -    -
  4316.  
  4317. ;           >> DeltaNullSkip/CLEAR 256 colour Pllb-C2P <<
  4318.  
  4319. ;                Double pixel Width
  4320.  
  4321. ;               1Meg fastram version
  4322.  
  4323. ;    -    -    -    -    -    -    -    -    -
  4324.  
  4325.  
  4326. Pllb_C2p_DeltaNullSkip_8bit_1Meg_2by1:
  4327.  
  4328.     bsr Pllb_c2p_init_DeltaNullSkip_c2p_registers
  4329.  
  4330.     move.l #16,a5
  4331.  
  4332.     blk.w 32,$4e71        ; insert NOP's to ensure routine alignment
  4333.  
  4334.  
  4335. Pllb_C2p_DeltaNullSkip_8bit_1Meg_2by1_AP:
  4336.  
  4337. toss:
  4338.  
  4339. Pllb_C2p_DeltaNullSkip_8bit_1Meg_2by1_Lp:
  4340.  
  4341.     move.l (a0)+,d4
  4342.     bne.b Pllb_C2p_DeltaNullSkip_8bit_1Meg_2by1_CONT2
  4343.     move.l (a0)+,d6
  4344.     bne.b Pllb_C2p_DeltaNullSkip_8bit_1Meg_2by1_CONT1
  4345.  
  4346.     tst.b (a6)+
  4347.     bne.b Pllb_C2p_DeltaNullSkip_8bit_1Meg_2by1_nodelta
  4348.  
  4349.         addq.l #8,a1
  4350.         add.l a5,a2
  4351.         
  4352.         dbf d7,Pllb_C2p_DeltaNullSkip_8bit_1Meg_2by1_LP
  4353.  
  4354.     rts
  4355.     nop
  4356.  
  4357. Pllb_C2p_DeltaNullSkip_8bit_1meg_2by1_nodelta:
  4358.  
  4359.  
  4360.         clr.l (a2)+
  4361.             addq.l #8,a1
  4362.         clr.l (a2)+
  4363.         clr.l (a2)+
  4364.         clr.l (a2)+
  4365.  
  4366.         clr.b -1(a6)
  4367.  
  4368.         dbf d7,Pllb_C2p_DeltaNullSkip_8bit_1meg_2by1_Lp
  4369.  
  4370.     rts
  4371.     nop
  4372.  
  4373.  
  4374.  
  4375.  
  4376.  
  4377. Pllb_C2p_DeltaNullSkip_8bit_1Meg_2by1_CONT2:
  4378.  
  4379.     move.l (a0)+,d6
  4380.  
  4381.  
  4382. Pllb_C2p_DeltaNullSkip_8bit_1Meg_2by1_CONT1:
  4383.  
  4384.     clr.l (a1)+    ; clear chunky pixels
  4385.  
  4386.     clr.l d1
  4387.     move.w d4,d1    
  4388.     clr.w d4
  4389.  
  4390.     st.b (a6)+
  4391.  
  4392.  
  4393.     swap d4
  4394.     lsl.l #3,d4
  4395.     lsl.l #3,d1
  4396.  
  4397.     move.l (a3,d4),d3
  4398.     move.l 4(a3,d4),d4
  4399.         lsl.l #4,d3
  4400.         lsl.l #4,d4
  4401.     or.l (a3,d1),d3
  4402.     or.l 4(a3,d1),d4
  4403.  
  4404.  
  4405.  
  4406.     clr.l (a1)+        ; clear chunky pixels 
  4407.  
  4408.  
  4409.     ; d0 = bytes ABCD
  4410.  
  4411.  
  4412.     clr.l d1
  4413.  
  4414.     move.w d6,d1    
  4415.     clr.w d6
  4416.     swap d6
  4417.     lsl.l #3,d6
  4418.     lsl.l #3,d1
  4419.  
  4420.     move.l (a3,d6),d5
  4421.     move.l 4(a3,d6),d6
  4422.         lsl.l #4,d5
  4423.         lsl.l #4,d6
  4424.     or.l (a3,d1),d5
  4425.     or.l 4(a3,d1),d6
  4426.  
  4427.     move.l d3,d0        
  4428.     move.l d5,d1
  4429.  
  4430.     and.l d2,d0
  4431.     and.l d2,d1
  4432.  
  4433.     eor.l d0,d3
  4434.     eor.l d1,d5
  4435.  
  4436.     lsr.l #8,d1
  4437.     or.l d1,d0        ; d0 = A1a2c1c2
  4438.  
  4439.     move.l d0,(a2)+        
  4440.  
  4441.     lsl.l #8,d3
  4442.  
  4443.         move.l d4,d0        
  4444.  
  4445.     or.l d5,d3
  4446.  
  4447.         move.l d6,d1
  4448.  
  4449.  
  4450.     move.l d3,(a2)+        ; d3 = b1b2d1d2
  4451.  
  4452.  
  4453.     and.l d2,d0
  4454.     and.l d2,d1
  4455.  
  4456.     eor.l d0,d4
  4457.     eor.l d1,d6
  4458.  
  4459.     lsr.l #8,d1
  4460.     or.l d1,d0        ; d0 = A1a2c1c2
  4461.  
  4462.     move.l d0,(a2)+        
  4463.  
  4464.     lsl.l #8,d4
  4465.     or.l d6,d4
  4466.  
  4467.     move.l d4,(a2)+
  4468.  
  4469.     dbf d7,Pllb_C2p_DeltaNullSkip_8bit_1Meg_2by1_LP
  4470.  
  4471.     rts
  4472.  
  4473.  
  4474. Pllb_C2p_DeltaNullSkip_8bit_1Meg_2by1_APEND:
  4475.  
  4476.  
  4477.  
  4478.  
  4479.  
  4480. ;---------------------------------------------------------------------------
  4481. ;---------------------------------------------------------------------------
  4482. ;---------------------------------------------------------------------------
  4483. ;--------------------------4by1 NORMAL VERSIONS-----------------------------
  4484. ;---------------------------------------------------------------------------
  4485. ;---------------------------------------------------------------------------
  4486. ;---------------------------------------------------------------------------
  4487.  
  4488.  
  4489. ;    -    -    -    -    -    -    -    -    -
  4490.  
  4491. ;               >> Normal 256 colour Pllb-C2P <<
  4492.  
  4493. ;                QUAD pixel Width
  4494.  
  4495. ;               512k fastram version
  4496.  
  4497. ;    -    -    -    -    -    -    -    -    -
  4498.  
  4499.  
  4500. Pllb_C2p_8bit_512k_4by1:
  4501.  
  4502.     bsr Pllb_c2p_init_Normal_c2p_registers
  4503.  
  4504.     blk.w 32,$4e71        ; insert NOP's to ensure routine alignment
  4505.  
  4506.  
  4507. Pllb_C2p_8bit_512k_4by1_AP:
  4508.  
  4509.  
  4510.     clr.l d1
  4511.     move.l (a0)+,d0
  4512.     move.w d0,d1    
  4513.     clr.w d0
  4514.     nop
  4515.     nop
  4516.     nop
  4517.     bra.b Pllb_C2p_8bit_512k_4by1_SKIP
  4518.  
  4519.  
  4520. Pllb_C2p_8bit_512k_4by1_lp:
  4521.  
  4522.     clr.l d1
  4523.     move.l (a0)+,d0
  4524.     move.w d0,d1    
  4525.  
  4526.     clr.w d0
  4527.  
  4528.         move.l d4,(a1)+        ; write the last longword
  4529.  
  4530.  
  4531. Pllb_C2p_8bit_512k_4by1_SKIP:
  4532.  
  4533.     swap d0
  4534.     lsl.l #3,d0
  4535.     lsl.l #3,d1
  4536.  
  4537.     move.l (a3,d0),d3
  4538.     move.l 4(a3,d0),d4
  4539.  
  4540.     move.l (a3,d1),d5
  4541.     move.l 4(a3,d1),d6
  4542.  
  4543.     move.l d3,d0        
  4544.     move.l d5,d1
  4545.  
  4546.     and.l d2,d0
  4547.     and.l d2,d1
  4548.  
  4549.     eor.l d0,d3
  4550.     eor.l d1,d5
  4551.  
  4552.     lsr.l #8,d1
  4553.     or.l d1,d0        ; d0 = A1a2c1c2
  4554.  
  4555.     move.l d0,(a1)+        
  4556.  
  4557.     lsl.l #8,d3
  4558.  
  4559.         move.l d4,d0        
  4560.  
  4561.     or.l d5,d3
  4562.  
  4563.         move.l d6,d1
  4564.  
  4565.  
  4566.         move.l d3,(a1)+        ; d3 = b1b2d1d2
  4567.  
  4568.  
  4569.     and.l d2,d0
  4570.     and.l d2,d1
  4571.  
  4572.     eor.l d0,d4
  4573.     eor.l d1,d6
  4574.  
  4575.     lsr.l #8,d1
  4576.     or.l d1,d0        ; d0 = A1a2c1c2
  4577.  
  4578.         move.l d0,(a1)+        
  4579.  
  4580.     lsl.l #8,d4
  4581.     or.l d6,d4
  4582.  
  4583.  
  4584.     dbf d7,Pllb_C2p_8bit_512k_4by1_lp
  4585.  
  4586.     move.l d4,(a1)+        ; write outstanding long word
  4587.     rts
  4588.  
  4589.  
  4590.  
  4591. Pllb_C2p_8bit_512k_4by1_APEND:
  4592.  
  4593.  
  4594.  
  4595.  
  4596.  
  4597.  
  4598. ;---------------------------------------------------------------------------
  4599. ;---------------------------------------------------------------------------
  4600. ;---------------------------------------------------------------------------
  4601. ;--------------------------4by1 DELTA VERSIONS-----------------------------
  4602. ;---------------------------------------------------------------------------
  4603. ;---------------------------------------------------------------------------
  4604. ;---------------------------------------------------------------------------
  4605.  
  4606.  
  4607. ;    -    -    -    -    -    -    -    -    -
  4608.  
  4609. ;               >> DELTA 256 colour Pllb-C2P <<
  4610.  
  4611. ;                QUAD pixel Width
  4612.  
  4613. ;               512k fastram version
  4614.  
  4615. ;    -    -    -    -    -    -    -    -    -
  4616.  
  4617.  
  4618. Pllb_C2p_DELTA_8bit_512k_4by1:
  4619.  
  4620.     bsr Pllb_c2p_init_DELTA_c2p_registers
  4621.  
  4622.     blk.w 32,$4e71        ; insert NOP's to ensure routine alignment
  4623.  
  4624.  
  4625. Pllb_C2p_DELTA_8bit_512k_4by1_AP:
  4626.  
  4627.  
  4628. Pllb_C2p_DELTA_8bit_512k_4by1_lp:
  4629.  
  4630.     move.l (a0)+,d4
  4631.  
  4632.     cmp.l (a1)+,d4
  4633.     bne.b Pllb_C2p_DELTA_8bit_512k_4by1_CONT
  4634.  
  4635.         add.w #16,a2
  4636.     
  4637.         dbf d7,Pllb_C2p_DELTA_8bit_512k_4by1_lp
  4638.     rts
  4639.     nop
  4640.  
  4641.  
  4642. Pllb_C2p_DELTA_8bit_512k_4by1_CONT:
  4643.  
  4644.     clr.l d1
  4645.     move.w d4,d1    
  4646.     clr.w d4
  4647.     swap d4
  4648.     lsl.l #3,d4
  4649.  
  4650.     move.l (a3,d4),d3
  4651.     move.l 4(a3,d4),d4
  4652.  
  4653.     lsl.l #3,d1
  4654.     move.l (a3,d1),d5
  4655.     move.l 4(a3,d1),d6
  4656.  
  4657.     move.l d3,d0        
  4658.     move.l d5,d1
  4659.  
  4660.     and.l d2,d0
  4661.     and.l d2,d1
  4662.  
  4663.     eor.l d0,d3
  4664.     eor.l d1,d5
  4665.  
  4666.     lsr.l #8,d1
  4667.     or.l d1,d0        ; d0 = A1a2c1c2
  4668.  
  4669.     move.l d0,(a2)+        
  4670.  
  4671.     lsl.l #8,d3
  4672.  
  4673.         move.l d4,d0        
  4674.  
  4675.     or.l d5,d3
  4676.  
  4677.         move.l d6,d1
  4678.  
  4679.  
  4680.     move.l d3,(a2)+        ; d3 = b1b2d1d2
  4681.  
  4682.  
  4683.  
  4684.     and.l d2,d0
  4685.     and.l d2,d1
  4686.  
  4687.     eor.l d0,d4
  4688.     eor.l d1,d6
  4689.  
  4690.     lsr.l #8,d1
  4691.     or.l d1,d0        ; d0 = A1a2c1c2
  4692.  
  4693.     move.l d0,(a2)+        
  4694.  
  4695.     lsl.l #8,d4
  4696.     or.l d6,d4
  4697.  
  4698.     move.l d4,(a2)+
  4699.     
  4700.     dbf d7,Pllb_C2p_DELTA_8bit_512k_4by1_lp
  4701.  
  4702.     rts
  4703.  
  4704.  
  4705. Pllb_C2p_DELTA_8bit_512k_4by1_APEND:
  4706.  
  4707.  
  4708.  
  4709.  
  4710. ;---------------------------------------------------------------------------
  4711. ;---------------------------------------------------------------------------
  4712. ;---------------------------------------------------------------------------
  4713. ;--------------------------4by1 NULLSKIP VERSIONS-----------------------------
  4714. ;---------------------------------------------------------------------------
  4715. ;---------------------------------------------------------------------------
  4716. ;---------------------------------------------------------------------------
  4717.  
  4718.  
  4719. ;    -    -    -    -    -    -    -    -    -
  4720.  
  4721. ;          >> NULLSKIP/CLEAR 256 colour Pllb-C2P <<
  4722.  
  4723. ;                QUAD pixel Width
  4724.  
  4725. ;               512k fastram version
  4726.  
  4727. ;    -    -    -    -    -    -    -    -    -
  4728.  
  4729.  
  4730. Pllb_C2p_NULLSKIP_8bit_512k_4by1:
  4731.  
  4732.     bsr Pllb_c2p_init_NULLSKIP_c2p_registers
  4733.  
  4734.     blk.w 32,$4e71        ; insert NOP's to ensure routine alignment
  4735.  
  4736.  
  4737. Pllb_C2p_NULLSKIP_8bit_512k_4by1_AP:
  4738.  
  4739.  
  4740. Pllb_C2p_NULLSKIP_8bit_512k_4by1_LP:
  4741.  
  4742.     move.l (a0)+,d4
  4743.     bne.b Pllb_C2p_NULLSKIP_8bit_512k_4by1_CONT
  4744.  
  4745.         clr.l (a2)+
  4746.             addq.l #4,a1
  4747.         clr.l (a2)+
  4748.         clr.l (a2)+
  4749.         clr.l (a2)+
  4750.         dbf d7,Pllb_C2p_NULLSKIP_8bit_512k_4by1_LP
  4751.  
  4752.     rts
  4753.     nop
  4754.  
  4755.  
  4756. Pllb_C2p_NULLSKIP_8bit_512k_4by1_CONT:
  4757.  
  4758.  
  4759.     clr.l d1
  4760.     move.w d4,d1    
  4761.     clr.w d4
  4762.     swap d4
  4763.     lsl.l #3,d4
  4764.     lsl.l #3,d1
  4765.  
  4766.     move.l (a3,d4),d3
  4767.     move.l 4(a3,d4),d4
  4768.  
  4769.     move.l (a3,d1),d5
  4770.     move.l 4(a3,d1),d6
  4771.  
  4772.  
  4773.         clr.l (a1)+    ; clear chunky
  4774.  
  4775.     move.l d3,d0        
  4776.     move.l d5,d1
  4777.  
  4778.     and.l d2,d0
  4779.     and.l d2,d1
  4780.  
  4781.     eor.l d0,d3
  4782.     eor.l d1,d5
  4783.  
  4784.     lsr.l #8,d1
  4785.     or.l d1,d0        ; d0 = A1a2c1c2
  4786.  
  4787.     move.l d0,(a2)+        
  4788.  
  4789.     lsl.l #8,d3
  4790.  
  4791.         move.l d4,d0        
  4792.  
  4793.     or.l d5,d3
  4794.  
  4795.         move.l d6,d1
  4796.  
  4797.  
  4798.     move.l d3,(a2)+        ; d3 = b1b2d1d2
  4799.  
  4800.  
  4801.  
  4802.     and.l d2,d0
  4803.     and.l d2,d1
  4804.  
  4805.     eor.l d0,d4
  4806.     eor.l d1,d6
  4807.  
  4808.     lsr.l #8,d1
  4809.     or.l d1,d0        ; d0 = A1a2c1c2
  4810.  
  4811.     move.l d0,(a2)+        
  4812.  
  4813.     lsl.l #8,d4
  4814.     or.l d6,d4
  4815.  
  4816.     move.l d4,(a2)+
  4817.     dbf d7,Pllb_C2p_NULLSKIP_8bit_512k_4by1_LP
  4818.     
  4819.     rts
  4820.  
  4821.  
  4822. Pllb_C2p_NULLSKIP_8bit_512k_4by1_APEND:
  4823.  
  4824.  
  4825.  
  4826.  
  4827.  
  4828.  
  4829.  
  4830.  
  4831.  
  4832.  
  4833. ;    -    -    -    -    -    -    -    -    -
  4834.  
  4835. ;          >> DeltaNullSkip/CLEAR 256 colour Pllb-C2P <<
  4836.  
  4837. ;                QUAD pixel Width
  4838.  
  4839. ;               512k fastram version
  4840.  
  4841. ;    -    -    -    -    -    -    -    -    -
  4842.  
  4843.  
  4844. Pllb_C2p_DeltaNullSkip_8bit_512k_4by1:
  4845.  
  4846.     bsr Pllb_c2p_init_DeltaNullSkip_c2p_registers
  4847.  
  4848.     move.l #16,a5    ; constant 
  4849.  
  4850.     blk.w 32,$4e71        ; insert NOP's to ensure routine alignment
  4851.  
  4852.  
  4853. Pllb_C2p_DeltaNullSkip_8bit_512k_4by1_AP:
  4854.  
  4855.  
  4856. Pllb_C2p_DeltaNullSkip_8bit_512k_4by1_LP:
  4857.  
  4858.     move.l (a0)+,d4
  4859.     bne.b Pllb_C2p_DeltaNullSkip_8bit_512k_4by1_CONT
  4860.  
  4861.     tst.b (a6)+
  4862.     bne.b Pllb_C2p_DeltaNullSkip_8bit_512k_4by1_nodelta
  4863.  
  4864.  
  4865.         addq.l #4,a1
  4866.         add.w a5,a2
  4867.         
  4868.         dbf d7,Pllb_C2p_DeltaNullSkip_8bit_512k_4by1_LP
  4869.  
  4870.     rts
  4871.     nop
  4872.     nop
  4873.  
  4874. Pllb_C2p_DeltaNullSkip_8bit_512k_4by1_nodelta:
  4875.  
  4876.         clr.l (a2)+
  4877.             addq.l #4,a1
  4878.         clr.l (a2)+
  4879.         clr.l (a2)+
  4880.         clr.l (a2)+
  4881.  
  4882.         clr.b -1(a6)
  4883.  
  4884.         dbf d7,Pllb_C2p_DeltaNullSkip_8bit_512k_4by1_Lp
  4885.  
  4886.     rts
  4887.     nop
  4888.  
  4889.  
  4890. Pllb_C2p_DeltaNullSkip_8bit_512k_4by1_CONT:
  4891.  
  4892.     st.b (a6)+        
  4893.  
  4894.     clr.l d1
  4895.     move.w d4,d1    
  4896.     clr.w d4
  4897.     swap d4
  4898.     lsl.l #3,d4
  4899.     lsl.l #3,d1
  4900.  
  4901.     move.l (a3,d4),d3
  4902.     move.l 4(a3,d4),d4
  4903.  
  4904.     move.l (a3,d1),d5
  4905.     move.l 4(a3,d1),d6
  4906.  
  4907.  
  4908.         clr.l (a1)+    ; clear chunky
  4909.  
  4910.     move.l d3,d0        
  4911.     move.l d5,d1
  4912.  
  4913.     and.l d2,d0
  4914.     and.l d2,d1
  4915.  
  4916.     eor.l d0,d3
  4917.     eor.l d1,d5
  4918.  
  4919.     lsr.l #8,d1
  4920.     or.l d1,d0        ; d0 = A1a2c1c2
  4921.  
  4922.     move.l d0,(a2)+        
  4923.  
  4924.     lsl.l #8,d3
  4925.  
  4926.         move.l d4,d0        
  4927.  
  4928.     or.l d5,d3
  4929.  
  4930.         move.l d6,d1
  4931.  
  4932.  
  4933.     move.l d3,(a2)+        ; d3 = b1b2d1d2
  4934.  
  4935.  
  4936.     and.l d2,d0
  4937.     and.l d2,d1
  4938.  
  4939.     eor.l d0,d4
  4940.     eor.l d1,d6
  4941.  
  4942.     lsr.l #8,d1
  4943.     or.l d1,d0        ; d0 = A1a2c1c2
  4944.  
  4945.     move.l d0,(a2)+        
  4946.  
  4947.     lsl.l #8,d4
  4948.     or.l d6,d4
  4949.  
  4950.     move.l d4,(a2)+
  4951.     dbf d7,Pllb_C2p_DeltaNullSkip_8bit_512k_4by1_LP
  4952.     
  4953.     rts
  4954.  
  4955.  
  4956. Pllb_C2p_DeltaNullSkip_8bit_512k_4by1_APEND:
  4957.  
  4958.  
  4959.  
  4960.  
  4961.  
  4962.  
  4963.  
  4964.  
  4965.  
  4966.  
  4967.  
  4968.  
  4969. ;    -    -    -    -    -    -    -    -    -
  4970.  
  4971. ;               >> NORMAL 64colour Pllb-C2P <<
  4972.  
  4973. ;                Single pixel Width
  4974.  
  4975. ;                512k fastram version
  4976.  
  4977. ;    -    -    -    -    -    -    -    -    -
  4978.  
  4979. Pllb_C2p_6bit_512k_1by1:
  4980.  
  4981.     bsr Pllb_c2p_init_Normal_c2p_registers
  4982.  
  4983.     ; a4/a5/a6 table not used/needed
  4984.  
  4985.     blk.w 32,$4e71        ; insert NOP's for routine alignment system
  4986.  
  4987.  
  4988. Pllb_C2p_6bit_512k_1by1_AP:
  4989.  
  4990.     clr.l d1
  4991.     move.l (a0)+,d0
  4992.     move.w d0,d1    
  4993.     clr.w d0
  4994.     bra.b Pllb_C2p_6bit_512k_1by1_skip
  4995.     nop
  4996.     nop
  4997.     nop
  4998.  
  4999. Pllb_C2p_6bit_512k_1by1_lp:
  5000.  
  5001.     clr.l d1
  5002.     move.l (a0)+,d0
  5003.     move.w d0,d1    
  5004.     clr.w d0
  5005.  
  5006.         move.l d4,(a1)+
  5007.  
  5008. Pllb_C2p_6bit_512k_1by1_skip:
  5009.  
  5010.     swap d0
  5011.     lsl.l #3,d0
  5012.     lsl.l #3,d1
  5013.  
  5014.     move.l (a3,d0),d3
  5015.     move.w 4(a3,d0),d4
  5016.  
  5017.     lsl.l #2,d3
  5018.     lsl.w #2,d4
  5019.  
  5020.  
  5021.     or.l (a3,d1),d3
  5022.     or.w 4(a3,d1),d4
  5023.  
  5024.     lsl.l #2,d3
  5025.     lsl.w #2,d4
  5026.  
  5027.  
  5028.     clr.l d1
  5029.     move.l (a0)+,d0
  5030.     move.w d0,d1    
  5031.     clr.w d0
  5032.     swap d0
  5033.     lsl.l #3,d0
  5034.     lsl.l #3,d1
  5035.  
  5036.     or.l (a3,d0),d3
  5037.     or.w 4(a3,d0),d4
  5038.  
  5039.     lsl.l #2,d3
  5040.     lsl.w #2,d4
  5041.  
  5042.  
  5043.     or.l (a3,d1),d3
  5044.     or.w 4(a3,d1),d4
  5045.  
  5046.  
  5047.     clr.l d1
  5048.     move.l (a0)+,d0
  5049.     move.w d0,d1    
  5050.     clr.w d0
  5051.     swap d0
  5052.     lsl.l #3,d0
  5053.     lsl.l #3,d1
  5054.     move.l (a3,d0),d5
  5055.     move.w 4(a3,d0),d6
  5056.  
  5057.     lsl.l #2,d5
  5058.     lsl.w #2,d6
  5059.  
  5060.  
  5061.     or.l (a3,d1),d5
  5062.     or.w 4(a3,d1),d6
  5063.  
  5064.     lsl.l #2,d5
  5065.     lsl.w #2,d6
  5066.  
  5067.     clr.l d1
  5068.     move.l (a0)+,d0
  5069.     move.w d0,d1    
  5070.     clr.w d0
  5071.     swap d0
  5072.     lsl.l #3,d0
  5073.     lsl.l #3,d1
  5074.  
  5075.     or.l (a3,d0),d5
  5076.     or.w 4(a3,d0),d6
  5077.  
  5078.     lsl.l #2,d5
  5079.     lsl.w #2,d6
  5080.  
  5081.     or.l (a3,d1),d5
  5082.     or.w 4(a3,d1),d6
  5083.  
  5084.     move.l d3,d0        
  5085.     move.l d5,d1
  5086.  
  5087.     and.l d2,d0
  5088.     and.l d2,d1
  5089.  
  5090.     eor.l d0,d3
  5091.     eor.l d1,d5
  5092.  
  5093.     lsr.l #8,d1
  5094.     or.l d1,d0        ; d0 = A1a2c1c2
  5095.  
  5096.         move.l d0,(a1)+        
  5097.  
  5098.         lsl.l #8,d3
  5099.  
  5100.  
  5101.     move.w d4,d0        ;----e1f1
  5102.     swap d4            ;e1f1----
  5103.  
  5104.         or.l d5,d3
  5105.  
  5106.  
  5107.     move.w d6,d4        ;e1f1e2f2
  5108.  
  5109.  
  5110.  
  5111.         move.l d3,(a1)+        ; d3 = b1b2d1d2
  5112.  
  5113.  
  5114.     rol.w #8,d4        ;e1f1f2e2
  5115.     move.b d4,d0        ;----e1e2
  5116.     lsl.l #8,d4        ;f1f2e2--
  5117.     move.w d0,d4        ;f1f2e1e2
  5118.     
  5119.  
  5120.     dbf d7,Pllb_C2p_6bit_512k_1by1_lp
  5121.  
  5122.     move.l d4,(a1)+        ; write final 32bits
  5123.  
  5124.     rts
  5125.  
  5126.  
  5127. Pllb_C2p_6bit_512k_1by1_APEND:
  5128.  
  5129.  
  5130.  
  5131.  
  5132. ;    -    -    -    -    -    -    -    -    -
  5133.  
  5134. ;               >> NORMAL 64colour Pllb-C2P <<
  5135.  
  5136. ;                Single pixel Width
  5137.  
  5138. ;                1meg fastram version
  5139.  
  5140. ;    -    -    -    -    -    -    -    -    -
  5141.  
  5142. Pllb_C2p_6bit_1Meg_1by1:
  5143.  
  5144.     bsr Pllb_c2p_init_Normal_c2p_registers
  5145.  
  5146.     ; a5/a6 table not used/needed
  5147.  
  5148.     blk.w 32,$4e71        ; insert NOP's for routine alignment system
  5149.  
  5150.  
  5151. Pllb_C2p_6bit_1Meg_1by1_AP:
  5152.  
  5153.     clr.l d1
  5154.     move.l (a0)+,d0
  5155.     move.w d0,d1    
  5156.     clr.w d0
  5157.     bra.b Pllb_C2p_6bit_1Meg_1by1_skip
  5158.     nop
  5159.     nop
  5160.     nop
  5161.  
  5162. Pllb_C2p_6bit_1Meg_1by1_lp:
  5163.  
  5164.     clr.l d1
  5165.     move.l (a0)+,d0
  5166.     move.w d0,d1    
  5167.     clr.w d0
  5168.  
  5169.         move.l d4,(a1)+
  5170.  
  5171. Pllb_C2p_6bit_1Meg_1by1_skip:
  5172.  
  5173.     swap d0
  5174.     lsl.l #3,d0
  5175.     lsl.l #3,d1
  5176.  
  5177.     move.l (a4,d0),d3
  5178.     move.w 4(a4,d0),d4
  5179.  
  5180.     lsl.l #2,d3
  5181.     lsl.w #2,d4
  5182.  
  5183.  
  5184.     or.l (a4,d1),d3
  5185.     or.w 4(a4,d1),d4
  5186.  
  5187.     lsl.l #2,d3
  5188.     lsl.w #2,d4
  5189.  
  5190.  
  5191.     clr.l d1
  5192.     move.l (a0)+,d0
  5193.     move.w d0,d1    
  5194.     clr.w d0
  5195.     swap d0
  5196.     lsl.l #3,d0
  5197.     lsl.l #3,d1
  5198.  
  5199.     or.l (a4,d0),d3
  5200.     or.w 4(a4,d0),d4
  5201.  
  5202.     or.l (a3,d1),d3
  5203.     or.w 4(a3,d1),d4
  5204.  
  5205.  
  5206.     clr.l d1
  5207.     move.l (a0)+,d0
  5208.     move.w d0,d1    
  5209.     clr.w d0
  5210.     swap d0
  5211.     lsl.l #3,d0
  5212.     lsl.l #3,d1
  5213.     move.l (a4,d0),d5
  5214.     move.w 4(a4,d0),d6
  5215.  
  5216.         lsl.l #2,d5
  5217.         lsl.w #2,d6
  5218.  
  5219.     or.l (a4,d1),d5
  5220.     or.w 4(a4,d1),d6
  5221.  
  5222.         lsl.l #2,d5
  5223.         lsl.w #2,d6
  5224.  
  5225.     clr.l d1
  5226.     move.l (a0)+,d0
  5227.     move.w d0,d1    
  5228.     clr.w d0
  5229.     swap d0
  5230.     lsl.l #3,d0
  5231.     lsl.l #3,d1
  5232.  
  5233.     or.l (a4,d0),d5
  5234.     or.w 4(a4,d0),d6
  5235.  
  5236.     or.l (a3,d1),d5
  5237.     or.w 4(a3,d1),d6
  5238.  
  5239.     move.l d3,d0        
  5240.     move.l d5,d1
  5241.  
  5242.     and.l d2,d0
  5243.     and.l d2,d1
  5244.  
  5245.     eor.l d0,d3
  5246.     eor.l d1,d5
  5247.  
  5248.     lsr.l #8,d1
  5249.     or.l d1,d0        ; d0 = A1a2c1c2
  5250.  
  5251.         move.l d0,(a1)+        
  5252.  
  5253.         lsl.l #8,d3
  5254.  
  5255.  
  5256.     move.w d4,d0        ;----e1f1
  5257.     swap d4            ;e1f1----
  5258.  
  5259.         or.l d5,d3
  5260.  
  5261.  
  5262.     move.w d6,d4        ;e1f1e2f2
  5263.  
  5264.  
  5265.  
  5266.         move.l d3,(a1)+        ; d3 = b1b2d1d2
  5267.  
  5268.  
  5269.     rol.w #8,d4        ;e1f1f2e2
  5270.     move.b d4,d0        ;----e1e2
  5271.     lsl.l #8,d4        ;f1f2e2--
  5272.     move.w d0,d4        ;f1f2e1e2
  5273.     
  5274.  
  5275.     dbf d7,Pllb_C2p_6bit_1Meg_1by1_lp
  5276.  
  5277.     move.l d4,(a1)+        ; write final 32bits
  5278.  
  5279.     rts
  5280.  
  5281.  
  5282. Pllb_C2p_6bit_1Meg_1by1_APEND:
  5283.  
  5284.  
  5285.  
  5286.  
  5287.  
  5288.  
  5289.  
  5290. ;    -    -    -    -    -    -    -    -    -
  5291.  
  5292. ;               >> NORMAL 64colour Pllb-C2P <<
  5293.  
  5294. ;                Single pixel Width
  5295.  
  5296. ;                1.5meg fastram version
  5297.  
  5298. ;    -    -    -    -    -    -    -    -    -
  5299.  
  5300. Pllb_C2p_6bit_1_5Meg_1by1:
  5301.  
  5302.     bsr Pllb_c2p_init_Normal_c2p_registers
  5303.  
  5304.     ; a6 table not used/needed
  5305.  
  5306.     blk.w 32,$4e71        ; insert NOP's for routine alignment system
  5307.  
  5308.  
  5309. Pllb_C2p_6bit_1_5Meg_1by1_AP:
  5310.  
  5311.     clr.l d1
  5312.     move.l (a0)+,d0
  5313.     move.w d0,d1    
  5314.     clr.w d0
  5315.     bra.b Pllb_C2p_6bit_1_5Meg_1by1_skip
  5316.     nop
  5317.     nop
  5318.     nop
  5319.  
  5320. Pllb_C2p_6bit_1_5Meg_1by1_lp:
  5321.  
  5322.     clr.l d1
  5323.     move.l (a0)+,d0
  5324.     move.w d0,d1    
  5325.     clr.w d0
  5326.  
  5327.         move.l d4,(a1)+
  5328.  
  5329. Pllb_C2p_6bit_1_5Meg_1by1_skip:
  5330.  
  5331.     swap d0
  5332.     lsl.l #3,d0
  5333.     lsl.l #3,d1
  5334.  
  5335.     move.l (a5,d0),d3
  5336.     move.w 4(a5,d0),d4
  5337.  
  5338.     lsl.l #2,d3
  5339.     lsl.l #2,d4
  5340.  
  5341.  
  5342.     or.l (a5,d1),d3
  5343.     or.w 4(a5,d1),d4
  5344.  
  5345. ;        lsl.l #2,d3
  5346. ;        lsl.w #2,d4
  5347.  
  5348.  
  5349.     clr.l d1
  5350.     move.l (a0)+,d0
  5351.     move.w d0,d1    
  5352.     clr.w d0
  5353.     swap d0
  5354.     lsl.l #3,d0
  5355.     lsl.l #3,d1
  5356.  
  5357.     or.l (a4,d0),d3
  5358.     or.w 4(a4,d0),d4
  5359.  
  5360. ;        lsl.l #2,d3
  5361. ;        lsl.l #2,d4
  5362.  
  5363.  
  5364.     or.l (a3,d1),d3
  5365.     or.w 4(a3,d1),d4
  5366.  
  5367.  
  5368.     clr.l d1
  5369.     move.l (a0)+,d0
  5370.     move.w d0,d1    
  5371.     clr.w d0
  5372.     swap d0
  5373.     lsl.l #3,d0
  5374.     lsl.l #3,d1
  5375.     move.l (a5,d0),d5
  5376.     move.w 4(a5,d0),d6
  5377.  
  5378.         lsl.l #2,d5
  5379.         lsl.w #2,d6
  5380.  
  5381.  
  5382.     or.l (a5,d1),d5
  5383.     or.w 4(a5,d1),d6
  5384. ;        lsl.l #2,d5
  5385. ;        lsl.l #2,d6
  5386.  
  5387.     clr.l d1
  5388.     move.l (a0)+,d0
  5389.     move.w d0,d1    
  5390.     clr.w d0
  5391.     swap d0
  5392.     lsl.l #3,d0
  5393.     lsl.l #3,d1
  5394.  
  5395.     or.l (a4,d0),d5
  5396.     or.w 4(a4,d0),d6
  5397.  
  5398. ;        lsl.l #2,d5
  5399. ;        lsl.l #2,d6
  5400.  
  5401.     or.l (a3,d1),d5
  5402.     or.w 4(a3,d1),d6
  5403.  
  5404.     move.l d3,d0        
  5405.     move.l d5,d1
  5406.  
  5407.     and.l d2,d0
  5408.     and.l d2,d1
  5409.  
  5410.     eor.l d0,d3
  5411.     eor.l d1,d5
  5412.  
  5413.     lsr.l #8,d1
  5414.     or.l d1,d0        ; d0 = A1a2c1c2
  5415.  
  5416.         move.l d0,(a1)+        
  5417.  
  5418.         lsl.l #8,d3
  5419.  
  5420.  
  5421.     move.w d4,d0        ;----e1f1
  5422.     swap d4            ;e1f1----
  5423.  
  5424.         or.l d5,d3
  5425.  
  5426.  
  5427.     move.w d6,d4        ;e1f1e2f2
  5428.  
  5429.  
  5430.  
  5431.         move.l d3,(a1)+        ; d3 = b1b2d1d2
  5432.  
  5433.  
  5434.     rol.w #8,d4        ;e1f1f2e2
  5435.     move.b d4,d0        ;----e1e2
  5436.     lsl.l #8,d4        ;f1f2e2--
  5437.     move.w d0,d4        ;f1f2e1e2
  5438.     
  5439.  
  5440.     dbf d7,Pllb_C2p_6bit_1_5Meg_1by1_lp
  5441.  
  5442.     move.l d4,(a1)+        ; write final 32bits
  5443.  
  5444.     rts
  5445.  
  5446.  
  5447. Pllb_C2p_6bit_1_5Meg_1by1_APEND:
  5448.  
  5449.  
  5450.  
  5451.  
  5452.  
  5453.  
  5454. ;    -    -    -    -    -    -    -    -    -
  5455.  
  5456. ;               >> NORMAL 64colour Pllb-C2P <<
  5457.  
  5458. ;                Single pixel Width
  5459.  
  5460. ;                2meg fastram version
  5461.  
  5462. ;    -    -    -    -    -    -    -    -    -
  5463.  
  5464. Pllb_C2p_6bit_2Meg_1by1:
  5465.  
  5466.     bsr Pllb_c2p_init_Normal_c2p_registers
  5467.  
  5468.     blk.w 32,$4e71        ; insert NOP's for routine alignment system
  5469.  
  5470.  
  5471. Pllb_C2p_6bit_2Meg_1by1_AP:
  5472.  
  5473.     clr.l d1
  5474.     move.l (a0)+,d0
  5475.     move.w d0,d1    
  5476.     clr.w d0
  5477.     bra.b Pllb_C2p_6bit_2Meg_1by1_skip
  5478.     nop
  5479.     nop
  5480.     nop
  5481.  
  5482. Pllb_C2p_6bit_2Meg_1by1_lp:
  5483.  
  5484.     clr.l d1
  5485.     move.l (a0)+,d0
  5486.     move.w d0,d1    
  5487.     clr.w d0
  5488.  
  5489.         move.l d4,(a1)+
  5490.  
  5491. Pllb_C2p_6bit_2Meg_1by1_skip:
  5492.  
  5493.     swap d0
  5494.     lsl.l #3,d0
  5495.  
  5496.     move.l (a6,d0),d3
  5497.     move.w 4(a6,d0),d4
  5498.  
  5499. ;        lsl.l #2,d3
  5500. ;        lsl.l #2,d4
  5501.  
  5502.  
  5503.     lsl.l #3,d1
  5504.     or.l (a5,d1),d3
  5505.     or.w 4(a5,d1),d4
  5506.  
  5507. ;        lsl.l #2,d3
  5508. ;        lsl.l #2,d4
  5509.  
  5510.  
  5511.     clr.l d1
  5512.     move.l (a0)+,d0
  5513.     move.w d0,d1    
  5514.     clr.w d0
  5515.     swap d0
  5516.     lsl.l #3,d0
  5517.     lsl.l #3,d1
  5518.  
  5519.     or.l (a4,d0),d3
  5520.     or.w 4(a4,d0),d4
  5521.  
  5522. ;        lsl.l #2,d3
  5523. ;        lsl.l #2,d4
  5524.  
  5525.  
  5526.     or.l (a3,d1),d3
  5527.     or.w 4(a3,d1),d4
  5528.  
  5529.  
  5530.     clr.l d1
  5531.     move.l (a0)+,d0
  5532.     move.w d0,d1    
  5533.     clr.w d0
  5534.     swap d0
  5535.     lsl.l #3,d0
  5536.  
  5537.     move.l (a6,d0),d5
  5538.     move.w 4(a6,d0),d6
  5539. ;        lsl.l #2,d5
  5540. ;        lsl.l #2,d6
  5541.  
  5542.  
  5543.     lsl.l #3,d1
  5544.     or.l (a5,d1),d5
  5545.     or.w 4(a5,d1),d6
  5546. ;        lsl.l #2,d5
  5547. ;        lsl.l #2,d6
  5548.  
  5549.     clr.l d1
  5550.     move.l (a0)+,d0
  5551.     move.w d0,d1    
  5552.     clr.w d0
  5553.     swap d0
  5554.     lsl.l #3,d0
  5555.     lsl.l #3,d1
  5556.  
  5557.     or.l (a4,d0),d5
  5558.     or.w 4(a4,d0),d6
  5559.  
  5560. ;        lsl.l #2,d5
  5561. ;        lsl.l #2,d6
  5562.  
  5563.     or.l (a3,d1),d5
  5564.     or.w 4(a3,d1),d6
  5565.  
  5566.     move.l d3,d0        
  5567.     move.l d5,d1
  5568.  
  5569.     and.l d2,d0
  5570.     and.l d2,d1
  5571.  
  5572.     eor.l d0,d3
  5573.     eor.l d1,d5
  5574.  
  5575.     lsr.l #8,d1
  5576.     or.l d1,d0        ; d0 = A1a2c1c2
  5577.  
  5578.         move.l d0,(a1)+        
  5579.  
  5580.         lsl.l #8,d3
  5581.  
  5582.  
  5583.     move.w d4,d0        ;----e1f1
  5584.     swap d4            ;e1f1----
  5585.  
  5586.         or.l d5,d3
  5587.  
  5588.  
  5589.     move.w d6,d4        ;e1f1e2f2
  5590.  
  5591.  
  5592.  
  5593.         move.l d3,(a1)+        ; d3 = b1b2d1d2
  5594.  
  5595.  
  5596.  
  5597.     rol.w #8,d4        ;e1f1f2e2
  5598.     move.b d4,d0        ;----e1e2
  5599.     lsl.l #8,d4        ;f1f2e2--
  5600.     move.w d0,d4        ;f1f2e1e2
  5601.     
  5602.  
  5603.     dbf d7,Pllb_C2p_6bit_2Meg_1by1_lp
  5604.  
  5605.     move.l d4,(a1)+        ; write final 32bits
  5606.  
  5607.     rts
  5608.  
  5609.  
  5610.  
  5611. Pllb_C2p_6bit_2Meg_1by1_APEND:
  5612.  
  5613.  
  5614.  
  5615. ; ----------------------------------------------------------------------------
  5616. ; ----------------------------------------------------------------------------
  5617. ; ----------------------------------------------------------------------------
  5618. ; ------------------------------DELTA 6bit Version----------------------------
  5619. ; ----------------------------------------------------------------------------
  5620. ; ----------------------------------------------------------------------------
  5621. ; ----------------------------------------------------------------------------
  5622.  
  5623.  
  5624.  
  5625.  
  5626. ;    -    -    -    -    -    -    -    -    -
  5627.  
  5628. ;              >> DELTA 64 colour Pllb-C2P <<
  5629.  
  5630. ;                Single pixel Width
  5631.  
  5632. ;               512k fastram version
  5633.  
  5634. ;    -    -    -    -    -    -    -    -    -
  5635.  
  5636.  
  5637.  
  5638. Pllb_C2p_Delta_6bit_512k_1by1:
  5639.  
  5640.     bsr Pllb_c2p_init_DELTA_c2p_registers
  5641.  
  5642.     ; a5/ a6    tables are not needed
  5643.  
  5644.     blk.w 32,$4e71        ; insert NOP's to ensure routine alignment
  5645.  
  5646.  
  5647. Pllb_C2p_Delta_6bit_512k_1by1_AP:
  5648.  
  5649. Pllb_C2p_Delta_6bit_512k_1by1_LP:
  5650.  
  5651.     move.l (a0)+,d4
  5652.     move.l (a0)+,d5
  5653.     move.l (a0)+,d6
  5654.     move.l (a0)+,d0
  5655.  
  5656.  
  5657.     cmp.l (a1)+,d4
  5658.     bne.b Pllb_C2p_Delta_6bit_512k_1by1_Cont4
  5659.     cmp.l (a1)+,d5
  5660.     bne.b Pllb_C2p_Delta_6bit_512k_1by1_Cont3
  5661.     cmp.l (a1)+,d6
  5662.     bne.b Pllb_C2p_Delta_6bit_512k_1by1_Cont2
  5663.     cmp.l (a1)+,d0
  5664.     bne.b Pllb_C2p_Delta_6bit_512k_1by1_Cont1
  5665.  
  5666.         add.w #12,a2
  5667.  
  5668.         dbf d7,Pllb_C2p_Delta_6bit_512k_1by1_LP
  5669.  
  5670.     rts
  5671. ;    nop
  5672.  
  5673.  
  5674. Pllb_C2p_Delta_6bit_512k_1by1_Cont4:
  5675.  
  5676.     addq.l #4,a1
  5677.  
  5678. Pllb_C2p_Delta_6bit_512k_1by1_Cont3:
  5679.  
  5680.     addq.l #4,a1
  5681.  
  5682. Pllb_C2p_Delta_6bit_512k_1by1_Cont2:
  5683.     addq.l #4,a1
  5684.  
  5685. Pllb_C2p_Delta_6bit_512k_1by1_Cont1:
  5686.  
  5687.     ; d0 = bytes ABCD
  5688.  
  5689.     clr.l d1
  5690.     move.w d4,d1    
  5691.     clr.w d4
  5692.     swap d4
  5693.     lsl.l #3,d4
  5694.     lsl.l #3,d1
  5695.  
  5696.     move.l (a3,d4),d3
  5697.     move.w 4(a3,d4),d4
  5698.  
  5699.         lsl.l #2,d3
  5700.         lsl.w #2,d4
  5701.  
  5702.  
  5703.     or.l (a3,d1),d3
  5704.     or.w 4(a3,d1),d4
  5705.  
  5706.         lsl.l #2,d3
  5707.         lsl.w #2,d4
  5708.  
  5709.     clr.l d1
  5710.             ;    move.l (a0)+,d0
  5711.     move.w d5,d1    
  5712.     clr.w d5
  5713.     swap d5
  5714.     lsl.l #3,d5
  5715.  
  5716.     or.l (a3,d5),d3
  5717.     or.w 4(a3,d5),d4
  5718.         lsl.l #2,d3
  5719.         lsl.w #2,d4
  5720.  
  5721.  
  5722.     lsl.l #3,d1
  5723.     or.l (a3,d1),d3
  5724.     or.w 4(a3,d1),d4
  5725.  
  5726.  
  5727.     clr.l d1
  5728.     move.w d6,d1    
  5729.     clr.w d6
  5730.     swap d6
  5731.     lsl.l #3,d6
  5732.  
  5733.     move.l (a3,d6),d5
  5734.     move.w 4(a3,d6),d6
  5735.         lsl.l #2,d5
  5736.         lsl.w #2,d6
  5737.  
  5738.  
  5739.     lsl.l #3,d1
  5740.     or.l (a3,d1),d5
  5741.     or.w 4(a3,d1),d6
  5742.           lsl.l #2,d5
  5743.         lsl.w #2,d6
  5744.  
  5745.  
  5746.     clr.l d1
  5747.     move.w d0,d1    
  5748.     clr.w d0
  5749.     swap d0
  5750.     lsl.l #3,d0
  5751.  
  5752.     or.l (a3,d0),d5
  5753.     or.w 4(a3,d0),d6
  5754.  
  5755.         lsl.l #2,d5
  5756.         lsl.w #2,d6
  5757.  
  5758.     lsl.l #3,d1
  5759.     or.l (a3,d1),d5
  5760.     or.w 4(a3,d1),d6
  5761.  
  5762.  
  5763.     move.l d3,d0        
  5764.     move.l d5,d1
  5765.  
  5766.     and.l d2,d0
  5767.     and.l d2,d1
  5768.  
  5769.     eor.l d0,d3
  5770.     eor.l d1,d5
  5771.  
  5772.     lsr.l #8,d1
  5773.     or.l d1,d0        ; d0 = A1a2c1c2
  5774.  
  5775.         move.l d0,(a2)+        
  5776.  
  5777.  
  5778.         lsl.l #8,d3
  5779.  
  5780.  
  5781.     move.w d4,d0        ;----e1f1
  5782.     swap d4            ;e1f1----
  5783.  
  5784.         or.l d5,d3
  5785.  
  5786.  
  5787.     move.w d6,d4        ;e1f1e2f2
  5788.  
  5789.  
  5790.  
  5791.         move.l d3,(a2)+        ; d3 = b1b2d1d2
  5792.  
  5793.  
  5794.  
  5795.     rol.w #8,d4        ;e1f1f2e2
  5796.     move.b d4,d0        ;----e1e2
  5797.     lsl.l #8,d4        ;f1f2e2--
  5798.     move.w d0,d4        ;f1f2e1e2
  5799.     
  5800.         move.l d4,(a2)+        ; d4 = f1f2e1e2
  5801.  
  5802.     dbf d7,Pllb_C2p_Delta_6bit_512k_1by1_LP
  5803.     rts
  5804.  
  5805. Pllb_C2p_Delta_6bit_512k_1by1_APEND:
  5806.  
  5807.  
  5808.  
  5809.  
  5810.  
  5811.  
  5812.  
  5813.  
  5814. ;    -    -    -    -    -    -    -    -    -
  5815.  
  5816. ;              >> DELTA 64 colour Pllb-C2P <<
  5817.  
  5818. ;                Single pixel Width
  5819.  
  5820. ;               1Meg fastram version
  5821.  
  5822. ;    -    -    -    -    -    -    -    -    -
  5823.  
  5824.  
  5825.  
  5826. Pllb_C2p_Delta_6bit_1Meg_1by1:
  5827.  
  5828.     bsr Pllb_c2p_init_DELTA_c2p_registers
  5829.  
  5830.     ; a5/ a6    tables are not needed
  5831.  
  5832.     blk.w 32,$4e71        ; insert NOP's to ensure routine alignment
  5833.  
  5834.  
  5835. Pllb_C2p_Delta_6bit_1Meg_1by1_AP:
  5836.  
  5837. Pllb_C2p_Delta_6bit_1Meg_1by1_LP:
  5838.  
  5839.     move.l (a0)+,d4
  5840.     move.l (a0)+,d5
  5841.     move.l (a0)+,d6
  5842.     move.l (a0)+,d0
  5843.  
  5844.  
  5845.     cmp.l (a1)+,d4
  5846.     bne.b Pllb_C2p_Delta_6bit_1Meg_1by1_Cont4
  5847.     cmp.l (a1)+,d5
  5848.     bne.b Pllb_C2p_Delta_6bit_1Meg_1by1_Cont3
  5849.     cmp.l (a1)+,d6
  5850.     bne.b Pllb_C2p_Delta_6bit_1Meg_1by1_Cont2
  5851.     cmp.l (a1)+,d0
  5852.     bne.b Pllb_C2p_Delta_6bit_1Meg_1by1_Cont1
  5853.  
  5854.         add.w #12,a2
  5855.     
  5856.  
  5857.         dbf d7,Pllb_C2p_Delta_6bit_1Meg_1by1_LP
  5858.  
  5859.     rts
  5860. ;    nop
  5861.  
  5862.  
  5863. Pllb_C2p_Delta_6bit_1Meg_1by1_Cont4:
  5864.  
  5865.     addq.l #4,a1
  5866.  
  5867. Pllb_C2p_Delta_6bit_1Meg_1by1_Cont3:
  5868.  
  5869.     addq.l #4,a1
  5870.  
  5871. Pllb_C2p_Delta_6bit_1Meg_1by1_Cont2:
  5872.     addq.l #4,a1
  5873.  
  5874. Pllb_C2p_Delta_6bit_1Meg_1by1_Cont1:
  5875.  
  5876.     ; d0 = bytes ABCD
  5877.  
  5878.     clr.l d1
  5879.     move.w d4,d1    
  5880.     clr.w d4
  5881.     swap d4
  5882.     lsl.l #3,d4
  5883.     lsl.l #3,d1
  5884.  
  5885.     move.l (a4,d4),d3
  5886.     move.w 4(a4,d4),d4
  5887.  
  5888.         lsl.l #2,d3
  5889.         lsl.w #2,d4
  5890.  
  5891.  
  5892.     or.l (a4,d1),d3
  5893.     or.w 4(a4,d1),d4
  5894.  
  5895.         lsl.l #2,d3
  5896.         lsl.w #2,d4
  5897.  
  5898.     clr.l d1
  5899.     move.w d5,d1    
  5900.     clr.w d5
  5901.     swap d5
  5902.     lsl.l #3,d5
  5903.  
  5904.     or.l (a4,d5),d3
  5905.     or.w 4(a4,d5),d4
  5906.  
  5907.     lsl.l #3,d1
  5908.     or.l (a3,d1),d3
  5909.     or.w 4(a3,d1),d4
  5910.  
  5911.  
  5912.     clr.l d1
  5913.     move.w d6,d1    
  5914.     clr.w d6
  5915.     swap d6
  5916.     lsl.l #3,d6
  5917.  
  5918.     move.l (a4,d6),d5
  5919.     move.w 4(a4,d6),d6
  5920.         lsl.l #2,d5
  5921.         lsl.w #2,d6
  5922.  
  5923.  
  5924.     lsl.l #3,d1
  5925.     or.l (a4,d1),d5
  5926.     or.w 4(a4,d1),d6
  5927.           lsl.l #2,d5
  5928.         lsl.w #2,d6
  5929.  
  5930.  
  5931.     clr.l d1
  5932.         ;    move.l (a0)+,d0
  5933.     move.w d0,d1    
  5934.     clr.w d0
  5935.     swap d0
  5936.     lsl.l #3,d0
  5937.     lsl.l #3,d1
  5938.  
  5939.     or.l (a4,d0),d5
  5940.     or.w 4(a4,d0),d6
  5941.     or.l (a3,d1),d5
  5942.     or.w 4(a3,d1),d6
  5943.  
  5944.  
  5945.     move.l d3,d0        
  5946.     move.l d5,d1
  5947.  
  5948.     and.l d2,d0
  5949.     and.l d2,d1
  5950.  
  5951.     eor.l d0,d3
  5952.     eor.l d1,d5
  5953.  
  5954.     lsr.l #8,d1
  5955.     or.l d1,d0        ; d0 = A1a2c1c2
  5956.  
  5957.         move.l d0,(a2)+        
  5958.  
  5959.  
  5960.         lsl.l #8,d3
  5961.  
  5962.  
  5963.     move.w d4,d0        ;----e1f1
  5964.     swap d4            ;e1f1----
  5965.  
  5966.         or.l d5,d3
  5967.  
  5968.  
  5969.     move.w d6,d4        ;e1f1e2f2
  5970.  
  5971.  
  5972.  
  5973.         move.l d3,(a2)+        ; d3 = b1b2d1d2
  5974.  
  5975.  
  5976.  
  5977.     rol.w #8,d4        ;e1f1f2e2
  5978.     move.b d4,d0        ;----e1e2
  5979.     lsl.l #8,d4        ;f1f2e2--
  5980.     move.w d0,d4        ;f1f2e1e2
  5981.     
  5982.         move.l d4,(a2)+        ; d4 = f1f2e1e2
  5983.  
  5984.  
  5985.     dbf d7,Pllb_C2p_Delta_6bit_1Meg_1by1_LP
  5986.     rts
  5987.  
  5988.  
  5989. Pllb_C2p_Delta_6bit_1meg_1by1_APEND:
  5990.  
  5991.  
  5992.  
  5993.  
  5994.  
  5995.  
  5996. ;    -    -    -    -    -    -    -    -    -
  5997.  
  5998. ;              >> DELTA 64 colour Pllb-C2P <<
  5999.  
  6000. ;                Single pixel Width
  6001.  
  6002. ;               1.5Meg fastram version
  6003.  
  6004. ;    -    -    -    -    -    -    -    -    -
  6005.  
  6006.  
  6007.  
  6008. Pllb_C2p_Delta_6bit_1_5meg_1by1:
  6009.  
  6010.     bsr Pllb_c2p_init_DELTA_c2p_registers
  6011.  
  6012.     ; a6
  6013.  
  6014.     blk.w 32,$4e71        ; insert NOP's to ensure routine alignment
  6015.  
  6016.  
  6017. Pllb_C2p_Delta_6bit_1_5meg_1by1_AP:
  6018.  
  6019. Pllb_C2p_Delta_6bit_1_5meg_1by1_LP:
  6020.  
  6021.     move.l (a0)+,d4
  6022.     move.l (a0)+,d5
  6023.     move.l (a0)+,d6
  6024.     move.l (a0)+,d0
  6025.  
  6026.  
  6027.     cmp.l (a1)+,d4
  6028.     bne.b Pllb_C2p_Delta_6bit_1_5meg_1by1_Cont4
  6029.     cmp.l (a1)+,d5
  6030.     bne.b Pllb_C2p_Delta_6bit_1_5meg_1by1_Cont3
  6031.     cmp.l (a1)+,d6
  6032.     bne.b Pllb_C2p_Delta_6bit_1_5meg_1by1_Cont2
  6033.     cmp.l (a1)+,d0
  6034.     bne.b Pllb_C2p_Delta_6bit_1_5meg_1by1_Cont1
  6035.  
  6036.         add.w #12,a2
  6037.     
  6038.  
  6039.         dbf d7,Pllb_C2p_Delta_6bit_1_5meg_1by1_LP
  6040.  
  6041.     rts
  6042. ;    nop
  6043.  
  6044.  
  6045. Pllb_C2p_Delta_6bit_1_5meg_1by1_Cont4:
  6046.  
  6047.     addq.l #4,a1
  6048.  
  6049. Pllb_C2p_Delta_6bit_1_5meg_1by1_Cont3:
  6050.  
  6051.     addq.l #4,a1
  6052.  
  6053. Pllb_C2p_Delta_6bit_1_5meg_1by1_Cont2:
  6054.     addq.l #4,a1
  6055.  
  6056. Pllb_C2p_Delta_6bit_1_5meg_1by1_Cont1:
  6057.  
  6058.     ; d0 = bytes ABCD
  6059.  
  6060.     clr.l d1
  6061.     move.w d4,d1    
  6062.     clr.w d4
  6063.     swap d4
  6064.     lsl.l #3,d4
  6065.     lsl.l #3,d1
  6066.  
  6067.     move.l (a5,d4),d3
  6068.     move.w 4(a5,d4),d4
  6069.  
  6070.         lsl.l #2,d3
  6071.         lsl.w #2,d4
  6072.  
  6073.  
  6074.     or.l (a5,d1),d3
  6075.     or.w 4(a5,d1),d4
  6076.  
  6077.     clr.l d1
  6078.     move.w d5,d1    
  6079.     clr.w d5
  6080.     swap d5
  6081.     lsl.l #3,d5
  6082.     lsl.l #3,d1
  6083.  
  6084.     or.l (a4,d5),d3
  6085.     or.w 4(a4,d5),d4
  6086.  
  6087.     or.l (a3,d1),d3
  6088.     or.w 4(a3,d1),d4
  6089.  
  6090.  
  6091.     clr.l d1
  6092.     move.w d6,d1    
  6093.     clr.w d6
  6094.     swap d6
  6095.     lsl.l #3,d6
  6096.  
  6097.     move.l (a5,d6),d5
  6098.     move.w 4(a5,d6),d6
  6099.         lsl.l #2,d5
  6100.         lsl.w #2,d6
  6101.  
  6102.     lsl.l #3,d1
  6103.     or.l (a5,d1),d5
  6104.     or.w 4(a5,d1),d6
  6105.  
  6106.  
  6107.     clr.l d1
  6108.     move.w d0,d1    
  6109.     clr.w d0
  6110.     swap d0
  6111.     lsl.l #3,d0
  6112.     lsl.l #3,d1
  6113.  
  6114.     or.l (a4,d0),d5
  6115.     or.w 4(a4,d0),d6
  6116.  
  6117.     or.l (a3,d1),d5
  6118.     or.w 4(a3,d1),d6
  6119.  
  6120.  
  6121.     move.l d3,d0        
  6122.     move.l d5,d1
  6123.  
  6124.     and.l d2,d0
  6125.     and.l d2,d1
  6126.  
  6127.     eor.l d0,d3
  6128.     eor.l d1,d5
  6129.  
  6130.     lsr.l #8,d1
  6131.     or.l d1,d0        ; d0 = A1a2c1c2
  6132.  
  6133.         move.l d0,(a2)+        
  6134.  
  6135.  
  6136.         lsl.l #8,d3
  6137.  
  6138.  
  6139.     move.w d4,d0        ;----e1f1
  6140.     swap d4            ;e1f1----
  6141.  
  6142.         or.l d5,d3
  6143.  
  6144.  
  6145.     move.w d6,d4        ;e1f1e2f2
  6146.  
  6147.  
  6148.  
  6149.         move.l d3,(a2)+        ; d3 = b1b2d1d2
  6150.  
  6151.  
  6152.  
  6153.     rol.w #8,d4        ;e1f1f2e2
  6154.     move.b d4,d0        ;----e1e2
  6155.     lsl.l #8,d4        ;f1f2e2--
  6156.     move.w d0,d4        ;f1f2e1e2
  6157.     
  6158.         move.l d4,(a2)+        ; d4 = f1f2e1e2
  6159.  
  6160.  
  6161.     dbf d7,Pllb_C2p_Delta_6bit_1_5meg_1by1_LP
  6162.     rts
  6163.  
  6164.  
  6165. Pllb_C2p_Delta_6bit_1_5meg_1by1_APEND:
  6166.  
  6167.  
  6168.  
  6169.  
  6170.  
  6171.  
  6172.  
  6173. ;    -    -    -    -    -    -    -    -    -
  6174.  
  6175. ;              >> DELTA 64 colour Pllb-C2P <<
  6176.  
  6177. ;                Single pixel Width
  6178.  
  6179. ;               2Meg fastram version
  6180.  
  6181. ;    -    -    -    -    -    -    -    -    -
  6182.  
  6183.  
  6184.  
  6185. Pllb_C2p_Delta_6bit_2meg_1by1:
  6186.  
  6187.     bsr Pllb_c2p_init_DELTA_c2p_registers
  6188.  
  6189.     blk.w 32,$4e71        ; insert NOP's to ensure routine alignment
  6190.  
  6191.  
  6192. Pllb_C2p_Delta_6bit_2meg_1by1_AP:
  6193.  
  6194. Pllb_C2p_Delta_6bit_2meg_1by1_LP:
  6195.  
  6196.     move.l (a0)+,d4
  6197.     move.l (a0)+,d5
  6198.     move.l (a0)+,d6
  6199.     move.l (a0)+,d0
  6200.  
  6201.  
  6202.     cmp.l (a1)+,d4
  6203.     bne.b Pllb_C2p_Delta_6bit_2meg_1by1_Cont4
  6204.     cmp.l (a1)+,d5
  6205.     bne.b Pllb_C2p_Delta_6bit_2meg_1by1_Cont3
  6206.     cmp.l (a1)+,d6
  6207.     bne.b Pllb_C2p_Delta_6bit_2meg_1by1_Cont2
  6208.     cmp.l (a1)+,d0
  6209.     bne.b Pllb_C2p_Delta_6bit_2meg_1by1_Cont1
  6210.  
  6211.         add.w #12,a2
  6212.     
  6213.  
  6214.         dbf d7,Pllb_C2p_Delta_6bit_2meg_1by1_LP
  6215.  
  6216.     rts
  6217.     nop
  6218.  
  6219.  
  6220. Pllb_C2p_Delta_6bit_2meg_1by1_Cont4:
  6221.  
  6222.     addq.l #4,a1
  6223.  
  6224. Pllb_C2p_Delta_6bit_2meg_1by1_Cont3:
  6225.  
  6226.     addq.l #4,a1
  6227.  
  6228. Pllb_C2p_Delta_6bit_2meg_1by1_Cont2:
  6229.     addq.l #4,a1
  6230.  
  6231. Pllb_C2p_Delta_6bit_2meg_1by1_Cont1:
  6232.  
  6233.     ; d0 = bytes ABCD
  6234.  
  6235.     clr.l d1
  6236.     move.w d4,d1    
  6237.     clr.w d4
  6238.  
  6239.     swap d4
  6240.     lsl.l #3,d4
  6241.  
  6242.     move.l (a6,d4),d3
  6243.     move.w 4(a6,d4),d4
  6244.  
  6245. ;        lsl.l #2,d3
  6246. ;        lsl.w #2,d4
  6247.  
  6248.  
  6249.     lsl.l #3,d1
  6250.     or.l (a5,d1),d3
  6251.     or.w 4(a5,d1),d4
  6252.  
  6253. ;        lsl.l #2,d3
  6254. ;        lsl.w #2,d4
  6255.  
  6256.     clr.l d1
  6257.             ;    move.l (a0)+,d0
  6258.     move.w d5,d1    
  6259.     clr.w d5
  6260.     swap d5
  6261.     lsl.l #3,d5
  6262.  
  6263.     or.l (a4,d5),d3
  6264.     or.w 4(a4,d5),d4
  6265. ;        lsl.l #2,d3
  6266. ;        lsl.w #2,d4
  6267.  
  6268.  
  6269.     lsl.l #3,d1
  6270.     or.l (a3,d1),d3
  6271.     or.w 4(a3,d1),d4
  6272.  
  6273.  
  6274. ; store 8 planar bytes
  6275.  
  6276.  
  6277.     ; d0 = bytes ABCD
  6278.  
  6279.  
  6280.     clr.l d1
  6281.         ;    move.l (a0)+,d0
  6282.     move.w d6,d1    
  6283.     clr.w d6
  6284.     swap d6
  6285.     lsl.l #3,d6
  6286.  
  6287.     move.l (a6,d6),d5
  6288.     move.w 4(a6,d6),d6
  6289. ;        lsl.l #2,d5
  6290. ;        lsl.w #2,d6
  6291.  
  6292.  
  6293.     lsl.l #3,d1
  6294.     or.l (a5,d1),d5
  6295.     or.w 4(a5,d1),d6
  6296.   ;        lsl.l #2,d5
  6297. ;        lsl.w #2,d6
  6298.  
  6299.  
  6300.     clr.l d1
  6301.         ;    move.l (a0)+,d0
  6302.     move.w d0,d1    
  6303.     clr.w d0
  6304.     swap d0
  6305.     lsl.l #3,d0
  6306.  
  6307.     or.l (a4,d0),d5
  6308.     or.w 4(a4,d0),d6
  6309.  
  6310. ;        lsl.l #2,d5
  6311. ;        lsl.w #2,d6
  6312.  
  6313.     lsl.l #3,d1
  6314.     or.l (a3,d1),d5
  6315.     or.w 4(a3,d1),d6
  6316.  
  6317.  
  6318.     move.l d3,d0        
  6319.     move.l d5,d1
  6320.  
  6321.     and.l d2,d0
  6322.     and.l d2,d1
  6323.  
  6324.     eor.l d0,d3
  6325.     eor.l d1,d5
  6326.  
  6327.     lsr.l #8,d1
  6328.     or.l d1,d0        ; d0 = A1a2c1c2
  6329.  
  6330.         move.l d0,(a2)+        
  6331.  
  6332.  
  6333.         lsl.l #8,d3
  6334.  
  6335.  
  6336.     move.w d4,d0        ;----e1f1
  6337.     swap d4            ;e1f1----
  6338.  
  6339.         or.l d5,d3
  6340.  
  6341.  
  6342.     move.w d6,d4        ;e1f1e2f2
  6343.  
  6344.  
  6345.  
  6346.         move.l d3,(a2)+        ; d3 = b1b2d1d2
  6347.  
  6348.  
  6349.  
  6350.     rol.w #8,d4        ;e1f1f2e2
  6351.     move.b d4,d0        ;----e1e2
  6352.     lsl.l #8,d4        ;f1f2e2--
  6353.     move.w d0,d4        ;f1f2e1e2
  6354.     
  6355.         move.l d4,(a2)+        ; d4 = f1f2e1e2
  6356.  
  6357.  
  6358.     dbf d7,Pllb_C2p_Delta_6bit_2meg_1by1_LP
  6359.     rts
  6360.  
  6361.  
  6362. Pllb_C2p_Delta_6bit_2meg_1by1_APEND:
  6363.  
  6364.  
  6365.  
  6366.  
  6367.  
  6368.  
  6369.  
  6370.  
  6371. ;---------------------------------------------------------------------------
  6372. ;---------------------------------------------------------------------------
  6373. ;---------------------------------------------------------------------------
  6374. ;----------------------------NULLSKIP VERSIONS------------------------------
  6375. ;---------------------------------------------------------------------------
  6376. ;---------------------------------------------------------------------------
  6377. ;---------------------------------------------------------------------------
  6378.  
  6379. ;    -    -    -    -    -    -    -    -    -
  6380.  
  6381. ;            >> NULLSKIP/CLEAR 64 colour Pllb-C2P <<
  6382.  
  6383. ;                Single pixel Width
  6384.  
  6385. ;               512k fastram version
  6386.  
  6387. ;    -    -    -    -    -    -    -    -    -
  6388.  
  6389.  
  6390. Pllb_C2p_NullSkip_6bit_512k_1by1:
  6391.  
  6392.  
  6393.     bsr Pllb_c2p_init_NULLSKIP_c2p_registers
  6394.  
  6395.     ; a4,a5,a6 tables are NOT USED
  6396.  
  6397.     blk.w 32,$4e71        ; insert NOP's to ensure routine alignment
  6398.  
  6399.  
  6400. Pllb_C2p_NullSkip_6bit_512k_1by1_AP:
  6401.  
  6402.  
  6403. Pllb_C2p_NullSkip_6bit_512k_1by1_LP:
  6404.  
  6405.     move.l (a0)+,d4
  6406.     bne.b Pllb_C2p_NullSkip_6bit_512k_1by1_Cont4
  6407.     move.l (a0)+,d5
  6408.     bne.b Pllb_C2p_NullSkip_6bit_512k_1by1_Cont3
  6409.     move.l (a0)+,d6
  6410.     bne.b Pllb_C2p_NullSkip_6bit_512k_1by1_Cont2
  6411.     move.l (a0)+,d0
  6412.     bne.b Pllb_C2p_NullSkip_6bit_512k_1by1_Cont1
  6413.  
  6414.         clr.l (a2)+
  6415.         add.w #16,a1
  6416.         clr.l (a2)+
  6417.         clr.l (a2)+
  6418.  
  6419.         dbf d7,Pllb_C2p_NullSkip_6bit_512k_1by1_LP
  6420.  
  6421.  
  6422.     rts
  6423.     nop
  6424.  
  6425. Pllb_C2p_NullSkip_6bit_512k_1by1_Cont4:
  6426.  
  6427.     move.l (a0)+,d5
  6428.  
  6429. Pllb_C2p_NullSkip_6bit_512k_1by1_Cont3:
  6430.  
  6431.     move.l (a0)+,d6
  6432.  
  6433. Pllb_C2p_NullSkip_6bit_512k_1by1_Cont2:
  6434.  
  6435.     move.l (a0)+,d0
  6436.  
  6437. Pllb_C2p_NullSkip_6bit_512k_1by1_Cont1:
  6438.  
  6439.         clr.l (a1)+        ; clear 4 source chunky pixels
  6440.  
  6441.     clr.l d1
  6442.     move.w d4,d1    
  6443.     clr.w d4
  6444.     swap d4
  6445.     lsl.l #3,d4
  6446.  
  6447.     move.l (a3,d4),d3
  6448.     move.w 4(a3,d4),d4
  6449.  
  6450.         lsl.l #2,d3
  6451.         lsl.w #2,d4
  6452.  
  6453.  
  6454.     lsl.l #3,d1
  6455.     or.l (a3,d1),d3
  6456.     or.w 4(a3,d1),d4
  6457.  
  6458.         lsl.l #2,d3
  6459.         lsl.w #2,d4
  6460.  
  6461.  
  6462.     clr.l (a1)+        ; clear 4 source chunky pixels
  6463.  
  6464.  
  6465.     clr.l d1
  6466.             ;    move.l (a0)+,d0
  6467.     move.w d5,d1    
  6468.     clr.w d5
  6469.     swap d5
  6470.     lsl.l #3,d5
  6471.  
  6472.     or.l (a3,d5),d3
  6473.     or.w 4(a3,d5),d4
  6474.         lsl.l #2,d3
  6475.         lsl.w #2,d4
  6476.  
  6477.     lsl.l #3,d1
  6478.     or.l (a3,d1),d3
  6479.     or.w 4(a3,d1),d4
  6480.  
  6481.         clr.l (a1)+        ; clear 4 source chunky pixels
  6482.  
  6483.     clr.l d1
  6484.     move.w d6,d1    
  6485.     clr.w d6
  6486.     swap d6
  6487.     lsl.l #3,d6
  6488.     lsl.l #3,d1
  6489.  
  6490.     move.l (a3,d6),d5
  6491.     move.w 4(a3,d6),d6
  6492.         lsl.l #2,d5
  6493.         lsl.w #2,d6
  6494.  
  6495.     or.l (a3,d1),d5
  6496.     or.w 4(a3,d1),d6
  6497.           lsl.l #2,d5
  6498.         lsl.w #2,d6
  6499.  
  6500.     clr.l d1
  6501.     move.w d0,d1    
  6502.     clr.w d0
  6503.     swap d0
  6504.     lsl.l #3,d0
  6505.     lsl.l #3,d1
  6506.     or.l (a3,d0),d5
  6507.     or.w 4(a3,d0),d6
  6508.  
  6509.           lsl.l #2,d5
  6510.         lsl.w #2,d6
  6511.  
  6512.     or.l (a3,d1),d5
  6513.     or.w 4(a3,d1),d6
  6514.  
  6515.  
  6516.         clr.l (a1)+        ; clear 4 source chunky pixels
  6517.  
  6518.  
  6519.  
  6520.     move.l d3,d0        
  6521.     move.l d5,d1
  6522.  
  6523.     and.l d2,d0
  6524.     and.l d2,d1
  6525.  
  6526.     eor.l d0,d3
  6527.     eor.l d1,d5
  6528.  
  6529.     lsr.l #8,d1
  6530.     or.l d1,d0        ; d0 = A1a2c1c2
  6531.  
  6532.         move.l d0,(a2)+        
  6533.  
  6534.  
  6535.         lsl.l #8,d3
  6536.  
  6537.  
  6538.     move.w d4,d0        ;----e1f1
  6539.     swap d4            ;e1f1----
  6540.  
  6541.         or.l d5,d3
  6542.  
  6543.  
  6544.     move.w d6,d4        ;e1f1e2f2
  6545.  
  6546.         move.l d3,(a2)+        ; d3 = b1b2d1d2
  6547.  
  6548.     rol.w #8,d4        ;e1f1f2e2
  6549.     move.b d4,d0        ;----e1e2
  6550.     lsl.l #8,d4        ;f1f2e2--
  6551.     move.w d0,d4        ;f1f2e1e2
  6552.     
  6553.  
  6554.         move.l d4,(a2)+        ; d4 = f1f2e1e2
  6555.  
  6556.     dbf d7,Pllb_C2p_NullSkip_6bit_512k_1by1_LP
  6557.     rts
  6558.  
  6559.  
  6560. Pllb_C2p_NullSkip_6bit_512k_1by1_APEND:
  6561.  
  6562.  
  6563.  
  6564.  
  6565. ;    -    -    -    -    -    -    -    -    -
  6566.  
  6567. ;            >> NULLSKIP/CLEAR 64 colour Pllb-C2P <<
  6568.  
  6569. ;                Single pixel Width
  6570.  
  6571. ;               1Meg fastram version
  6572.  
  6573. ;    -    -    -    -    -    -    -    -    -
  6574.  
  6575.  
  6576. Pllb_C2p_NullSkip_6bit_1meg_1by1:
  6577.  
  6578.  
  6579.     bsr Pllb_c2p_init_NULLSKIP_c2p_registers
  6580.  
  6581.     ; a5,a6 tables are NOT USED
  6582.  
  6583.     blk.w 32,$4e71        ; insert NOP's to ensure routine alignment
  6584.  
  6585.  
  6586. Pllb_C2p_NullSkip_6bit_1meg_1by1_AP:
  6587.  
  6588.  
  6589. Pllb_C2p_NullSkip_6bit_1meg_1by1_LP:
  6590.  
  6591.     move.l (a0)+,d4
  6592.     bne.b Pllb_C2p_NullSkip_6bit_1meg_1by1_Cont4
  6593.     move.l (a0)+,d5
  6594.     bne.b Pllb_C2p_NullSkip_6bit_1meg_1by1_Cont3
  6595.     move.l (a0)+,d6
  6596.     bne.b Pllb_C2p_NullSkip_6bit_1meg_1by1_Cont2
  6597.     move.l (a0)+,d0
  6598.     bne.b Pllb_C2p_NullSkip_6bit_1meg_1by1_Cont1
  6599.  
  6600.         clr.l (a2)+
  6601.         add.w #16,a1
  6602.         clr.l (a2)+
  6603.         clr.l (a2)+
  6604.         dbf d7,Pllb_C2p_NullSkip_6bit_1meg_1by1_LP
  6605.  
  6606.  
  6607.     rts
  6608.     nop
  6609.  
  6610. Pllb_C2p_NullSkip_6bit_1meg_1by1_Cont4:
  6611.  
  6612.     move.l (a0)+,d5
  6613.  
  6614. Pllb_C2p_NullSkip_6bit_1meg_1by1_Cont3:
  6615.  
  6616.     move.l (a0)+,d6
  6617.  
  6618. Pllb_C2p_NullSkip_6bit_1meg_1by1_Cont2:
  6619.  
  6620.     move.l (a0)+,d0
  6621.  
  6622. Pllb_C2p_NullSkip_6bit_1meg_1by1_Cont1:
  6623.  
  6624.         clr.l (a1)+        ; clear 4 source chunky pixels
  6625.  
  6626.     ; d0 = bytes ABCD
  6627.  
  6628.     clr.l d1
  6629.     move.w d4,d1    
  6630.     clr.w d4
  6631.     swap d4
  6632.     lsl.l #3,d4
  6633.  
  6634.     move.l (a4,d4),d3
  6635.     move.w 4(a4,d4),d4
  6636.  
  6637.         lsl.l #2,d3
  6638.         lsl.w #2,d4
  6639.  
  6640.  
  6641.     lsl.l #3,d1
  6642.     or.l (a4,d1),d3
  6643.     or.w 4(a4,d1),d4
  6644.  
  6645.         lsl.l #2,d3
  6646.         lsl.w #2,d4
  6647.  
  6648.         clr.l (a1)+        ; clear 4 source chunky pixels
  6649.  
  6650.  
  6651.     clr.l d1
  6652.             ;    move.l (a0)+,d0
  6653.     move.w d5,d1    
  6654.     clr.w d5
  6655.     swap d5
  6656.     lsl.l #3,d5
  6657.  
  6658.     or.l (a4,d5),d3
  6659.     or.w 4(a4,d5),d4
  6660.  
  6661.     lsl.l #3,d1
  6662.     or.l (a3,d1),d3
  6663.     or.w 4(a3,d1),d4
  6664.  
  6665.         clr.l (a1)+        ; clear 4 source chunky pixels
  6666.  
  6667.     clr.l d1
  6668.     move.w d6,d1    
  6669.     clr.w d6
  6670.     swap d6
  6671.     lsl.l #3,d6
  6672.  
  6673.     move.l (a4,d6),d5
  6674.     move.w 4(a4,d6),d6
  6675.         lsl.l #2,d5
  6676.         lsl.w #2,d6
  6677.  
  6678.  
  6679.     lsl.l #3,d1
  6680.     or.l (a4,d1),d5
  6681.     or.w 4(a4,d1),d6
  6682.           lsl.l #2,d5
  6683.         lsl.w #2,d6
  6684.  
  6685.     clr.l d1
  6686.     move.w d0,d1    
  6687.     clr.w d0
  6688.     swap d0
  6689.     lsl.l #3,d0
  6690.     lsl.l #3,d1
  6691.  
  6692.     or.l (a4,d0),d5
  6693.     or.w 4(a4,d0),d6
  6694.  
  6695.     or.l (a3,d1),d5
  6696.     or.w 4(a3,d1),d6
  6697.  
  6698.  
  6699.  
  6700.         clr.l (a1)+        ; clear 4 source chunky pixels
  6701.  
  6702.  
  6703.  
  6704.     move.l d3,d0        
  6705.     move.l d5,d1
  6706.  
  6707.     and.l d2,d0
  6708.     and.l d2,d1
  6709.  
  6710.     eor.l d0,d3
  6711.     eor.l d1,d5
  6712.  
  6713.     lsr.l #8,d1
  6714.     or.l d1,d0        ; d0 = A1a2c1c2
  6715.  
  6716.         move.l d0,(a2)+        
  6717.  
  6718.  
  6719.         lsl.l #8,d3
  6720.  
  6721.  
  6722.     move.w d4,d0        ;----e1f1
  6723.     swap d4            ;e1f1----
  6724.  
  6725.         or.l d5,d3
  6726.  
  6727.  
  6728.     move.w d6,d4        ;e1f1e2f2
  6729.  
  6730.         move.l d3,(a2)+        ; d3 = b1b2d1d2
  6731.  
  6732.     rol.w #8,d4        ;e1f1f2e2
  6733.     move.b d4,d0        ;----e1e2
  6734.     lsl.l #8,d4        ;f1f2e2--
  6735.     move.w d0,d4        ;f1f2e1e2
  6736.     
  6737.  
  6738.         move.l d4,(a2)+        ; d4 = f1f2e1e2
  6739.  
  6740.     dbf d7,Pllb_C2p_NullSkip_6bit_1meg_1by1_LP
  6741.     rts
  6742.  
  6743.  
  6744. Pllb_C2p_NullSkip_6bit_1meg_1by1_APEND:
  6745.  
  6746.  
  6747.  
  6748.  
  6749.  
  6750. ;    -    -    -    -    -    -    -    -    -
  6751.  
  6752. ;            >> NULLSKIP/CLEAR 64 colour Pllb-C2P <<
  6753.  
  6754. ;                Single pixel Width
  6755.  
  6756. ;               1.5Meg fastram version
  6757.  
  6758. ;    -    -    -    -    -    -    -    -    -
  6759.  
  6760.  
  6761. Pllb_C2p_NullSkip_6bit_1_5meg_1by1:
  6762.  
  6763.  
  6764.     bsr Pllb_c2p_init_NULLSKIP_c2p_registers
  6765.  
  6766.     ; a6 tables are NOT USED
  6767.  
  6768.     blk.w 32,$4e71        ; insert NOP's to ensure routine alignment
  6769.  
  6770.  
  6771. Pllb_C2p_NullSkip_6bit_1_5meg_1by1_AP:
  6772.  
  6773.  
  6774. Pllb_C2p_NullSkip_6bit_1_5meg_1by1_LP:
  6775.  
  6776.     move.l (a0)+,d4
  6777.     bne.b Pllb_C2p_NullSkip_6bit_1_5meg_1by1_Cont4
  6778.     move.l (a0)+,d5
  6779.     bne.b Pllb_C2p_NullSkip_6bit_1_5meg_1by1_Cont3
  6780.     move.l (a0)+,d6
  6781.     bne.b Pllb_C2p_NullSkip_6bit_1_5meg_1by1_Cont2
  6782.     move.l (a0)+,d0
  6783.     bne.b Pllb_C2p_NullSkip_6bit_1_5meg_1by1_Cont1
  6784.  
  6785.         clr.l (a2)+
  6786.         add.w #16,a1
  6787.         clr.l (a2)+
  6788.         clr.l (a2)+
  6789.  
  6790.  
  6791.         dbf d7,Pllb_C2p_NullSkip_6bit_1_5meg_1by1_LP
  6792.  
  6793.  
  6794.     rts
  6795.     nop
  6796.  
  6797. Pllb_C2p_NullSkip_6bit_1_5meg_1by1_Cont4:
  6798.  
  6799.     move.l (a0)+,d5
  6800.  
  6801. Pllb_C2p_NullSkip_6bit_1_5meg_1by1_Cont3:
  6802.  
  6803.     move.l (a0)+,d6
  6804.  
  6805. Pllb_C2p_NullSkip_6bit_1_5meg_1by1_Cont2:
  6806.  
  6807.     move.l (a0)+,d0
  6808.  
  6809. Pllb_C2p_NullSkip_6bit_1_5meg_1by1_Cont1:
  6810.  
  6811.         clr.l (a1)+        ; clear 4 source chunky pixels
  6812.  
  6813.     ; d0 = bytes ABCD
  6814.  
  6815.     clr.l d1
  6816.     move.w d4,d1    
  6817.     clr.w d4
  6818.     swap d4
  6819.     lsl.l #3,d4
  6820.  
  6821.     move.l (a5,d4),d3
  6822.     move.w 4(a5,d4),d4
  6823.  
  6824.         lsl.l #2,d3
  6825.         lsl.w #2,d4
  6826.  
  6827.  
  6828.     lsl.l #3,d1
  6829.     or.l (a5,d1),d3
  6830.     or.w 4(a5,d1),d4
  6831.  
  6832.  
  6833.         clr.l (a1)+        ; clear 4 source chunky pixels
  6834.  
  6835.  
  6836.     clr.l d1
  6837.     move.w d5,d1    
  6838.     clr.w d5
  6839.     swap d5
  6840.     lsl.l #3,d5
  6841.  
  6842.     or.l (a4,d5),d3
  6843.     or.w 4(a4,d5),d4
  6844.  
  6845.     lsl.l #3,d1
  6846.     or.l (a3,d1),d3
  6847.     or.w 4(a3,d1),d4
  6848.  
  6849.         clr.l (a1)+        ; clear 4 source chunky pixels
  6850.  
  6851.     clr.l d1
  6852.     move.w d6,d1    
  6853.     clr.w d6
  6854.     swap d6
  6855.     lsl.l #3,d6
  6856.  
  6857.     move.l (a5,d6),d5
  6858.     move.w 4(a5,d6),d6
  6859.         lsl.l #2,d5
  6860.         lsl.w #2,d6
  6861.  
  6862.  
  6863.     lsl.l #3,d1
  6864.     or.l (a5,d1),d5
  6865.     or.w 4(a5,d1),d6
  6866.  
  6867.     clr.l d1
  6868.     move.w d0,d1    
  6869.     clr.w d0
  6870.     swap d0
  6871.     lsl.l #3,d0
  6872.     lsl.l #3,d1
  6873.  
  6874.     or.l (a4,d0),d5
  6875.     or.w 4(a4,d0),d6
  6876.  
  6877.     or.l (a3,d1),d5
  6878.     or.w 4(a3,d1),d6
  6879.  
  6880.  
  6881.         clr.l (a1)+        ; clear 4 source chunky pixels
  6882.  
  6883.  
  6884.     move.l d3,d0        
  6885.     move.l d5,d1
  6886.  
  6887.     and.l d2,d0
  6888.     and.l d2,d1
  6889.  
  6890.     eor.l d0,d3
  6891.     eor.l d1,d5
  6892.  
  6893.     lsr.l #8,d1
  6894.     or.l d1,d0        ; d0 = A1a2c1c2
  6895.  
  6896.         move.l d0,(a2)+        
  6897.  
  6898.         lsl.l #8,d3
  6899.  
  6900.     move.w d4,d0        ;----e1f1
  6901.     swap d4            ;e1f1----
  6902.  
  6903.         or.l d5,d3
  6904.  
  6905.  
  6906.     move.w d6,d4        ;e1f1e2f2
  6907.  
  6908.  
  6909.  
  6910.         move.l d3,(a2)+        ; d3 = b1b2d1d2
  6911.  
  6912.  
  6913.  
  6914.     rol.w #8,d4        ;e1f1f2e2
  6915.     move.b d4,d0        ;----e1e2
  6916.     lsl.l #8,d4        ;f1f2e2--
  6917.     move.w d0,d4        ;f1f2e1e2
  6918.     
  6919.  
  6920.         move.l d4,(a2)+        ; d4 = f1f2e1e2
  6921.  
  6922.     dbf d7,Pllb_C2p_NullSkip_6bit_1_5meg_1by1_LP
  6923.     rts
  6924.  
  6925.  
  6926. Pllb_C2p_NullSkip_6bit_1_5meg_1by1_APEND:
  6927.  
  6928.  
  6929.  
  6930.  
  6931.  
  6932.  
  6933.  
  6934. ;    -    -    -    -    -    -    -    -    -
  6935.  
  6936. ;            >> NULLSKIP/CLEAR 64 colour Pllb-C2P <<
  6937.  
  6938. ;                Single pixel Width
  6939.  
  6940. ;               2Meg fastram version
  6941.  
  6942. ;    -    -    -    -    -    -    -    -    -
  6943.  
  6944.  
  6945. Pllb_C2p_NullSkip_6bit_2Meg_1by1:
  6946.  
  6947.     bsr Pllb_c2p_init_NULLSKIP_c2p_registers
  6948.  
  6949.     ; a4,a5,d6 tables are NOT USED
  6950.  
  6951.     blk.w 32,$4e71        ; insert NOP's to ensure routine alignment
  6952.  
  6953.  
  6954. Pllb_C2p_NullSkip_6bit_2Meg_1by1_AP:
  6955.  
  6956.  
  6957. Pllb_C2p_NullSkip_6bit_2Meg_1by1_LP:
  6958.  
  6959.     move.l (a0)+,d4
  6960.     bne.b Pllb_C2p_NullSkip_6bit_2Meg_1by1_Cont4
  6961.     move.l (a0)+,d5
  6962.     bne.b Pllb_C2p_NullSkip_6bit_2Meg_1by1_Cont3
  6963.     move.l (a0)+,d6
  6964.     bne.b Pllb_C2p_NullSkip_6bit_2Meg_1by1_Cont2
  6965.     move.l (a0)+,d0
  6966.     bne.b Pllb_C2p_NullSkip_6bit_2Meg_1by1_Cont1
  6967.  
  6968.         clr.l (a2)+
  6969.         add.w #16,a1
  6970.         clr.l (a2)+
  6971.         clr.l (a2)+
  6972.         dbf d7,Pllb_C2p_NullSkip_6bit_2Meg_1by1_LP
  6973.  
  6974.  
  6975.     rts
  6976.     nop
  6977.  
  6978. Pllb_C2p_NullSkip_6bit_2Meg_1by1_Cont4:
  6979.  
  6980.     move.l (a0)+,d5
  6981.  
  6982. Pllb_C2p_NullSkip_6bit_2Meg_1by1_Cont3:
  6983.  
  6984.     move.l (a0)+,d6
  6985.  
  6986. Pllb_C2p_NullSkip_6bit_2Meg_1by1_Cont2:
  6987.  
  6988.     move.l (a0)+,d0
  6989.  
  6990. Pllb_C2p_NullSkip_6bit_2Meg_1by1_Cont1:
  6991.  
  6992.         clr.l (a1)+        ; clear 4 source chunky pixels
  6993.  
  6994.  
  6995.     clr.l d1
  6996.     move.w d4,d1    
  6997.     clr.w d4
  6998.     swap d4
  6999.     lsl.l #3,d4
  7000.     lsl.l #3,d1
  7001.  
  7002.     move.l (a6,d4),d3
  7003.     move.w 4(a6,d4),d4
  7004.  
  7005.     or.l (a5,d1),d3
  7006.     or.w 4(a5,d1),d4
  7007.  
  7008.         clr.l (a1)+        ; clear 4 source chunky pixels
  7009.  
  7010.  
  7011.     clr.l d1
  7012.     move.w d5,d1    
  7013.     clr.w d5
  7014.     swap d5
  7015.     lsl.l #3,d5
  7016.     lsl.l #3,d1
  7017.  
  7018.     or.l (a4,d5),d3
  7019.     or.w 4(a4,d5),d4
  7020.  
  7021.     or.l (a3,d1),d3
  7022.     or.w 4(a3,d1),d4
  7023.  
  7024.         clr.l (a1)+        ; clear 4 source chunky pixels
  7025.  
  7026.     clr.l d1
  7027.     move.w d6,d1    
  7028.     clr.w d6
  7029.     swap d6
  7030.     lsl.l #3,d6
  7031.     lsl.l #3,d1
  7032.  
  7033.     move.l (a6,d6),d5
  7034.     move.w 4(a6,d6),d6
  7035.  
  7036.     or.l (a5,d1),d5
  7037.     or.w 4(a5,d1),d6
  7038.     clr.l d1
  7039.     move.w d0,d1    
  7040.     clr.w d0
  7041.     swap d0
  7042.     lsl.l #3,d0
  7043.     lsl.l #3,d1
  7044.  
  7045.     or.l (a4,d0),d5
  7046.     or.w 4(a4,d0),d6
  7047.     or.l (a3,d1),d5
  7048.     or.w 4(a3,d1),d6
  7049.  
  7050.         clr.l (a1)+        ; clear 4 source chunky pixels
  7051.  
  7052.     move.l d3,d0        
  7053.     move.l d5,d1
  7054.  
  7055.     and.l d2,d0
  7056.     and.l d2,d1
  7057.  
  7058.     eor.l d0,d3
  7059.     eor.l d1,d5
  7060.  
  7061.     lsr.l #8,d1
  7062.     or.l d1,d0        ; d0 = A1a2c1c2
  7063.  
  7064.         move.l d0,(a2)+        
  7065.  
  7066.  
  7067.         lsl.l #8,d3
  7068.  
  7069.  
  7070.     move.w d4,d0        ;----e1f1
  7071.     swap d4            ;e1f1----
  7072.  
  7073.         or.l d5,d3
  7074.  
  7075.  
  7076.     move.w d6,d4        ;e1f1e2f2
  7077.  
  7078.  
  7079.  
  7080.         move.l d3,(a2)+        ; d3 = b1b2d1d2
  7081.  
  7082.  
  7083.  
  7084.     rol.w #8,d4        ;e1f1f2e2
  7085.     move.b d4,d0        ;----e1e2
  7086.     lsl.l #8,d4        ;f1f2e2--
  7087.     move.w d0,d4        ;f1f2e1e2
  7088.     
  7089.  
  7090.         move.l d4,(a2)+        ; d4 = f1f2e1e2
  7091.  
  7092.     dbf d7,Pllb_C2p_NullSkip_6bit_2Meg_1by1_LP
  7093.     rts
  7094.  
  7095.  
  7096. Pllb_C2p_NullSkip_6bit_2meg_1by1_APEND:
  7097.  
  7098.  
  7099.  
  7100.  
  7101.  
  7102.  
  7103.  
  7104.  
  7105.  
  7106.  
  7107.  
  7108.  
  7109. ;---------------------------------------------------------------------------
  7110. ;---------------------------------------------------------------------------
  7111. ;---------------------------------------------------------------------------
  7112. ;------------------------DELTA NULLSKIP VERSIONS----------------------------
  7113. ;---------------------------------------------------------------------------
  7114. ;---------------------------------------------------------------------------
  7115. ;---------------------------------------------------------------------------
  7116.  
  7117. ;    -    -    -    -    -    -    -    -    -
  7118.  
  7119. ;            >> DeltaNullSkip/CLEAR 64 colour Pllb-C2P <<
  7120.  
  7121. ;                Single pixel Width
  7122.  
  7123. ;               512k fastram version
  7124.  
  7125. ;    -    -    -    -    -    -    -    -    -
  7126.  
  7127.  
  7128. Pllb_C2p_DeltaNullSkip_6bit_512k_1by1:
  7129.  
  7130.     bsr Pllb_c2p_init_DeltaNullSkip_c2p_registers
  7131.  
  7132.     move.l #16,a5
  7133.  
  7134.     ; a4,a5,a6 tables are NOT USED
  7135.  
  7136.     blk.w 32,$4e71        ; insert NOP's to ensure routine alignment
  7137.  
  7138.  
  7139. Pllb_C2p_DeltaNullSkip_6bit_512k_1by1_AP:
  7140.  
  7141.  
  7142. Pllb_C2p_DeltaNullSkip_6bit_512k_1by1_LP:
  7143.  
  7144.     move.l (a0)+,d4
  7145.     bne.b Pllb_C2p_DeltaNullSkip_6bit_512k_1by1_Cont4
  7146.     move.l (a0)+,d5
  7147.     bne.b Pllb_C2p_DeltaNullSkip_6bit_512k_1by1_Cont3
  7148.     move.l (a0)+,d6
  7149.     bne.b Pllb_C2p_DeltaNullSkip_6bit_512k_1by1_Cont2
  7150.     move.l (a0)+,d0
  7151.     bne.b Pllb_C2p_DeltaNullSkip_6bit_512k_1by1_Cont1
  7152.  
  7153.     tst.b (a6)+
  7154.     bne.b Pllb_C2p_DeltaNullSkip_6bit_512k_1by1_nodelta
  7155.  
  7156.         add.l a5,a1
  7157.         add.w #12,a2
  7158.  
  7159. ;        addq.l #1,a6        
  7160.         dbf d7,Pllb_C2p_DeltaNullSkip_6bit_512k_1by1_LP
  7161.     rts
  7162.  
  7163.  
  7164. Pllb_C2p_DeltaNullSkip_6bit_512k_1by1_nodelta:
  7165.  
  7166.         clr.l (a2)+
  7167.         add.l a5,a1
  7168.         clr.l (a2)+
  7169.         clr.l (a2)+
  7170.  
  7171.         clr.b -1(a6)
  7172.         
  7173.         dbf d7,Pllb_C2p_DeltaNullSkip_6bit_512k_1by1_LP
  7174.  
  7175.     rts
  7176.     nop
  7177.  
  7178. Pllb_C2p_DeltaNullSkip_6bit_512k_1by1_Cont4:
  7179.  
  7180.     move.l (a0)+,d5
  7181.  
  7182. Pllb_C2p_DeltaNullSkip_6bit_512k_1by1_Cont3:
  7183.  
  7184.     move.l (a0)+,d6
  7185.  
  7186. Pllb_C2p_DeltaNullSkip_6bit_512k_1by1_Cont2:
  7187.  
  7188.     move.l (a0)+,d0
  7189.  
  7190. Pllb_C2p_DeltaNullSkip_6bit_512k_1by1_Cont1:
  7191.  
  7192.         clr.l (a1)+        ; clear 4 source chunky pixels
  7193.  
  7194.     clr.l d1
  7195.     move.w d4,d1    
  7196.     clr.w d4
  7197.  
  7198.         st.b (a6)+
  7199.  
  7200.  
  7201.     swap d4
  7202.     lsl.l #3,d4
  7203.  
  7204.     move.l (a3,d4),d3
  7205.     move.w 4(a3,d4),d4
  7206.  
  7207.         lsl.l #2,d3
  7208.         lsl.w #2,d4
  7209.  
  7210.  
  7211.     lsl.l #3,d1
  7212.     or.l (a3,d1),d3
  7213.     or.w 4(a3,d1),d4
  7214.  
  7215.         lsl.l #2,d3
  7216.         lsl.w #2,d4
  7217.  
  7218.  
  7219.     clr.l (a1)+        ; clear 4 source chunky pixels
  7220.  
  7221.  
  7222.     clr.l d1
  7223.             ;    move.l (a0)+,d0
  7224.     move.w d5,d1    
  7225.     clr.w d5
  7226.     swap d5
  7227.     lsl.l #3,d5
  7228.  
  7229.     or.l (a3,d5),d3
  7230.     or.w 4(a3,d5),d4
  7231.         lsl.l #2,d3
  7232.         lsl.w #2,d4
  7233.  
  7234.     lsl.l #3,d1
  7235.     or.l (a3,d1),d3
  7236.     or.w 4(a3,d1),d4
  7237.  
  7238.         clr.l (a1)+        ; clear 4 source chunky pixels
  7239.  
  7240.     clr.l d1
  7241.     move.w d6,d1    
  7242.     clr.w d6
  7243.     swap d6
  7244.     lsl.l #3,d6
  7245.     lsl.l #3,d1
  7246.  
  7247.     move.l (a3,d6),d5
  7248.     move.w 4(a3,d6),d6
  7249.         lsl.l #2,d5
  7250.         lsl.w #2,d6
  7251.  
  7252.     or.l (a3,d1),d5
  7253.     or.w 4(a3,d1),d6
  7254.           lsl.l #2,d5
  7255.         lsl.w #2,d6
  7256.  
  7257.     clr.l d1
  7258.     move.w d0,d1    
  7259.     clr.w d0
  7260.     swap d0
  7261.     lsl.l #3,d0
  7262.     lsl.l #3,d1
  7263.     or.l (a3,d0),d5
  7264.     or.w 4(a3,d0),d6
  7265.  
  7266.           lsl.l #2,d5
  7267.         lsl.w #2,d6
  7268.  
  7269.     or.l (a3,d1),d5
  7270.     or.w 4(a3,d1),d6
  7271.  
  7272.  
  7273.         clr.l (a1)+        ; clear 4 source chunky pixels
  7274.  
  7275.  
  7276.  
  7277.     move.l d3,d0        
  7278.     move.l d5,d1
  7279.  
  7280.     and.l d2,d0
  7281.     and.l d2,d1
  7282.  
  7283.     eor.l d0,d3
  7284.     eor.l d1,d5
  7285.  
  7286.     lsr.l #8,d1
  7287.     or.l d1,d0        ; d0 = A1a2c1c2
  7288.  
  7289.         move.l d0,(a2)+        
  7290.  
  7291.  
  7292.         lsl.l #8,d3
  7293.  
  7294.  
  7295.     move.w d4,d0        ;----e1f1
  7296.     swap d4            ;e1f1----
  7297.  
  7298.         or.l d5,d3
  7299.  
  7300.  
  7301.     move.w d6,d4        ;e1f1e2f2
  7302.  
  7303.         move.l d3,(a2)+        ; d3 = b1b2d1d2
  7304.  
  7305.     rol.w #8,d4        ;e1f1f2e2
  7306.     move.b d4,d0        ;----e1e2
  7307.     lsl.l #8,d4        ;f1f2e2--
  7308.     move.w d0,d4        ;f1f2e1e2
  7309.     
  7310.  
  7311.         move.l d4,(a2)+        ; d4 = f1f2e1e2
  7312.  
  7313.     dbf d7,Pllb_C2p_DeltaNullSkip_6bit_512k_1by1_LP
  7314.     rts
  7315.  
  7316.  
  7317. Pllb_C2p_DeltaNullSkip_6bit_512k_1by1_APEND:
  7318.  
  7319.  
  7320.  
  7321.  
  7322.  
  7323.  
  7324.  
  7325.  
  7326.  
  7327.  
  7328. ;    -    -    -    -    -    -    -    -    -
  7329.  
  7330. ;            >> DeltaNullSkip/CLEAR 64 colour Pllb-C2P <<
  7331.  
  7332. ;                Single pixel Width
  7333.  
  7334. ;               1Meg fastram version
  7335.  
  7336. ;    -    -    -    -    -    -    -    -    -
  7337.  
  7338.  
  7339. Pllb_C2p_DeltaNullSkip_6bit_1meg_1by1:
  7340.  
  7341.     bsr Pllb_c2p_init_DeltaNullSkip_c2p_registers
  7342.  
  7343.     move.l #16,a5
  7344.  
  7345.     ; a5,a6 tables are NOT USED
  7346.  
  7347.     blk.w 32,$4e71        ; insert NOP's to ensure routine alignment
  7348.  
  7349.  
  7350. Pllb_C2p_DeltaNullSkip_6bit_1meg_1by1_AP:
  7351.  
  7352.  
  7353. Pllb_C2p_DeltaNullSkip_6bit_1meg_1by1_LP:
  7354.  
  7355.     move.l (a0)+,d4
  7356.     bne.b Pllb_C2p_DeltaNullSkip_6bit_1meg_1by1_Cont4
  7357.     move.l (a0)+,d5
  7358.     bne.b Pllb_C2p_DeltaNullSkip_6bit_1meg_1by1_Cont3
  7359.     move.l (a0)+,d6
  7360.     bne.b Pllb_C2p_DeltaNullSkip_6bit_1meg_1by1_Cont2
  7361.     move.l (a0)+,d0
  7362.     bne.b Pllb_C2p_DeltaNullSkip_6bit_1meg_1by1_Cont1
  7363.  
  7364.  
  7365.     tst.b (a6)+
  7366.     bne.b Pllb_C2p_DeltaNullSkip_6bit_1Meg_1by1_nodelta
  7367.  
  7368.         add.l a5,a1
  7369.         add.w #12,a2
  7370.         dbf d7,Pllb_C2p_DeltaNullSkip_6bit_1Meg_1by1_LP
  7371.     rts
  7372.  
  7373.  
  7374. Pllb_C2p_DeltaNullSkip_6bit_1Meg_1by1_nodelta:
  7375.  
  7376.         clr.l (a2)+
  7377.         add.l a5,a1
  7378.         clr.l (a2)+
  7379.         clr.l (a2)+
  7380.  
  7381.         clr.b -1(a6)    
  7382.         dbf d7,Pllb_C2p_DeltaNullSkip_6bit_1Meg_1by1_LP
  7383.  
  7384.     rts
  7385.     nop
  7386.  
  7387. Pllb_C2p_DeltaNullSkip_6bit_1meg_1by1_Cont4:
  7388.  
  7389.     move.l (a0)+,d5
  7390.  
  7391. Pllb_C2p_DeltaNullSkip_6bit_1meg_1by1_Cont3:
  7392.  
  7393.     move.l (a0)+,d6
  7394.  
  7395. Pllb_C2p_DeltaNullSkip_6bit_1meg_1by1_Cont2:
  7396.  
  7397.     move.l (a0)+,d0
  7398.  
  7399. Pllb_C2p_DeltaNullSkip_6bit_1meg_1by1_Cont1:
  7400.  
  7401.         clr.l (a1)+        ; clear 4 source chunky pixels
  7402.  
  7403.     ; d0 = bytes ABCD
  7404.  
  7405.     clr.l d1
  7406.     move.w d4,d1    
  7407.  
  7408.     clr.w d4
  7409.  
  7410.         st.b (a6)+
  7411.  
  7412.     swap d4
  7413.     lsl.l #3,d4
  7414.  
  7415.     move.l (a4,d4),d3
  7416.     move.w 4(a4,d4),d4
  7417.  
  7418.         lsl.l #2,d3
  7419.         lsl.w #2,d4
  7420.  
  7421.  
  7422.     lsl.l #3,d1
  7423.     or.l (a4,d1),d3
  7424.     or.w 4(a4,d1),d4
  7425.  
  7426.         lsl.l #2,d3
  7427.         lsl.w #2,d4
  7428.  
  7429.         clr.l (a1)+        ; clear 4 source chunky pixels
  7430.  
  7431.     clr.l d1
  7432.             ;    move.l (a0)+,d0
  7433.     move.w d5,d1    
  7434.     clr.w d5
  7435.     swap d5
  7436.     lsl.l #3,d5
  7437.  
  7438.     or.l (a4,d5),d3
  7439.     or.w 4(a4,d5),d4
  7440.  
  7441.     lsl.l #3,d1
  7442.     or.l (a3,d1),d3
  7443.     or.w 4(a3,d1),d4
  7444.  
  7445.         clr.l (a1)+        ; clear 4 source chunky pixels
  7446.  
  7447.     clr.l d1
  7448.     move.w d6,d1    
  7449.     clr.w d6
  7450.     swap d6
  7451.     lsl.l #3,d6
  7452.  
  7453.     move.l (a4,d6),d5
  7454.     move.w 4(a4,d6),d6
  7455.         lsl.l #2,d5
  7456.         lsl.w #2,d6
  7457.  
  7458.  
  7459.     lsl.l #3,d1
  7460.     or.l (a4,d1),d5
  7461.     or.w 4(a4,d1),d6
  7462.           lsl.l #2,d5
  7463.         lsl.w #2,d6
  7464.  
  7465.     clr.l d1
  7466.     move.w d0,d1    
  7467.     clr.w d0
  7468.     swap d0
  7469.     lsl.l #3,d0
  7470.     lsl.l #3,d1
  7471.  
  7472.     or.l (a4,d0),d5
  7473.     or.w 4(a4,d0),d6
  7474.  
  7475.     or.l (a3,d1),d5
  7476.     or.w 4(a3,d1),d6
  7477.  
  7478.  
  7479.         clr.l (a1)+        ; clear 4 source chunky pixels
  7480.  
  7481.  
  7482.     move.l d3,d0        
  7483.     move.l d5,d1
  7484.  
  7485.     and.l d2,d0
  7486.     and.l d2,d1
  7487.  
  7488.     eor.l d0,d3
  7489.     eor.l d1,d5
  7490.  
  7491.     lsr.l #8,d1
  7492.     or.l d1,d0        ; d0 = A1a2c1c2
  7493.  
  7494.         move.l d0,(a2)+        
  7495.  
  7496.  
  7497.         lsl.l #8,d3
  7498.  
  7499.  
  7500.     move.w d4,d0        ;----e1f1
  7501.     swap d4            ;e1f1----
  7502.  
  7503.         or.l d5,d3
  7504.  
  7505.  
  7506.     move.w d6,d4        ;e1f1e2f2
  7507.  
  7508.         move.l d3,(a2)+        ; d3 = b1b2d1d2
  7509.  
  7510.     rol.w #8,d4        ;e1f1f2e2
  7511.     move.b d4,d0        ;----e1e2
  7512.     lsl.l #8,d4        ;f1f2e2--
  7513.     move.w d0,d4        ;f1f2e1e2
  7514.     
  7515.  
  7516.         move.l d4,(a2)+        ; d4 = f1f2e1e2
  7517.  
  7518.     dbf d7,Pllb_C2p_DeltaNullSkip_6bit_1meg_1by1_LP
  7519.     rts
  7520.  
  7521.  
  7522. Pllb_C2p_DeltaNullSkip_6bit_1meg_1by1_APEND:
  7523.  
  7524.  
  7525.  
  7526.  
  7527.  
  7528. ;    -    -    -    -    -    -    -    -    -
  7529.  
  7530. ;            >> DeltaNullSkip/CLEAR 64 colour Pllb-C2P <<
  7531.  
  7532. ;                Single pixel Width
  7533.  
  7534. ;               1.5Meg fastram version
  7535.  
  7536. ;    -    -    -    -    -    -    -    -    -
  7537.  
  7538.  
  7539. Pllb_C2p_DeltaNullSkip_6bit_1_5meg_1by1:
  7540.  
  7541.  
  7542.     bsr Pllb_c2p_init_DeltaNullSkip_c2p_registers
  7543.  
  7544.     ; a6 tables are NOT USED
  7545.  
  7546.     blk.w 32,$4e71        ; insert NOP's to ensure routine alignment
  7547.  
  7548.  
  7549. Pllb_C2p_DeltaNullSkip_6bit_1_5meg_1by1_AP:
  7550.  
  7551.  
  7552. Pllb_C2p_DeltaNullSkip_6bit_1_5meg_1by1_LP:
  7553.  
  7554.     move.l (a0)+,d4
  7555.     bne.b Pllb_C2p_DeltaNullSkip_6bit_1_5meg_1by1_Cont4
  7556.     move.l (a0)+,d5
  7557.     bne.b Pllb_C2p_DeltaNullSkip_6bit_1_5meg_1by1_Cont3
  7558.     move.l (a0)+,d6
  7559.     bne.b Pllb_C2p_DeltaNullSkip_6bit_1_5meg_1by1_Cont2
  7560.     move.l (a0)+,d0
  7561.     bne.b Pllb_C2p_DeltaNullSkip_6bit_1_5meg_1by1_Cont1
  7562.  
  7563.     tst.b (a6)+
  7564.     bne.b Pllb_C2p_DeltaNullSkip_6bit_1_5Meg_1by1_nodelta
  7565.  
  7566.         add.w #16,a1
  7567.         add.w #12,a2
  7568.         
  7569.         dbf d7,Pllb_C2p_DeltaNullSkip_6bit_1_5Meg_1by1_LP
  7570.     rts
  7571.  
  7572.  
  7573. Pllb_C2p_DeltaNullSkip_6bit_1_5Meg_1by1_nodelta:
  7574.  
  7575.         clr.l (a2)+
  7576.         add.w #16,a1
  7577.         clr.l (a2)+
  7578.         clr.l (a2)+
  7579.  
  7580.         clr.b -1(a6)
  7581.         
  7582.         dbf d7,Pllb_C2p_DeltaNullSkip_6bit_1_5Meg_1by1_LP
  7583.  
  7584.  
  7585.     rts
  7586.     nop
  7587.  
  7588. Pllb_C2p_DeltaNullSkip_6bit_1_5meg_1by1_Cont4:
  7589.  
  7590.     move.l (a0)+,d5
  7591.  
  7592. Pllb_C2p_DeltaNullSkip_6bit_1_5meg_1by1_Cont3:
  7593.  
  7594.     move.l (a0)+,d6
  7595.  
  7596. Pllb_C2p_DeltaNullSkip_6bit_1_5meg_1by1_Cont2:
  7597.  
  7598.     move.l (a0)+,d0
  7599.  
  7600. Pllb_C2p_DeltaNullSkip_6bit_1_5meg_1by1_Cont1:
  7601.  
  7602.         clr.l (a1)+        ; clear 4 source chunky pixels
  7603.  
  7604.     ; d0 = bytes ABCD
  7605.  
  7606.     clr.l d1
  7607.     move.w d4,d1    
  7608.     clr.w d4
  7609.         st.b (a6)+
  7610.  
  7611.     swap d4
  7612.     lsl.l #3,d4
  7613.  
  7614.     move.l (a5,d4),d3
  7615.     move.w 4(a5,d4),d4
  7616.  
  7617.         lsl.l #2,d3
  7618.         lsl.w #2,d4
  7619.  
  7620.  
  7621.     lsl.l #3,d1
  7622.     or.l (a5,d1),d3
  7623.     or.w 4(a5,d1),d4
  7624.  
  7625.  
  7626.         clr.l (a1)+        ; clear 4 source chunky pixels
  7627.  
  7628.  
  7629.     clr.l d1
  7630.     move.w d5,d1    
  7631.     clr.w d5
  7632.     swap d5
  7633.     lsl.l #3,d5
  7634.  
  7635.     or.l (a4,d5),d3
  7636.     or.w 4(a4,d5),d4
  7637.  
  7638.     lsl.l #3,d1
  7639.     or.l (a3,d1),d3
  7640.     or.w 4(a3,d1),d4
  7641.  
  7642.         clr.l (a1)+        ; clear 4 source chunky pixels
  7643.  
  7644.     clr.l d1
  7645.     move.w d6,d1    
  7646.     clr.w d6
  7647.     swap d6
  7648.     lsl.l #3,d6
  7649.  
  7650.     move.l (a5,d6),d5
  7651.     move.w 4(a5,d6),d6
  7652.         lsl.l #2,d5
  7653.         lsl.w #2,d6
  7654.  
  7655.  
  7656.     lsl.l #3,d1
  7657.     or.l (a5,d1),d5
  7658.     or.w 4(a5,d1),d6
  7659.  
  7660.     clr.l d1
  7661.     move.w d0,d1    
  7662.     clr.w d0
  7663.     swap d0
  7664.     lsl.l #3,d0
  7665.     lsl.l #3,d1
  7666.  
  7667.     or.l (a4,d0),d5
  7668.     or.w 4(a4,d0),d6
  7669.  
  7670.     or.l (a3,d1),d5
  7671.     or.w 4(a3,d1),d6
  7672.  
  7673.  
  7674.         clr.l (a1)+        ; clear 4 source chunky pixels
  7675.  
  7676.  
  7677.     move.l d3,d0        
  7678.     move.l d5,d1
  7679.  
  7680.     and.l d2,d0
  7681.     and.l d2,d1
  7682.  
  7683.     eor.l d0,d3
  7684.     eor.l d1,d5
  7685.  
  7686.     lsr.l #8,d1
  7687.     or.l d1,d0        ; d0 = A1a2c1c2
  7688.  
  7689.         move.l d0,(a2)+        
  7690.  
  7691.         lsl.l #8,d3
  7692.  
  7693.     move.w d4,d0        ;----e1f1
  7694.     swap d4            ;e1f1----
  7695.  
  7696.         or.l d5,d3
  7697.  
  7698.  
  7699.     move.w d6,d4        ;e1f1e2f2
  7700.  
  7701.  
  7702.  
  7703.         move.l d3,(a2)+        ; d3 = b1b2d1d2
  7704.  
  7705.  
  7706.  
  7707.     rol.w #8,d4        ;e1f1f2e2
  7708.     move.b d4,d0        ;----e1e2
  7709.     lsl.l #8,d4        ;f1f2e2--
  7710.     move.w d0,d4        ;f1f2e1e2
  7711.     
  7712.  
  7713.         move.l d4,(a2)+        ; d4 = f1f2e1e2
  7714.  
  7715.     dbf d7,Pllb_C2p_DeltaNullSkip_6bit_1_5meg_1by1_LP
  7716.     rts
  7717.  
  7718.  
  7719. Pllb_C2p_DeltaNullSkip_6bit_1_5meg_1by1_APEND:
  7720.  
  7721.  
  7722.  
  7723.  
  7724.  
  7725.  
  7726.  
  7727.  
  7728.  
  7729.  
  7730. ;---------------------------------------------------------------------------
  7731. ;---------------------------------------------------------------------------
  7732. ;---------------------------------------------------------------------------
  7733. ;--------------------------2by1 NORMAL VERSIONS-----------------------------
  7734. ;---------------------------------------------------------------------------
  7735. ;---------------------------------------------------------------------------
  7736. ;---------------------------------------------------------------------------
  7737.  
  7738.  
  7739.  
  7740. ;    -    -    -    -    -    -    -    -    -
  7741.  
  7742. ;               >> Normal 256 colour Pllb-C2P <<
  7743.  
  7744. ;                Double pixel Width
  7745.  
  7746. ;               512k fastram version
  7747.  
  7748. ;    -    -    -    -    -    -    -    -    -
  7749.  
  7750.  
  7751. Pllb_C2p_6bit_512k_2by1:
  7752.  
  7753.     bsr Pllb_c2p_init_Normal_c2p_registers
  7754.  
  7755.     ; a4,a5,a6 not used
  7756.  
  7757.     blk.w 32,$4e71        ; insert NOP's to ensure routine alignment
  7758.  
  7759.  
  7760. Pllb_C2p_6bit_512k_2by1_AP:
  7761.  
  7762.     clr.l d1
  7763.     move.l (a0)+,d0
  7764.     move.w d0,d1    
  7765.     clr.w d0
  7766.     nop
  7767.     nop
  7768.     nop
  7769.     bra.b Pllb_C2p_6bit_512k_2by1_Skip    
  7770.  
  7771. Pllb_C2p_6bit_512k_2by1_lp:
  7772.  
  7773.     clr.l d1
  7774.     move.l (a0)+,d0
  7775.     move.w d0,d1    
  7776.     clr.w d0
  7777.  
  7778.         move.l d4,(a1)+        ; write the last longword
  7779.  
  7780. Pllb_C2p_6bit_512k_2by1_SKIP:
  7781.  
  7782.  
  7783.     swap d0
  7784.     lsl.l #3,d0
  7785.  
  7786.     move.l (a3,d0),d3
  7787.     move.w 4(a3,d0),d4
  7788.  
  7789.         lsl.l #4,d3
  7790.         lsl.w #4,d4
  7791.  
  7792.     lsl.l #3,d1
  7793.  
  7794.     or.l (a3,d1),d3
  7795.     or.w 4(a3,d1),d4
  7796.  
  7797.  
  7798.  
  7799.     clr.l d1
  7800.     move.l (a0)+,d0
  7801.     move.w d0,d1    
  7802.     clr.w d0
  7803.     swap d0
  7804.     lsl.l #3,d0
  7805.  
  7806.     move.l (a3,d0),d5
  7807.     move.w 4(a3,d0),d6
  7808.  
  7809.         lsl.l #4,d5
  7810.         lsl.w #4,d6
  7811.  
  7812.     lsl.l #3,d1
  7813.     or.l (a3,d1),d5
  7814.     or.w 4(a3,d1),d6
  7815.  
  7816.     move.l d3,d0        
  7817.     move.l d5,d1
  7818.  
  7819.     and.l d2,d0
  7820.     and.l d2,d1
  7821.  
  7822.     eor.l d0,d3
  7823.     eor.l d1,d5
  7824.  
  7825.     lsr.l #8,d1
  7826.     or.l d1,d0        ; d0 = A1a2c1c2
  7827.  
  7828.         move.l d0,(a1)+        
  7829.  
  7830.         lsl.l #8,d3
  7831.  
  7832.  
  7833.     move.w d4,d0        ;----e1f1
  7834.     swap d4            ;e1f1----
  7835.  
  7836.         or.l d5,d3
  7837.  
  7838.  
  7839.     move.w d6,d4        ;e1f1e2f2
  7840.  
  7841.  
  7842.  
  7843.         move.l d3,(a1)+        ; d3 = b1b2d1d2
  7844.  
  7845.  
  7846.     rol.w #8,d4        ;e1f1f2e2
  7847.     move.b d4,d0        ;----e1e2
  7848.     lsl.l #8,d4        ;f1f2e2--
  7849.     move.w d0,d4        ;f1f2e1e2
  7850.     
  7851.  
  7852.  
  7853.     dbf d7,Pllb_C2p_6bit_512k_2by1_lp
  7854.  
  7855.     move.l d4,(a1)+        ; write outstanding long word
  7856.     rts
  7857.  
  7858. Pllb_C2p_6bit_512k_2by1_APEND:
  7859.  
  7860.  
  7861.  
  7862.  
  7863.  
  7864.  
  7865. ;    -    -    -    -    -    -    -    -    -
  7866.  
  7867. ;               >> Normal 256 colour Pllb-C2P <<
  7868.  
  7869. ;                Double pixel Width
  7870.  
  7871. ;               1meg fastram version
  7872.  
  7873. ;    -    -    -    -    -    -    -    -    -
  7874.  
  7875.  
  7876. Pllb_C2p_6bit_1meg_2by1:
  7877.  
  7878.     bsr Pllb_c2p_init_Normal_c2p_registers
  7879.  
  7880.     ; a5,a6 not needed
  7881.  
  7882.     blk.w 32,$4e71        ; insert NOP's to ensure routine alignment
  7883.  
  7884.  
  7885. Pllb_C2p_6bit_1meg_2by1_AP:
  7886.  
  7887.     clr.l d1
  7888.     move.l (a0)+,d0
  7889.     move.w d0,d1    
  7890.     clr.w d0
  7891.     nop
  7892.     nop
  7893.     nop
  7894.     bra.b Pllb_C2p_6bit_1meg_2by1_Skip    
  7895.  
  7896. Pllb_C2p_6bit_1meg_2by1_lp:
  7897.  
  7898.     clr.l d1
  7899.     move.l (a0)+,d0
  7900.     move.w d0,d1    
  7901.     clr.w d0
  7902.  
  7903.         move.l d4,(a1)+        ; write the last longword
  7904.  
  7905. Pllb_C2p_6bit_1meg_2by1_SKIP:
  7906.  
  7907.     swap d0
  7908.     lsl.l #3,d0
  7909.  
  7910.     move.l (a4,d0),d3
  7911.     move.w 4(a4,d0),d4
  7912.  
  7913.     lsl.l #3,d1
  7914.  
  7915.     or.l (a3,d1),d3
  7916.     or.w 4(a3,d1),d4
  7917.  
  7918.  
  7919.     clr.l d1
  7920.     move.l (a0)+,d0
  7921.     move.w d0,d1    
  7922.     clr.w d0
  7923.     swap d0
  7924.     lsl.l #3,d0
  7925.  
  7926.     move.l (a4,d0),d5
  7927.     move.w 4(a4,d0),d6
  7928.  
  7929.     lsl.l #3,d1
  7930.     or.l (a3,d1),d5
  7931.     or.w 4(a3,d1),d6
  7932.  
  7933.  
  7934.     move.l d3,d0        
  7935.     move.l d5,d1
  7936.  
  7937.     and.l d2,d0
  7938.     and.l d2,d1
  7939.  
  7940.     eor.l d0,d3
  7941.     eor.l d1,d5
  7942.  
  7943.     lsr.l #8,d1
  7944.     or.l d1,d0        ; d0 = A1a2c1c2
  7945.  
  7946.         move.l d0,(a1)+        
  7947.  
  7948.         lsl.l #8,d3
  7949.  
  7950.  
  7951.     move.w d4,d0        ;----e1f1
  7952.     swap d4            ;e1f1----
  7953.  
  7954.         or.l d5,d3
  7955.  
  7956.  
  7957.     move.w d6,d4        ;e1f1e2f2
  7958.  
  7959.  
  7960.         move.l d3,(a1)+        ; d3 = b1b2d1d2
  7961.  
  7962.  
  7963.     rol.w #8,d4        ;e1f1f2e2
  7964.     move.b d4,d0        ;----e1e2
  7965.     lsl.l #8,d4        ;f1f2e2--
  7966.     move.w d0,d4        ;f1f2e1e2
  7967.     
  7968.  
  7969.     dbf d7,Pllb_C2p_6bit_1meg_2by1_lp
  7970.  
  7971.         move.l d4,(a1)+        ; write outstanding long word
  7972.     rts
  7973.  
  7974. Pllb_C2p_6bit_1Meg_2by1_APEND:
  7975.  
  7976.  
  7977.  
  7978.  
  7979.  
  7980.  
  7981. ;---------------------------------------------------------------------------
  7982. ;---------------------------------------------------------------------------
  7983. ;---------------------------------------------------------------------------
  7984. ;---------------------------2by1 DELTA VERSIONS-----------------------------
  7985. ;---------------------------------------------------------------------------
  7986. ;---------------------------------------------------------------------------
  7987. ;---------------------------------------------------------------------------
  7988.  
  7989.  
  7990.  
  7991.  
  7992.  
  7993. ;    -    -    -    -    -    -    -    -    -
  7994.  
  7995. ;               >> DELTA 64 colour Pllb-C2P <<
  7996.  
  7997. ;                Double pixel Width
  7998.  
  7999. ;               512k fastram version
  8000.  
  8001. ;    -    -    -    -    -    -    -    -    -
  8002.  
  8003.  
  8004. Pllb_C2p_Delta_6bit_512k_2by1:
  8005.  
  8006.     bsr Pllb_c2p_init_DELTA_c2p_registers
  8007.  
  8008.     blk.w 32,$4e71        ; insert NOP's to ensure routine alignment
  8009.  
  8010.  
  8011. Pllb_C2p_Delta_6bit_512k_2by1_AP:
  8012.  
  8013.  
  8014. Pllb_C2p_Delta_6bit_512k_2by1_LP:
  8015.  
  8016.     move.l (a0)+,d4
  8017.     move.l (a0)+,d6
  8018.  
  8019.     cmp.l (a1)+,d4
  8020.     bne.b Pllb_C2p_Delta_6bit_512k_2by1_Cont2
  8021.  
  8022.     cmp.l (a1)+,d6
  8023.     bne.b Pllb_C2p_Delta_6bit_512k_2by1_Cont1
  8024.  
  8025.         add.w #12,a2
  8026.     
  8027.  
  8028.         dbf d7,Pllb_C2p_Delta_6bit_512k_2by1_LP
  8029.  
  8030.     rts
  8031.     nop
  8032.  
  8033.  
  8034. Pllb_C2p_Delta_6bit_512k_2by1_Cont2:
  8035.  
  8036.     addq.l #4,a1
  8037.  
  8038. Pllb_C2p_Delta_6bit_512k_2by1_Cont1:
  8039.  
  8040.  
  8041.     clr.l d1
  8042.     move.w d4,d1    
  8043.     clr.w d4
  8044.     swap d4
  8045.     lsl.l #3,d4
  8046.     lsl.l #3,d1
  8047.  
  8048.     move.l (a3,d4),d3
  8049.     move.w 4(a3,d4),d4
  8050.  
  8051.         lsl.l #4,d3
  8052.         lsl.w #4,d4
  8053.  
  8054.  
  8055.     or.l (a3,d1),d3
  8056.     or.w 4(a3,d1),d4
  8057.  
  8058.  
  8059.     clr.l d1
  8060.     move.w d6,d1    
  8061.     clr.w d6
  8062.     swap d6
  8063.     lsl.l #3,d6
  8064.     lsl.l #3,d1
  8065.  
  8066.     move.l (a3,d6),d5
  8067.     move.w 4(a3,d6),d6
  8068.  
  8069.         lsl.l #4,d5
  8070.         lsl.w #4,d6
  8071.  
  8072.     or.l (a3,d1),d5
  8073.     or.w 4(a3,d1),d6
  8074.  
  8075.  
  8076.     move.l d3,d0        
  8077.     move.l d5,d1
  8078.  
  8079.     and.l d2,d0
  8080.     and.l d2,d1
  8081.  
  8082.     eor.l d0,d3
  8083.     eor.l d1,d5
  8084.  
  8085.     lsr.l #8,d1
  8086.     or.l d1,d0        ; d0 = A1a2c1c2
  8087.  
  8088.         move.l d0,(a2)+        
  8089.  
  8090.         lsl.l #8,d3
  8091.  
  8092.  
  8093.     move.w d4,d0        ;----e1f1
  8094.     swap d4            ;e1f1----
  8095.  
  8096.         or.l d5,d3
  8097.  
  8098.  
  8099.     move.w d6,d4        ;e1f1e2f2
  8100.  
  8101.         move.l d3,(a2)+        ; d3 = b1b2d1d2
  8102.  
  8103.  
  8104.     rol.w #8,d4        ;e1f1f2e2
  8105.     move.b d4,d0        ;----e1e2
  8106.     lsl.l #8,d4        ;f1f2e2--
  8107.     move.w d0,d4        ;f1f2e1e2
  8108.     
  8109.         move.l d4,(a2)+        ; d4 = f1f2e1e2     planes 6,5
  8110.  
  8111.     dbf d7,Pllb_C2p_Delta_6bit_512k_2by1_LP
  8112.  
  8113.     rts
  8114.  
  8115.  
  8116. Pllb_C2p_Delta_6bit_512k_2by1_APEND:
  8117.  
  8118.  
  8119.  
  8120.  
  8121. ;    -    -    -    -    -    -    -    -    -
  8122.  
  8123. ;               >> DELTA 64 colour Pllb-C2P <<
  8124.  
  8125. ;                Double pixel Width
  8126.  
  8127. ;               1Meg fastram version
  8128.  
  8129. ;    -    -    -    -    -    -    -    -    -
  8130.  
  8131.  
  8132. Pllb_C2p_Delta_6bit_1Meg_2by1:
  8133.  
  8134.     bsr Pllb_c2p_init_DELTA_c2p_registers
  8135.  
  8136.     blk.w 32,$4e71        ; insert NOP's to ensure routine alignment
  8137.  
  8138.  
  8139. Pllb_C2p_Delta_6bit_1Meg_2by1_AP:
  8140.  
  8141.  
  8142. Pllb_C2p_Delta_6bit_1Meg_2by1_LP:
  8143.  
  8144.     move.l (a0)+,d4
  8145.     move.l (a0)+,d6
  8146.  
  8147.     cmp.l (a1)+,d4
  8148.     bne.b Pllb_C2p_Delta_6bit_1Meg_2by1_Cont2
  8149.  
  8150.     cmp.l (a1)+,d6
  8151.     bne.b Pllb_C2p_Delta_6bit_1Meg_2by1_Cont1
  8152.  
  8153.         add.w #12,a2
  8154.     
  8155.  
  8156.         dbf d7,Pllb_C2p_Delta_6bit_1Meg_2by1_LP
  8157.  
  8158.     rts
  8159.     nop
  8160.  
  8161.  
  8162. Pllb_C2p_Delta_6bit_1Meg_2by1_Cont2:
  8163.  
  8164.     addq.l #4,a1
  8165.  
  8166. Pllb_C2p_Delta_6bit_1Meg_2by1_Cont1:
  8167.  
  8168.  
  8169.     clr.l d1
  8170.     move.w d4,d1    
  8171.     clr.w d4
  8172.     swap d4
  8173.     lsl.l #3,d4
  8174.     lsl.l #3,d1
  8175.  
  8176.     move.l (a4,d4),d3
  8177.     move.w 4(a4,d4),d4
  8178.  
  8179.     or.l (a3,d1),d3
  8180.     or.w 4(a3,d1),d4
  8181.  
  8182.  
  8183.     clr.l d1
  8184.     move.w d6,d1    
  8185.     clr.w d6
  8186.     swap d6
  8187.     lsl.l #3,d6
  8188.     lsl.l #3,d1
  8189.  
  8190.     move.l (a4,d6),d5
  8191.     move.w 4(a4,d6),d6
  8192.  
  8193.     or.l (a3,d1),d5
  8194.     or.w 4(a3,d1),d6
  8195.  
  8196.  
  8197.     move.l d3,d0        
  8198.     move.l d5,d1
  8199.  
  8200.     and.l d2,d0
  8201.     and.l d2,d1
  8202.  
  8203.     eor.l d0,d3
  8204.     eor.l d1,d5
  8205.  
  8206.     lsr.l #8,d1
  8207.     or.l d1,d0        ; d0 = A1a2c1c2
  8208.  
  8209.         move.l d0,(a2)+        
  8210.  
  8211.         lsl.l #8,d3
  8212.  
  8213.  
  8214.     move.w d4,d0        ;----e1f1
  8215.     swap d4            ;e1f1----
  8216.  
  8217.         or.l d5,d3
  8218.  
  8219.  
  8220.     move.w d6,d4        ;e1f1e2f2
  8221.  
  8222.         move.l d3,(a2)+        ; d3 = b1b2d1d2
  8223.  
  8224.  
  8225.     rol.w #8,d4        ;e1f1f2e2
  8226.     move.b d4,d0        ;----e1e2
  8227.     lsl.l #8,d4        ;f1f2e2--
  8228.     move.w d0,d4        ;f1f2e1e2
  8229.     
  8230.         move.l d4,(a2)+        ; d4 = f1f2e1e2     planes 6,5
  8231.  
  8232.     dbf d7,Pllb_C2p_Delta_6bit_1Meg_2by1_LP
  8233.  
  8234.     rts
  8235.  
  8236.  
  8237. Pllb_C2p_Delta_6bit_1Meg_2by1_APEND:
  8238.  
  8239.  
  8240.  
  8241.  
  8242.  
  8243.  
  8244.  
  8245.  
  8246.  
  8247. ;---------------------------------------------------------------------------
  8248. ;---------------------------------------------------------------------------
  8249. ;---------------------------------------------------------------------------
  8250. ;---------------------------2by1 NULLSKIP VERSIONS-----------------------------
  8251. ;---------------------------------------------------------------------------
  8252. ;---------------------------------------------------------------------------
  8253. ;---------------------------------------------------------------------------
  8254.  
  8255.  
  8256. ;    -    -    -    -    -    -    -    -    -
  8257.  
  8258. ;           >> NULLSKIP/CLEAR 64 colour Pllb-C2P <<
  8259.  
  8260. ;                Double pixel Width
  8261.  
  8262. ;               512k fastram version
  8263.  
  8264. ;    -    -    -    -    -    -    -    -    -
  8265.  
  8266.  
  8267. Pllb_C2p_NUllSkip_6bit_512k_2by1:
  8268.  
  8269.     bsr Pllb_c2p_init_NULLSKIP_c2p_registers
  8270.  
  8271.     blk.w 32,$4e71        ; insert NOP's to ensure routine alignment
  8272.  
  8273.  
  8274. Pllb_C2p_NUllSkip_6bit_512k_2by1_AP:
  8275.  
  8276.  
  8277. Pllb_C2p_NUllSkip_6bit_512k_2by1_Lp:
  8278.  
  8279.     move.l (a0)+,d4
  8280.     bne.b Pllb_C2p_NUllSkip_6bit_512k_2by1_CONT2
  8281.     move.l (a0)+,d6
  8282.     bne.b Pllb_C2p_NUllSkip_6bit_512k_2by1_CONT1
  8283.  
  8284.         clr.l (a2)+
  8285.         addq.l #8,a1
  8286.         clr.l (a2)+
  8287.         clr.l (a2)+
  8288.  
  8289.         dbf d7,Pllb_C2p_NUllSkip_6bit_512k_2by1_Lp
  8290.  
  8291.  
  8292.     rts
  8293.     nop
  8294.  
  8295.  
  8296. Pllb_C2p_NUllSkip_6bit_512k_2by1_CONT2:
  8297.  
  8298.     move.l (a0)+,d6
  8299.  
  8300.  
  8301. Pllb_C2p_NUllSkip_6bit_512k_2by1_CONT1:
  8302.  
  8303.     clr.l (a1)+    ; clear 4 pixels of source chunky
  8304.  
  8305.     clr.l d1
  8306.     move.w d4,d1    
  8307.  
  8308.     clr.w d4
  8309.  
  8310.     swap d4
  8311.     lsl.l #3,d4
  8312.  
  8313.     move.l (a3,d4),d3
  8314.     move.w 4(a3,d4),d4
  8315.  
  8316.         lsl.l #4,d3
  8317.         lsl.w #4,d4
  8318.  
  8319.     lsl.l #3,d1
  8320.  
  8321.     or.l (a3,d1),d3
  8322.     or.w 4(a3,d1),d4
  8323.  
  8324.  
  8325.  
  8326.     clr.l (a1)+    ; clear source chunky 4pixels
  8327.  
  8328.  
  8329.  
  8330.     clr.l d1
  8331.     move.w d6,d1    
  8332.     clr.w d6
  8333.     swap d6
  8334.     lsl.l #3,d6
  8335.  
  8336.     move.l (a3,d6),d5
  8337.     move.w 4(a3,d6),d6
  8338.  
  8339.         lsl.l #4,d5
  8340.         lsl.w #4,d6
  8341.  
  8342.     lsl.l #3,d1
  8343.     or.l (a3,d1),d5
  8344.     or.w 4(a3,d1),d6
  8345.  
  8346.     move.l d3,d0        
  8347.     move.l d5,d1
  8348.  
  8349.     and.l d2,d0
  8350.     and.l d2,d1
  8351.  
  8352.     eor.l d0,d3
  8353.     eor.l d1,d5
  8354.  
  8355.     lsr.l #8,d1
  8356.     or.l d1,d0        ; d0 = A1a2c1c2
  8357.  
  8358.         move.l d0,(a2)+        
  8359.  
  8360.         lsl.l #8,d3
  8361.  
  8362.  
  8363.     move.w d4,d0        ;----e1f1
  8364.     swap d4            ;e1f1----
  8365.  
  8366.         or.l d5,d3
  8367.  
  8368.  
  8369.     move.w d6,d4        ;e1f1e2f2
  8370.  
  8371.         move.l d3,(a2)+        ; d3 = b1b2d1d2
  8372.  
  8373.  
  8374.     rol.w #8,d4        ;e1f1f2e2
  8375.     move.b d4,d0        ;----e1e2
  8376.     lsl.l #8,d4        ;f1f2e2--
  8377.     move.w d0,d4        ;f1f2e1e2
  8378.     
  8379.  
  8380.         move.l d4,(a2)+        ; d4 = f1f2e1e2     planes 6,5
  8381.  
  8382.  
  8383.     dbf d7,Pllb_C2p_NUllSkip_6bit_512k_2by1_Lp
  8384.  
  8385.     rts
  8386.  
  8387.  
  8388. Pllb_C2p_NUllSkip_6bit_512k_2by1_APEND:
  8389.  
  8390.  
  8391.  
  8392.  
  8393.  
  8394.  
  8395. ;    -    -    -    -    -    -    -    -    -
  8396.  
  8397. ;           >> NULLSKIP/CLEAR 64 colour Pllb-C2P <<
  8398.  
  8399. ;                Double pixel Width
  8400.  
  8401. ;               1Meg fastram version
  8402.  
  8403. ;    -    -    -    -    -    -    -    -    -
  8404.  
  8405.  
  8406. Pllb_C2p_NUllSkip_6bit_1Meg_2by1:
  8407.  
  8408.     bsr Pllb_c2p_init_NULLSKIP_c2p_registers
  8409.  
  8410.     blk.w 32,$4e71        ; insert NOP's to ensure routine alignment
  8411.  
  8412.  
  8413. Pllb_C2p_NUllSkip_6bit_1Meg_2by1_AP:
  8414.  
  8415.  
  8416. Pllb_C2p_NUllSkip_6bit_1Meg_2by1_Lp:
  8417.  
  8418.     move.l (a0)+,d4
  8419.     bne.b Pllb_C2p_NUllSkip_6bit_1Meg_2by1_CONT2
  8420.     move.l (a0)+,d6
  8421.     bne.b Pllb_C2p_NUllSkip_6bit_1Meg_2by1_CONT1
  8422.  
  8423.         clr.l (a2)+
  8424.         addq.l #8,a1
  8425.         clr.l (a2)+
  8426.         clr.l (a2)+
  8427.     
  8428.         dbf d7,Pllb_C2p_NUllSkip_6bit_1Meg_2by1_Lp
  8429.  
  8430.     rts
  8431.     nop
  8432.  
  8433.  
  8434. Pllb_C2p_NUllSkip_6bit_1Meg_2by1_CONT2:
  8435.  
  8436.     move.l (a0)+,d6
  8437.  
  8438.  
  8439. Pllb_C2p_NUllSkip_6bit_1Meg_2by1_CONT1:
  8440.  
  8441.     clr.l (a1)+    ; clear 4 pixels of source chunky
  8442.  
  8443.     clr.l d1
  8444.     move.w d4,d1    
  8445.  
  8446.     clr.w d4
  8447.  
  8448.     swap d4
  8449.     lsl.l #3,d4
  8450.  
  8451.     move.l (a4,d4),d3
  8452.     move.w 4(a4,d4),d4
  8453.  
  8454.     lsl.l #3,d1
  8455.  
  8456.     or.l (a3,d1),d3
  8457.     or.w 4(a3,d1),d4
  8458.  
  8459.  
  8460.  
  8461.     clr.l (a1)+    ; clear source chunky 4pixels
  8462.  
  8463.  
  8464.  
  8465.     clr.l d1
  8466.     move.w d6,d1    
  8467.     clr.w d6
  8468.     swap d6
  8469.     lsl.l #3,d6
  8470.  
  8471.     move.l (a4,d6),d5
  8472.     move.w 4(a4,d6),d6
  8473.  
  8474.     lsl.l #3,d1
  8475.     or.l (a3,d1),d5
  8476.     or.w 4(a3,d1),d6
  8477.  
  8478.     move.l d3,d0        
  8479.     move.l d5,d1
  8480.  
  8481.     and.l d2,d0
  8482.     and.l d2,d1
  8483.  
  8484.     eor.l d0,d3
  8485.     eor.l d1,d5
  8486.  
  8487.     lsr.l #8,d1
  8488.     or.l d1,d0        ; d0 = A1a2c1c2
  8489.  
  8490.         move.l d0,(a2)+        
  8491.  
  8492.         lsl.l #8,d3
  8493.  
  8494.  
  8495.     move.w d4,d0        ;----e1f1
  8496.     swap d4            ;e1f1----
  8497.  
  8498.         or.l d5,d3
  8499.  
  8500.  
  8501.     move.w d6,d4        ;e1f1e2f2
  8502.  
  8503.         move.l d3,(a2)+        ; d3 = b1b2d1d2
  8504.  
  8505.  
  8506.     rol.w #8,d4        ;e1f1f2e2
  8507.     move.b d4,d0        ;----e1e2
  8508.     lsl.l #8,d4        ;f1f2e2--
  8509.     move.w d0,d4        ;f1f2e1e2
  8510.     
  8511.  
  8512.         move.l d4,(a2)+        ; d4 = f1f2e1e2     planes 6,5
  8513.  
  8514.     dbf d7,Pllb_C2p_NUllSkip_6bit_1Meg_2by1_Lp
  8515.     rts
  8516.  
  8517.  
  8518. Pllb_C2p_NUllSkip_6bit_1Meg_2by1_APEND:
  8519.  
  8520.  
  8521.  
  8522.  
  8523.  
  8524.  
  8525.  
  8526. ;---------------------------------------------------------------------------
  8527. ;---------------------------------------------------------------------------
  8528. ;---------------------------------------------------------------------------
  8529. ;------------------------2by1 DELTA NULLSKIP VERSIONS-----------------------
  8530. ;---------------------------------------------------------------------------
  8531. ;---------------------------------------------------------------------------
  8532. ;---------------------------------------------------------------------------
  8533.  
  8534.  
  8535. ;    -    -    -    -    -    -    -    -    -
  8536.  
  8537. ;           >> DeltaNullSkip/CLEAR 64 colour Pllb-C2P <<
  8538.  
  8539. ;                Double pixel Width
  8540.  
  8541. ;               512k fastram version
  8542.  
  8543. ;    -    -    -    -    -    -    -    -    -
  8544.  
  8545.  
  8546. Pllb_C2p_DeltaNullSkip_6bit_512k_2by1:
  8547.  
  8548.     bsr Pllb_c2p_init_DeltaNullSkip_c2p_registers
  8549.  
  8550.     move.l #12,a5
  8551.  
  8552.     blk.w 32,$4e71        ; insert NOP's to ensure routine alignment
  8553.  
  8554.  
  8555. Pllb_C2p_DeltaNullSkip_6bit_512k_2by1_AP:
  8556.  
  8557.  
  8558. Pllb_C2p_DeltaNullSkip_6bit_512k_2by1_Lp:
  8559.  
  8560.     move.l (a0)+,d4
  8561.     bne.b Pllb_C2p_DeltaNullSkip_6bit_512k_2by1_CONT2
  8562.     move.l (a0)+,d6
  8563.     bne.b Pllb_C2p_DeltaNullSkip_6bit_512k_2by1_CONT1
  8564.  
  8565.     tst.b (a6)+
  8566.     bne.w Pllb_C2p_DeltaNullSkip_6bit_512k_2by1_nodelta
  8567.  
  8568.  
  8569.         addq.l #8,a1
  8570.         add.w a5,a2
  8571.         
  8572.         dbf d7,Pllb_C2p_DeltaNullSkip_6bit_512k_2by1_LP
  8573.  
  8574.     rts
  8575.     nop
  8576.  
  8577. Pllb_C2p_DeltaNullSkip_6bit_512k_2by1_nodelta:
  8578.  
  8579.  
  8580.         clr.l (a2)+
  8581.             addq.l #8,a1
  8582.         clr.l (a2)+
  8583.         clr.l (a2)+
  8584.  
  8585.         clr.b -1(a6)
  8586.  
  8587.         dbf d7,Pllb_C2p_DeltaNullSkip_6bit_512k_2by1_Lp
  8588.  
  8589.  
  8590.     rts
  8591.     nop
  8592.  
  8593.  
  8594. Pllb_C2p_DeltaNullSkip_6bit_512k_2by1_CONT2:
  8595.  
  8596.     move.l (a0)+,d6
  8597.  
  8598.  
  8599. Pllb_C2p_DeltaNullSkip_6bit_512k_2by1_CONT1:
  8600.  
  8601.     clr.l (a1)+    ; clear 4 pixels of source chunky
  8602.  
  8603.     clr.l d1
  8604.     move.w d4,d1    
  8605.  
  8606.     clr.w d4
  8607.  
  8608.  
  8609.         st.b (a6)+
  8610.  
  8611.     swap d4
  8612.     lsl.l #3,d4
  8613.  
  8614.     move.l (a3,d4),d3
  8615.     move.w 4(a3,d4),d4
  8616.  
  8617.         lsl.l #4,d3
  8618.         lsl.w #4,d4
  8619.  
  8620.     lsl.l #3,d1
  8621.  
  8622.     or.l (a3,d1),d3
  8623.     or.w 4(a3,d1),d4
  8624.  
  8625.  
  8626.  
  8627.     clr.l (a1)+    ; clear source chunky 4pixels
  8628.  
  8629.  
  8630.  
  8631.     clr.l d1
  8632.     move.w d6,d1    
  8633.     clr.w d6
  8634.     swap d6
  8635.     lsl.l #3,d6
  8636.  
  8637.     move.l (a3,d6),d5
  8638.     move.w 4(a3,d6),d6
  8639.  
  8640.         lsl.l #4,d5
  8641.         lsl.w #4,d6
  8642.  
  8643.     lsl.l #3,d1
  8644.     or.l (a3,d1),d5
  8645.     or.w 4(a3,d1),d6
  8646.  
  8647.     move.l d3,d0        
  8648.     move.l d5,d1
  8649.  
  8650.     and.l d2,d0
  8651.     and.l d2,d1
  8652.  
  8653.     eor.l d0,d3
  8654.     eor.l d1,d5
  8655.  
  8656.     lsr.l #8,d1
  8657.     or.l d1,d0        ; d0 = A1a2c1c2
  8658.  
  8659.         move.l d0,(a2)+        
  8660.  
  8661.         lsl.l #8,d3
  8662.  
  8663.  
  8664.     move.w d4,d0        ;----e1f1
  8665.     swap d4            ;e1f1----
  8666.  
  8667.         or.l d5,d3
  8668.  
  8669.  
  8670.     move.w d6,d4        ;e1f1e2f2
  8671.  
  8672.         move.l d3,(a2)+        ; d3 = b1b2d1d2
  8673.  
  8674.  
  8675.     rol.w #8,d4        ;e1f1f2e2
  8676.     move.b d4,d0        ;----e1e2
  8677.     lsl.l #8,d4        ;f1f2e2--
  8678.     move.w d0,d4        ;f1f2e1e2
  8679.     
  8680.  
  8681.         move.l d4,(a2)+        ; d4 = f1f2e1e2     planes 6,5
  8682.  
  8683.  
  8684.     dbf d7,Pllb_C2p_DeltaNullSkip_6bit_512k_2by1_Lp
  8685.  
  8686.     rts
  8687.  
  8688.  
  8689. Pllb_C2p_DeltaNullSkip_6bit_512k_2by1_APEND:
  8690.  
  8691.  
  8692.  
  8693.  
  8694.  
  8695.  
  8696. ;    -    -    -    -    -    -    -    -    -
  8697.  
  8698. ;           >> DeltaNullSkip/CLEAR 64 colour Pllb-C2P <<
  8699.  
  8700. ;                Double pixel Width
  8701.  
  8702. ;               1Meg fastram version
  8703.  
  8704. ;    -    -    -    -    -    -    -    -    -
  8705.  
  8706.  
  8707. Pllb_C2p_DeltaNullSkip_6bit_1Meg_2by1:
  8708.  
  8709.     bsr Pllb_c2p_init_DeltaNullSkip_c2p_registers
  8710.  
  8711.     move.l #12,a5
  8712.  
  8713.     blk.w 32,$4e71        ; insert NOP's to ensure routine alignment
  8714.  
  8715.  
  8716. Pllb_C2p_DeltaNullSkip_6bit_1Meg_2by1_AP:
  8717.  
  8718.  
  8719. Pllb_C2p_DeltaNullSkip_6bit_1Meg_2by1_Lp:
  8720.  
  8721.     move.l (a0)+,d4
  8722.     bne.b Pllb_C2p_DeltaNullSkip_6bit_1Meg_2by1_CONT2
  8723.     move.l (a0)+,d6
  8724.     bne.b Pllb_C2p_DeltaNullSkip_6bit_1Meg_2by1_CONT1
  8725.  
  8726.  
  8727.  
  8728.  
  8729.     tst.b (a6)+
  8730.     bne.w Pllb_C2p_DeltaNullSkip_6bit_1Meg_2by1_nodelta
  8731.  
  8732.  
  8733.         addq.l #8,a1
  8734.         add.w a5,a2
  8735.         
  8736.         dbf d7,Pllb_C2p_DeltaNullSkip_6bit_1Meg_2by1_LP
  8737.  
  8738.     rts
  8739.     nop
  8740.  
  8741. Pllb_C2p_DeltaNullSkip_6bit_1Meg_2by1_nodelta:
  8742.  
  8743.  
  8744.         clr.l (a2)+
  8745.             addq.l #8,a1
  8746.         clr.l (a2)+
  8747.         clr.l (a2)+
  8748.  
  8749.         clr.b -1(a6)
  8750.  
  8751.         dbf d7,Pllb_C2p_DeltaNullSkip_6bit_1Meg_2by1_Lp
  8752.  
  8753.     rts
  8754.     nop
  8755.  
  8756.  
  8757. Pllb_C2p_DeltaNullSkip_6bit_1Meg_2by1_CONT2:
  8758.  
  8759.     move.l (a0)+,d6
  8760.  
  8761.  
  8762. Pllb_C2p_DeltaNullSkip_6bit_1Meg_2by1_CONT1:
  8763.  
  8764.     clr.l (a1)+    ; clear 4 pixels of source chunky
  8765.  
  8766.     clr.l d1
  8767.     move.w d4,d1    
  8768.  
  8769.     clr.w d4
  8770.  
  8771.         st.b (a6)+
  8772.  
  8773.     swap d4
  8774.     lsl.l #3,d4
  8775.  
  8776.     move.l (a4,d4),d3
  8777.     move.w 4(a4,d4),d4
  8778.  
  8779.     lsl.l #3,d1
  8780.  
  8781.     or.l (a3,d1),d3
  8782.     or.w 4(a3,d1),d4
  8783.  
  8784.  
  8785.  
  8786.     clr.l (a1)+    ; clear source chunky 4pixels
  8787.  
  8788.  
  8789.  
  8790.     clr.l d1
  8791.     move.w d6,d1    
  8792.     clr.w d6
  8793.     swap d6
  8794.     lsl.l #3,d6
  8795.  
  8796.     move.l (a4,d6),d5
  8797.     move.w 4(a4,d6),d6
  8798.  
  8799.     lsl.l #3,d1
  8800.     or.l (a3,d1),d5
  8801.     or.w 4(a3,d1),d6
  8802.  
  8803.     move.l d3,d0        
  8804.     move.l d5,d1
  8805.  
  8806.     and.l d2,d0
  8807.     and.l d2,d1
  8808.  
  8809.     eor.l d0,d3
  8810.     eor.l d1,d5
  8811.  
  8812.     lsr.l #8,d1
  8813.     or.l d1,d0        ; d0 = A1a2c1c2
  8814.  
  8815.         move.l d0,(a2)+        
  8816.  
  8817.         lsl.l #8,d3
  8818.  
  8819.  
  8820.     move.w d4,d0        ;----e1f1
  8821.     swap d4            ;e1f1----
  8822.  
  8823.         or.l d5,d3
  8824.  
  8825.  
  8826.     move.w d6,d4        ;e1f1e2f2
  8827.  
  8828.         move.l d3,(a2)+        ; d3 = b1b2d1d2
  8829.  
  8830.  
  8831.     rol.w #8,d4        ;e1f1f2e2
  8832.     move.b d4,d0        ;----e1e2
  8833.     lsl.l #8,d4        ;f1f2e2--
  8834.     move.w d0,d4        ;f1f2e1e2
  8835.     
  8836.  
  8837.         move.l d4,(a2)+        ; d4 = f1f2e1e2     planes 6,5
  8838.  
  8839.     dbf d7,Pllb_C2p_DeltaNullSkip_6bit_1Meg_2by1_Lp
  8840.     rts
  8841.  
  8842.  
  8843. Pllb_C2p_DeltaNullSkip_6bit_1Meg_2by1_APEND:
  8844.  
  8845.  
  8846.  
  8847.  
  8848.  
  8849.  
  8850.  
  8851.  
  8852. ;---------------------------------------------------------------------------
  8853. ;---------------------------------------------------------------------------
  8854. ;---------------------------------------------------------------------------
  8855. ;--------------------------4by1 NORMAL VERSIONS-----------------------------
  8856. ;---------------------------------------------------------------------------
  8857. ;---------------------------------------------------------------------------
  8858. ;---------------------------------------------------------------------------
  8859.  
  8860.  
  8861. ;    -    -    -    -    -    -    -    -    -
  8862.  
  8863. ;               >> Normal 64 colour Pllb-C2P <<
  8864.  
  8865. ;                QUAD pixel Width
  8866.  
  8867. ;               512k fastram version
  8868.  
  8869. ;    -    -    -    -    -    -    -    -    -
  8870.  
  8871.  
  8872. Pllb_C2p_6bit_512k_4by1:
  8873.  
  8874.     bsr Pllb_c2p_init_Normal_c2p_registers
  8875.  
  8876.     blk.w 32,$4e71        ; insert NOP's to ensure routine alignment
  8877.  
  8878.  
  8879. Pllb_C2p_6bit_512k_4by1_AP:
  8880.  
  8881.  
  8882.     clr.l d1
  8883.     move.l (a0)+,d0
  8884.     move.w d0,d1    
  8885.     clr.w d0
  8886.     nop
  8887.     nop
  8888.     nop
  8889.     bra.b Pllb_C2p_6bit_512k_4by1_SKIP
  8890.  
  8891.  
  8892. Pllb_C2p_6bit_512k_4by1_lp:
  8893.  
  8894.     clr.l d1
  8895.     move.l (a0)+,d0
  8896.     move.w d0,d1    
  8897.  
  8898.     clr.w d0
  8899.  
  8900.         move.l d4,(a1)+        ; write the last longword
  8901.  
  8902.  
  8903. Pllb_C2p_6bit_512k_4by1_SKIP:
  8904.  
  8905.  
  8906.     swap d0
  8907.     lsl.l #3,d0
  8908.  
  8909.     move.l (a3,d0),d3
  8910.     move.w 4(a3,d0),d4
  8911.  
  8912.     lsl.l #3,d1
  8913.  
  8914.     move.l (a3,d1),d5
  8915.     move.w 4(a3,d1),d6
  8916.  
  8917.     move.l d3,d0        
  8918.     move.l d5,d1
  8919.  
  8920.     and.l d2,d0
  8921.     and.l d2,d1
  8922.  
  8923.     eor.l d0,d3
  8924.     eor.l d1,d5
  8925.  
  8926.     lsr.l #8,d1
  8927.     or.l d1,d0        ; d0 = A1a2c1c2
  8928.  
  8929.         move.l d0,(a1)+        
  8930.     
  8931.         lsl.l #8,d3
  8932.  
  8933.  
  8934.     move.w d4,d0        ;----e1f1
  8935.     swap d4            ;e1f1----
  8936.  
  8937.         or.l d5,d3
  8938.  
  8939.  
  8940.     move.w d6,d4        ;e1f1e2f2
  8941.  
  8942.         move.l d3,(a1)+        ; d3 = b1b2d1d2
  8943.  
  8944.  
  8945.     rol.w #8,d4        ;e1f1f2e2
  8946.     move.b d4,d0        ;----e1e2
  8947.     lsl.l #8,d4        ;f1f2e2--
  8948.     move.w d0,d4        ;f1f2e1e2
  8949.     
  8950.     dbf d7,Pllb_C2p_6bit_512k_4by1_lp
  8951.  
  8952.     move.l d4,(a1)+        ; write outstanding long word
  8953.     rts
  8954.  
  8955.  
  8956. Pllb_C2p_6bit_512k_4by1_APEND:
  8957.  
  8958.  
  8959.  
  8960.  
  8961. ;---------------------------------------------------------------------------
  8962. ;---------------------------------------------------------------------------
  8963. ;---------------------------------------------------------------------------
  8964. ;--------------------------4by1 DELTA VERSIONS-----------------------------
  8965. ;---------------------------------------------------------------------------
  8966. ;---------------------------------------------------------------------------
  8967. ;---------------------------------------------------------------------------
  8968.  
  8969.  
  8970. ;    -    -    -    -    -    -    -    -    -
  8971.  
  8972. ;               >> DELTA 64 colour Pllb-C2P <<
  8973.  
  8974. ;                QUAD pixel Width
  8975.  
  8976. ;               512k fastram version
  8977.  
  8978. ;    -    -    -    -    -    -    -    -    -
  8979.  
  8980.  
  8981. Pllb_C2p_DELTA_6bit_512k_4by1:
  8982.  
  8983.     bsr Pllb_c2p_init_DELTA_c2p_registers
  8984.  
  8985.     blk.w 32,$4e71        ; insert NOP's to ensure routine alignment
  8986.  
  8987. Pllb_C2p_DELTA_6bit_512k_4by1_AP:
  8988.  
  8989.  
  8990. Pllb_C2p_DELTA_6bit_512k_4by1_LP:
  8991.  
  8992.     move.l (a0)+,d4
  8993.     cmp.l (a1)+,d4
  8994.     bne.b Pllb_C2p_DELTA_6bit_512k_4by1_Cont
  8995.  
  8996.         add.w #12,a2
  8997.         dbf d7,Pllb_C2p_DELTA_6bit_512k_4by1_LP
  8998.     rts
  8999.  
  9000. Pllb_C2p_DELTA_6bit_512k_4by1_CONT:
  9001.  
  9002.     clr.l d1
  9003.     move.w d4,d1    
  9004.     clr.w d4
  9005.     swap d4
  9006.     lsl.l #3,d4
  9007.     lsl.l #3,d1
  9008.     move.l (a3,d4),d3
  9009.     move.w 4(a3,d4),d4
  9010.  
  9011.     move.l (a3,d1),d5
  9012.     move.w 4(a3,d1),d6
  9013.  
  9014.     move.l d3,d0        
  9015.     move.l d5,d1
  9016.  
  9017.     and.l d2,d0
  9018.     and.l d2,d1
  9019.  
  9020.     eor.l d0,d3
  9021.     eor.l d1,d5
  9022.  
  9023.     lsr.l #8,d1
  9024.     or.l d1,d0        ; d0 = A1a2c1c2
  9025.  
  9026.         move.l d0,(a2)+        
  9027.     
  9028.         lsl.l #8,d3
  9029.  
  9030.  
  9031.     move.w d4,d0        ;----e1f1
  9032.     swap d4            ;e1f1----
  9033.  
  9034.         or.l d5,d3
  9035.  
  9036.  
  9037.     move.w d6,d4        ;e1f1e2f2
  9038.  
  9039.         move.l d3,(a2)+        ; d3 = b1b2d1d2
  9040.  
  9041.  
  9042.     rol.w #8,d4        ;e1f1f2e2
  9043.     move.b d4,d0        ;----e1e2
  9044.     lsl.l #8,d4        ;f1f2e2--
  9045.     move.w d0,d4        ;f1f2e1e2
  9046.     
  9047.  
  9048.         move.l d4,(a2)+        ; d4 = f1f2e1e2     planes 6,5
  9049.  
  9050.  
  9051.     dbf d7,Pllb_C2p_DELTA_6bit_512k_4by1_LP
  9052.  
  9053.     rts
  9054.  
  9055.  
  9056.  
  9057. Pllb_C2p_DELTA_6bit_512k_4by1_APEND:
  9058.  
  9059.  
  9060.  
  9061.  
  9062. ;---------------------------------------------------------------------------
  9063. ;---------------------------------------------------------------------------
  9064. ;---------------------------------------------------------------------------
  9065. ;--------------------------4by1 NULLSKIP VERSIONS-----------------------------
  9066. ;---------------------------------------------------------------------------
  9067. ;---------------------------------------------------------------------------
  9068. ;---------------------------------------------------------------------------
  9069.  
  9070. ;    -    -    -    -    -    -    -    -    -
  9071.  
  9072. ;               >> NULLSKIP/CLEAR 64 colour Pllb-C2P <<
  9073.  
  9074. ;                QUAD pixel Width
  9075.  
  9076. ;               512k fastram version
  9077.  
  9078. ;    -    -    -    -    -    -    -    -    -
  9079.  
  9080.  
  9081. Pllb_C2p_NULLSKIP_6bit_512k_4by1:
  9082.  
  9083.     bsr Pllb_c2p_init_NULLSKIP_c2p_registers
  9084.  
  9085.     blk.w 32,$4e71        ; insert NOP's to ensure routine alignment
  9086.  
  9087.  
  9088. Pllb_C2p_NULLSKIP_6bit_512k_4by1_AP:
  9089.  
  9090. Pllb_C2p_NULLSKIP_6bit_512k_4by1_LP:
  9091.  
  9092.     move.l (a0)+,d4
  9093.     bne.b Pllb_C2p_NULLSKIP_6bit_512k_4by1_Cont
  9094.  
  9095.         clr.l (a2)+
  9096.         addq.l #4,a1
  9097.         clr.l (a2)+
  9098.         clr.l (a2)+
  9099.  
  9100.  
  9101.         dbf d7,Pllb_C2p_NULLSKIP_6bit_512k_4by1_LP
  9102.  
  9103.     rts
  9104.     nop
  9105.  
  9106. Pllb_C2p_NULLSKIP_6bit_512k_4by1_Cont:
  9107.  
  9108.     clr.l d1
  9109.     move.w d4,d1    
  9110.     clr.w d4
  9111.     swap d4
  9112.     lsl.l #3,d4
  9113.     lsl.l #3,d1
  9114.  
  9115.     move.l (a3,d4),d3
  9116.     move.w 4(a3,d4),d4
  9117.  
  9118.     move.l (a3,d1),d5
  9119.     move.w 4(a3,d1),d6
  9120.  
  9121.     clr.l (a1)+
  9122.  
  9123.     move.l d3,d0        
  9124.     move.l d5,d1
  9125.  
  9126.     and.l d2,d0
  9127.     and.l d2,d1
  9128.  
  9129.     eor.l d0,d3
  9130.     eor.l d1,d5
  9131.  
  9132.     lsr.l #8,d1
  9133.     or.l d1,d0        ; d0 = A1a2c1c2
  9134.  
  9135.         move.l d0,(a2)+        
  9136.     
  9137.         lsl.l #8,d3
  9138.  
  9139.     move.w d4,d0        ;----e1f1
  9140.     swap d4            ;e1f1----
  9141.  
  9142.         or.l d5,d3
  9143.  
  9144.  
  9145.     move.w d6,d4        ;e1f1e2f2
  9146.  
  9147.         move.l d3,(a2)+        ; d3 = b1b2d1d2
  9148.  
  9149.  
  9150.     rol.w #8,d4        ;e1f1f2e2
  9151.     move.b d4,d0        ;----e1e2
  9152.     lsl.l #8,d4        ;f1f2e2--
  9153.     move.w d0,d4        ;f1f2e1e2
  9154.     
  9155.  
  9156.         move.l d4,(a2)+        ; d4 = f1f2e1e2     planes 6,5
  9157.  
  9158.  
  9159.         dbf d7,Pllb_C2p_NULLSKIP_6bit_512k_4by1_lp
  9160.     rts
  9161.  
  9162. Pllb_C2p_NULLSKIP_6bit_512k_4by1_APEND:
  9163.  
  9164.  
  9165.  
  9166.  
  9167.  
  9168.  
  9169.  
  9170.  
  9171.  
  9172.  
  9173.  
  9174.  
  9175. ;---------------------------------------------------------------------------
  9176. ;---------------------------------------------------------------------------
  9177. ;---------------------------------------------------------------------------
  9178. ;-----------------------4by1 DELTA NULLSKIP VERSIONS------------------------
  9179. ;---------------------------------------------------------------------------
  9180. ;---------------------------------------------------------------------------
  9181. ;---------------------------------------------------------------------------
  9182.  
  9183. ;    -    -    -    -    -    -    -    -    -
  9184.  
  9185. ;               >> DeltaNullSkip/CLEAR 64 colour Pllb-C2P <<
  9186.  
  9187. ;                QUAD pixel Width
  9188.  
  9189. ;               512k fastram version
  9190.  
  9191. ;    -    -    -    -    -    -    -    -    -
  9192.  
  9193.  
  9194. Pllb_C2p_DeltaNullSkip_6bit_512k_4by1:
  9195.  
  9196.     bsr Pllb_c2p_init_DeltaNullSkip_c2p_registers
  9197.  
  9198.     move.l #12,a5
  9199.  
  9200.     blk.w 32,$4e71        ; insert NOP's to ensure routine alignment
  9201.  
  9202.  
  9203. Pllb_C2p_DeltaNullSkip_6bit_512k_4by1_AP:
  9204.  
  9205. Pllb_C2p_DeltaNullSkip_6bit_512k_4by1_LP:
  9206.  
  9207.     move.l (a0)+,d4
  9208.     bne.b Pllb_C2p_DeltaNullSkip_6bit_512k_4by1_Cont
  9209.  
  9210.  
  9211.     tst.b (a6)+
  9212.     bne.b Pllb_C2p_DeltaNullSkip_6bit_512k_4by1_nodelta
  9213.  
  9214.  
  9215.         addq.l #4,a1
  9216.         add.w a5,a2
  9217.         
  9218.         dbf d7,Pllb_C2p_DeltaNullSkip_6bit_512k_4by1_LP
  9219.  
  9220.     rts
  9221.     nop
  9222.     nop
  9223.  
  9224. Pllb_C2p_DeltaNullSkip_6bit_512k_4by1_nodelta:
  9225.  
  9226.  
  9227.         clr.l (a2)+
  9228.             addq.l #4,a1
  9229.         clr.l (a2)+
  9230.         clr.l (a2)+
  9231.  
  9232.         clr.b -1(a6)
  9233.  
  9234.         dbf d7,Pllb_C2p_DeltaNullSkip_6bit_512k_4by1_Lp
  9235.  
  9236.     rts
  9237.     nop
  9238.  
  9239. Pllb_C2p_DeltaNullSkip_6bit_512k_4by1_Cont:
  9240.  
  9241.     clr.l d1
  9242.     st.b (a6)+
  9243.     move.w d4,d1    
  9244.     clr.w d4
  9245.     swap d4
  9246.     lsl.l #3,d4
  9247.     lsl.l #3,d1
  9248.  
  9249.     move.l (a3,d4),d3
  9250.     move.w 4(a3,d4),d4
  9251.  
  9252.     move.l (a3,d1),d5
  9253.     move.w 4(a3,d1),d6
  9254.  
  9255.     clr.l (a1)+
  9256.  
  9257.     move.l d3,d0        
  9258.     move.l d5,d1
  9259.  
  9260.     and.l d2,d0
  9261.     and.l d2,d1
  9262.  
  9263.     eor.l d0,d3
  9264.     eor.l d1,d5
  9265.  
  9266.     lsr.l #8,d1
  9267.     or.l d1,d0        ; d0 = A1a2c1c2
  9268.  
  9269.         move.l d0,(a2)+        
  9270.     
  9271.         lsl.l #8,d3
  9272.  
  9273.     move.w d4,d0        ;----e1f1
  9274.     swap d4            ;e1f1----
  9275.  
  9276.         or.l d5,d3
  9277.  
  9278.  
  9279.     move.w d6,d4        ;e1f1e2f2
  9280.  
  9281.         move.l d3,(a2)+        ; d3 = b1b2d1d2
  9282.  
  9283.  
  9284.     rol.w #8,d4        ;e1f1f2e2
  9285.     move.b d4,d0        ;----e1e2
  9286.     lsl.l #8,d4        ;f1f2e2--
  9287.     move.w d0,d4        ;f1f2e1e2
  9288.     
  9289.  
  9290.         move.l d4,(a2)+        ; d4 = f1f2e1e2     planes 6,5
  9291.  
  9292.  
  9293.         dbf d7,Pllb_C2p_DeltaNullSkip_6bit_512k_4by1_lp
  9294.     rts
  9295.  
  9296. Pllb_C2p_DeltaNullSkip_6bit_512k_4by1_APEND:
  9297.  
  9298.  
  9299.  
  9300.  
  9301.  
  9302.  
  9303.  
  9304.  
  9305. ;    -    -    -    -    -    -    -    -    -
  9306.  
  9307. ;               >> NORMAL 16colour Pllb-C2P <<
  9308.  
  9309. ;                Single pixel Width
  9310.  
  9311. ;                512k fastram version
  9312.  
  9313. ;    -    -    -    -    -    -    -    -    -
  9314.  
  9315. Pllb_C2p_4bit_512K_1by1:
  9316.  
  9317.     bsr Pllb_c2p_init_Normal_c2p_registers
  9318.  
  9319.     ; a4,a5,a6 not used
  9320.  
  9321.     ; init a4 to point to a3+256k
  9322.  
  9323.     move.l a3,a4
  9324.     add.l #4*$10000,a4
  9325.     
  9326.     blk.w 32,$4e71        ; insert NOP's for routine alignment system
  9327.  
  9328. Pllb_C2p_4bit_512K_1by1_AP:
  9329.  
  9330.  
  9331.     move.l (a0)+,d0
  9332.     clr.l d1
  9333.     lsl.l #4,d0
  9334.     or.l (a0)+,d0
  9335.  
  9336.     bra.b Pllb_C2p_4bit_512K_1by1_skip
  9337.     nop
  9338.     nop
  9339.     nop
  9340.  
  9341. Pllb_C2p_4bit_512K_1by1_lp:
  9342.     
  9343.     move.l (a0)+,d0
  9344.     clr.l d1
  9345.     lsl.l #4,d0
  9346.     or.l (a0)+,d0
  9347.  
  9348.         move.l d3,(a1)+        ; d3 = b1b2d1d2
  9349.  
  9350. Pllb_C2p_4bit_512K_1by1_Skip:
  9351.  
  9352.     move.w d0,d1    
  9353.     clr.w d0
  9354.     swap d0
  9355.     lsl.l #2,d0
  9356.  
  9357.     move.l (a4,d0),d3
  9358.     lsl.l #2,d1
  9359.     or.l (a3,d1),d3
  9360.  
  9361.  
  9362.     move.l (a0)+,d0
  9363.     clr.l d1
  9364.     lsl.l #4,d0
  9365.     or.l (a0)+,d0
  9366.  
  9367.     move.w d0,d1    
  9368.     clr.w d0
  9369.     swap d0
  9370.     lsl.l #2,d0
  9371.  
  9372.     move.l (a4,d0),d5
  9373.     lsl.l #2,d1
  9374.     or.l (a3,d1),d5
  9375.  
  9376.     move.l d3,d0        
  9377.     move.l d5,d1
  9378.  
  9379.     and.l d2,d0
  9380.     and.l d2,d1
  9381.  
  9382.     eor.l d0,d3
  9383.     eor.l d1,d5
  9384.  
  9385.     lsr.l #8,d1
  9386.     or.l d1,d0        ; d0 = A1a2c1c2
  9387.  
  9388.     move.l d0,(a1)+        
  9389.  
  9390.     lsl.l #8,d3
  9391.     or.l d5,d3
  9392.  
  9393.  
  9394.     dbf d7,Pllb_C2p_4bit_512K_1by1_lp
  9395.  
  9396.         move.l d3,(a1)+        ; d3 = b1b2d1d2
  9397.  
  9398.     rts
  9399.  
  9400.  
  9401. Pllb_C2p_4bit_512K_1by1_APEND:
  9402.  
  9403.  
  9404.  
  9405.  
  9406.  
  9407.  
  9408. ; ----------------------------------------------------------------------------
  9409. ; ----------------------------------------------------------------------------
  9410. ; ----------------------------------------------------------------------------
  9411. ; ------------------------------DELTA 4bit Version----------------------------
  9412. ; ----------------------------------------------------------------------------
  9413. ; ----------------------------------------------------------------------------
  9414. ; ----------------------------------------------------------------------------
  9415.  
  9416. ;    -    -    -    -    -    -    -    -    -
  9417.  
  9418. ;              >> DELTA 16 colour Pllb-C2P <<
  9419.  
  9420. ;                Single pixel Width
  9421.  
  9422. ;               512k fastram version
  9423.  
  9424. ;    -    -    -    -    -    -    -    -    -
  9425.  
  9426.  
  9427. Pllb_C2p_Delta_4bit_512k_1by1:
  9428.  
  9429.     bsr Pllb_c2p_init_DELTA_c2p_registers
  9430.  
  9431.     ; a4/a5/a6    tables are NOT needed
  9432.  
  9433.     move.l a3,a4
  9434.     add.l #4*$10000,a4
  9435.  
  9436.  
  9437.     blk.w 32,$4e71        ; insert NOP's to ensure routine alignment
  9438.  
  9439.  
  9440. Pllb_C2p_Delta_4bit_512k_1by1_AP:
  9441.  
  9442. Pllb_C2p_Delta_4bit_512k_1by1_LP:
  9443.  
  9444.  
  9445.  
  9446.     move.l (a0)+,d5
  9447.     move.l (a0)+,d4
  9448.     move.l (a0)+,d0
  9449.     move.l (a0)+,d6
  9450.  
  9451.     cmp.l (a1)+,d5
  9452.     bne.b Pllb_C2p_Delta_4bit_512k_1by1_Cont4
  9453.  
  9454.     cmp.l (a1)+,d4
  9455.     bne.b Pllb_C2p_Delta_4bit_512k_1by1_Cont3
  9456.  
  9457.     cmp.l (a1)+,d0
  9458.     bne.b Pllb_C2p_Delta_4bit_512k_1by1_Cont2
  9459.  
  9460.     cmp.l (a1)+,d6
  9461.     bne.b Pllb_C2p_Delta_4bit_512k_1by1_Cont1
  9462.  
  9463.         addq.l #8,a2
  9464.  
  9465.         dbf d7,Pllb_C2p_Delta_4bit_512k_1by1_LP
  9466.  
  9467.     rts
  9468.     nop
  9469.  
  9470.  
  9471. Pllb_C2p_Delta_4bit_512k_1by1_Cont4:
  9472.  
  9473.     addq.l #4,a1
  9474.  
  9475. Pllb_C2p_Delta_4bit_512k_1by1_Cont3:
  9476.  
  9477.     addq.l #4,a1
  9478.  
  9479. Pllb_C2p_Delta_4bit_512k_1by1_Cont2:
  9480.  
  9481.     addq.l #4,a1
  9482.  
  9483. Pllb_C2p_Delta_4bit_512k_1by1_Cont1:
  9484.  
  9485.     lsl.l #4,d5
  9486.     clr.l d1
  9487.     or.l d4,d5
  9488.  
  9489.     move.w d5,d1    
  9490.     clr.w d5
  9491.     swap d5
  9492.     lsl.l #2,d5
  9493.     lsl.l #2,d1
  9494.  
  9495.     move.l (a4,d5),d3
  9496.     or.l (a3,d1),d3
  9497.  
  9498.  
  9499.     lsl.l #4,d0
  9500.     clr.l d1
  9501.  
  9502.     or.l d6,d0
  9503.     move.w d0,d1    
  9504.  
  9505.     clr.w d0
  9506.     swap d0
  9507.  
  9508.     lsl.l #2,d0
  9509.     lsl.l #2,d1
  9510.     move.l (a4,d0),d5
  9511.     or.l (a3,d1),d5
  9512.  
  9513.     move.l d3,d0        
  9514.     move.l d5,d1
  9515.  
  9516.     and.l d2,d0
  9517.     and.l d2,d1
  9518.  
  9519.     eor.l d0,d3
  9520.     eor.l d1,d5
  9521.  
  9522.     lsr.l #8,d1
  9523.  
  9524.     or.l d1,d0        ; d0 = A1a2c1c2
  9525.  
  9526.     move.l d0,(a2)+        
  9527.  
  9528.     lsl.l #8,d3
  9529.     or.l d5,d3
  9530.  
  9531.     move.l d3,(a2)+        ; d3 = b1b2d1d2
  9532.  
  9533.  
  9534.     dbf d7,Pllb_C2p_Delta_4bit_512k_1by1_lp
  9535.  
  9536.     rts
  9537.  
  9538.  
  9539. Pllb_C2p_Delta_4bit_512k_1by1_APEND:
  9540.  
  9541.  
  9542. ; ----------------------------------------------------------------------------
  9543. ; ----------------------------------------------------------------------------
  9544. ; ----------------------------------------------------------------------------
  9545. ; ---------------------------NULLSKIP 4bit Version----------------------------
  9546. ; ----------------------------------------------------------------------------
  9547. ; ----------------------------------------------------------------------------
  9548. ; ----------------------------------------------------------------------------
  9549.  
  9550. ;    -    -    -    -    -    -    -    -    -
  9551.  
  9552. ;          >> NULLSKIP/CLEAR 16 colour Pllb-C2P <<
  9553.  
  9554. ;                Single pixel Width
  9555.  
  9556. ;               512k fastram version
  9557.  
  9558. ;    -    -    -    -    -    -    -    -    -
  9559.  
  9560.  
  9561. Pllb_C2p_NULLSKIP_4bit_512k_1by1:
  9562.  
  9563.     bsr Pllb_c2p_init_NULLSKIP_c2p_registers
  9564.  
  9565.     ; a4/a5/a6    tables are NOT needed
  9566.  
  9567.     move.l a3,a4
  9568.     add.l #4*$10000,a4
  9569.  
  9570.     blk.w 32,$4e71        ; insert NOP's to ensure routine alignment
  9571.  
  9572. Pllb_C2p_NULLSKIP_4bit_512k_1by1_AP:
  9573.  
  9574. Pllb_C2p_NULLSKIP_4bit_512k_1by1_LP:
  9575.  
  9576.     move.l (a0)+,d5
  9577.     bne.b Pllb_C2p_NULLSKIP_4bit_512k_1by1_CONT4
  9578.     move.l (a0)+,d4
  9579.     bne.b Pllb_C2p_NULLSKIP_4bit_512k_1by1_CONT3
  9580.     move.l (a0)+,d0
  9581.     bne.b Pllb_C2p_NULLSKIP_4bit_512k_1by1_CONT2
  9582.     move.l (a0)+,d6
  9583.     bne.b Pllb_C2p_NULLSKIP_4bit_512k_1by1_CONT1
  9584.  
  9585.         clr.l (a2)+
  9586.  
  9587.         add.w #16,a1
  9588.  
  9589.         clr.l (a2)+
  9590.  
  9591.         dbf d7,Pllb_C2p_NULLSKIP_4bit_512k_1by1_LP
  9592.     
  9593.  
  9594.         rts
  9595.         nop
  9596.  
  9597.  
  9598. Pllb_C2p_NULLSKIP_4bit_512k_1by1_CONT4:
  9599.  
  9600.     move.l (a0)+,d4
  9601.  
  9602. Pllb_C2p_NULLSKIP_4bit_512k_1by1_CONT3:
  9603.  
  9604.     move.l (a0)+,d0
  9605.  
  9606. Pllb_C2p_NULLSKIP_4bit_512k_1by1_CONT2:
  9607.  
  9608.     move.l (a0)+,d6
  9609.  
  9610. Pllb_C2p_NULLSKIP_4bit_512k_1by1_CONT1:
  9611.  
  9612.         clr.l (a1)+        ; clear source chunky 4 pixels
  9613.  
  9614.  
  9615.     lsl.l #4,d5
  9616.     clr.l d1
  9617.     or.l d4,d5
  9618.     move.w d5,d1    
  9619.  
  9620.         clr.l (a1)+        ; clear source chunky 4 pixels
  9621.  
  9622.     clr.w d5
  9623.     swap d5
  9624.     lsl.l #2,d5
  9625.     lsl.l #2,d1
  9626.  
  9627.     move.l (a4,d5),d3
  9628.     or.l (a3,d1),d3
  9629.  
  9630.  
  9631.         clr.l (a1)+        ; clear source chunky 4 pixels
  9632.  
  9633.     lsl.l #4,d0
  9634.     clr.l d1
  9635.     or.l d6,d0
  9636.     move.w d0,d1    
  9637.  
  9638.         clr.l (a1)+        ; clear source chunky 4 pixels
  9639.  
  9640.     clr.w d0
  9641.     swap d0
  9642.     lsl.l #2,d0
  9643.     lsl.l #2,d1
  9644.  
  9645.     move.l (a4,d0),d5
  9646.     or.l (a3,d1),d5
  9647.  
  9648.  
  9649.     move.l d3,d0        
  9650.     move.l d5,d1
  9651.  
  9652.     and.l d2,d0
  9653.     and.l d2,d1
  9654.  
  9655.     eor.l d0,d3
  9656.     eor.l d1,d5
  9657.  
  9658.     lsr.l #8,d1
  9659.  
  9660.     or.l d1,d0        ; d0 = A1a2c1c2
  9661.  
  9662.     move.l d0,(a2)+        
  9663.  
  9664.     lsl.l #8,d3
  9665.     or.l d5,d3
  9666.  
  9667.     move.l d3,(a2)+        ; d3 = b1b2d1d2
  9668.  
  9669.  
  9670.  
  9671.     dbf d7,Pllb_C2p_NULLSKIP_4bit_512k_1by1_LP
  9672.     rts
  9673.  
  9674.  
  9675. Pllb_C2p_NULLSKIP_4bit_512k_1by1_APEND:
  9676.  
  9677.  
  9678.  
  9679.  
  9680.  
  9681.  
  9682.  
  9683.  
  9684.  
  9685. ; ----------------------------------------------------------------------------
  9686. ; ----------------------------------------------------------------------------
  9687. ; ----------------------------------------------------------------------------
  9688. ; -------------------------DELTA NULLSKIP 4bit Version------------------------
  9689. ; ----------------------------------------------------------------------------
  9690. ; ----------------------------------------------------------------------------
  9691. ; ----------------------------------------------------------------------------
  9692.  
  9693. ;    -    -    -    -    -    -    -    -    -
  9694.  
  9695. ;          >> DeltaNullSkip/CLEAR 16 colour Pllb-C2P <<
  9696.  
  9697. ;                Single pixel Width
  9698.  
  9699. ;               512k fastram version
  9700.  
  9701. ;    -    -    -    -    -    -    -    -    -
  9702.  
  9703.  
  9704. Pllb_C2p_DeltaNullSkip_4bit_512k_1by1:
  9705.  
  9706.     bsr Pllb_c2p_init_DeltaNullSkip_c2p_registers
  9707.  
  9708.     ; a4/a5/a6    tables are NOT needed
  9709.  
  9710.     move.l a3,a4
  9711.     add.l #4*$10000,a4
  9712.  
  9713.     move.l #16,a5
  9714.  
  9715.  
  9716.     blk.w 32,$4e71        ; insert NOP's to ensure routine alignment
  9717.  
  9718. Pllb_C2p_DeltaNullSkip_4bit_512k_1by1_AP:
  9719.  
  9720. Pllb_C2p_DeltaNullSkip_4bit_512k_1by1_LP:
  9721.  
  9722.     move.l (a0)+,d5
  9723.     bne.b Pllb_C2p_DeltaNullSkip_4bit_512k_1by1_CONT4
  9724.     move.l (a0)+,d4
  9725.     bne.b Pllb_C2p_DeltaNullSkip_4bit_512k_1by1_CONT3
  9726.     move.l (a0)+,d0
  9727.     bne.b Pllb_C2p_DeltaNullSkip_4bit_512k_1by1_CONT2
  9728.     move.l (a0)+,d6
  9729.     bne.b Pllb_C2p_DeltaNullSkip_4bit_512k_1by1_CONT1
  9730.  
  9731.  
  9732.     tst.b (a6)
  9733.     bne.b Pllb_C2p_DeltaNullSkip_4bit_512k_1by1_nodelta
  9734.  
  9735.         add.l a5,a1
  9736.         add.l #8,a2
  9737.         
  9738.         addq.l #1,a6        
  9739.         dbf d7,Pllb_C2p_DeltaNullSkip_4bit_512k_1by1_LP
  9740.     rts
  9741.  
  9742. Pllb_C2p_DeltaNullSkip_4bit_512k_1by1_nodelta:
  9743.  
  9744.         clr.l (a2)+
  9745.         add.l a5,a1
  9746.         clr.l (a2)+
  9747.         clr.b (a6)+
  9748.         
  9749.         dbf d7,Pllb_C2p_DeltaNullSkip_4bit_512k_1by1_LP
  9750.     
  9751.         rts
  9752.         nop
  9753.  
  9754.  
  9755. Pllb_C2p_DeltaNullSkip_4bit_512k_1by1_CONT4:
  9756.  
  9757.     move.l (a0)+,d4
  9758.  
  9759. Pllb_C2p_DeltaNullSkip_4bit_512k_1by1_CONT3:
  9760.  
  9761.     move.l (a0)+,d0
  9762.  
  9763. Pllb_C2p_DeltaNullSkip_4bit_512k_1by1_CONT2:
  9764.  
  9765.     move.l (a0)+,d6
  9766.  
  9767. Pllb_C2p_DeltaNullSkip_4bit_512k_1by1_CONT1:
  9768.  
  9769.         st.b (a6)+
  9770.  
  9771.     lsl.l #4,d5
  9772.     clr.l d1
  9773.     or.l d4,d5
  9774.     move.w d5,d1    
  9775.  
  9776.         clr.l (a1)+        ; clear source chunky 4 pixels
  9777.  
  9778.     clr.w d5
  9779.     swap d5
  9780.     lsl.l #2,d5
  9781.     lsl.l #2,d1
  9782.  
  9783.     move.l (a4,d5),d3
  9784.     or.l (a3,d1),d3
  9785.  
  9786.  
  9787.         clr.l (a1)+        ; clear source chunky 4 pixels
  9788.  
  9789.     lsl.l #4,d0
  9790.     clr.l d1
  9791.     or.l d6,d0
  9792.     move.w d0,d1    
  9793.  
  9794.         clr.l (a1)+        ; clear source chunky 4 pixels
  9795.  
  9796.     clr.w d0
  9797.     swap d0
  9798.     lsl.l #2,d0
  9799.     lsl.l #2,d1
  9800.  
  9801.     move.l (a4,d0),d5
  9802.     or.l (a3,d1),d5
  9803.  
  9804.  
  9805.  
  9806.         clr.l (a1)+        ; clear source chunky 4 pixels
  9807.  
  9808.     move.l d3,d0        
  9809.     move.l d5,d1
  9810.  
  9811.     and.l d2,d0
  9812.     and.l d2,d1
  9813.  
  9814.     eor.l d0,d3
  9815.     eor.l d1,d5
  9816.  
  9817.     lsr.l #8,d1
  9818.  
  9819.     or.l d1,d0        ; d0 = A1a2c1c2
  9820.  
  9821.     move.l d0,(a2)+        
  9822.  
  9823.     lsl.l #8,d3
  9824.     or.l d5,d3
  9825.  
  9826.     move.l d3,(a2)+        ; d3 = b1b2d1d2
  9827.  
  9828.  
  9829.  
  9830.     dbf d7,Pllb_C2p_DeltaNullSkip_4bit_512k_1by1_LP
  9831.     rts
  9832.  
  9833.  
  9834. Pllb_C2p_DeltaNullSkip_4bit_512k_1by1_APEND:
  9835.  
  9836.  
  9837.  
  9838.  
  9839.  
  9840.  
  9841. ; ----------------------------------------------------------------------------
  9842. ; ----------------------------------------------------------------------------
  9843. ; ----------------------------------------------------------------------------
  9844. ; ------------------------------NORMAL 4bit Version---------------------------
  9845. ; ----------------------------------------------------------------------------
  9846. ; ----------------------------------------------------------------------------
  9847. ; ----------------------------------------------------------------------------
  9848.  
  9849. ;    -    -    -    -    -    -    -    -    -
  9850.  
  9851. ;                 >> 16 colour Pllb-C2P <<
  9852.  
  9853. ;                Double pixel Width
  9854.  
  9855. ;               512k fastram version
  9856.  
  9857. ;    -    -    -    -    -    -    -    -    -
  9858.  
  9859.  
  9860. Pllb_C2p_4bit_512k_2by1:
  9861.  
  9862.     bsr Pllb_c2p_init_NORMAL_c2p_registers
  9863.  
  9864.     ; a4/a5/a6    tables are NOT needed
  9865.  
  9866.     blk.w 32,$4e71        ; insert NOP's to ensure routine alignment
  9867.  
  9868.  
  9869. Pllb_C2p_4bit_512k_2by1_AP:
  9870.  
  9871.     move.l (a0)+,d0
  9872.     move.l (a0)+,d4
  9873.     move.w d0,d1
  9874.     move.w d4,d6
  9875.     nop
  9876.     nop
  9877.     nop
  9878.     bra.b Pllb_C2p_4bit_512k_2by1_SKIP
  9879.  
  9880. Pllb_C2p_4bit_512k_2by1_LP:
  9881.  
  9882.     move.l (a0)+,d0
  9883.     move.l (a0)+,d4
  9884.     move.w d0,d1
  9885.     move.w d4,d6
  9886.         move.l d3,(a1)+        ; d3 = b1b2d1d2
  9887.  
  9888.  
  9889. Pllb_C2p_4bit_512k_2by1_SKIP:
  9890.  
  9891.  
  9892.     clr.w d0
  9893.         clr.w d4
  9894.     swap d0
  9895.         swap d4
  9896.  
  9897.     lsl.w #4,d0
  9898.     lsl.w #4,d4
  9899.  
  9900.     or.w d1,d0
  9901.     or.w d6,d4
  9902.  
  9903.     lsl.l #2,d0
  9904.     lsl.l #2,d4
  9905.  
  9906.     move.l (a3,d0.l),d3
  9907.     move.l (a3,d4.l),d5
  9908.  
  9909.  
  9910.     move.l d3,d0        
  9911.     move.l d5,d1
  9912.  
  9913.     and.l d2,d0
  9914.     and.l d2,d1
  9915.  
  9916.     eor.l d0,d3
  9917.     eor.l d1,d5
  9918.  
  9919.     lsr.l #8,d1
  9920.     or.l d1,d0        ; d0 = A1a2c1c2
  9921.  
  9922.     move.l d0,(a1)+        
  9923.  
  9924.     lsl.l #8,d3
  9925.     or.l d5,d3
  9926.  
  9927.  
  9928.     dbf d7,Pllb_C2p_4bit_512k_2by1_LP
  9929.  
  9930.         move.l d3,(a1)+        ; d3 = b1b2d1d2
  9931.     rts
  9932.  
  9933. Pllb_C2p_4bit_512k_2by1_APEND:
  9934.  
  9935.  
  9936.  
  9937.  
  9938.  
  9939.  
  9940.  
  9941.  
  9942.  
  9943. ; ----------------------------------------------------------------------------
  9944. ; ----------------------------------------------------------------------------
  9945. ; ----------------------------------------------------------------------------
  9946. ; ------------------------------DELTA 4bit Version---------------------------
  9947. ; ----------------------------------------------------------------------------
  9948. ; ----------------------------------------------------------------------------
  9949. ; ----------------------------------------------------------------------------
  9950.  
  9951. ;    -    -    -    -    -    -    -    -    -
  9952.  
  9953. ;                >> DELTA 16 colour Pllb-C2P <<
  9954.  
  9955. ;                Double pixel Width
  9956.  
  9957. ;               512k fastram version
  9958.  
  9959. ;    -    -    -    -    -    -    -    -    -
  9960.  
  9961.  
  9962. Pllb_C2p_DELTA_4bit_512k_2by1:
  9963.  
  9964.     bsr Pllb_c2p_init_DELTA_c2p_registers
  9965.  
  9966.     ; a4/a5/a6    tables are NOT needed
  9967.  
  9968.     blk.w 32,$4e71        ; insert NOP's to ensure routine alignment
  9969.  
  9970.  
  9971. Pllb_C2p_DELTA_4bit_512k_2by1_AP:
  9972.  
  9973. Pllb_C2p_DELTA_4bit_512k_2by1_LP:
  9974.  
  9975.     move.l (a0)+,d5
  9976.     move.l (a0)+,d4
  9977.  
  9978.     cmp.l (a1)+,d5
  9979.     bne.b Pllb_C2p_DELTA_4bit_512k_2by1_cont2
  9980.  
  9981.     cmp.l (a1)+,d4
  9982.     bne.b Pllb_C2p_DELTA_4bit_512k_2by1_cont1
  9983.  
  9984.         addq.l #8,a2
  9985.     
  9986.  
  9987.         dbf d7,Pllb_C2p_DELTA_4bit_512k_2by1_LP
  9988.  
  9989.         rts
  9990.  
  9991. Pllb_C2p_DELTA_4bit_512k_2by1_cont2:
  9992.  
  9993.     addq.l #4,a1
  9994.     nop
  9995.  
  9996. Pllb_C2p_DELTA_4bit_512k_2by1_cont1:
  9997.  
  9998.     move.w d5,d1
  9999.     move.w d4,d3
  10000.     clr.w d4
  10001.     clr.w d5
  10002.     swap d5
  10003.     swap d4
  10004.  
  10005.     lsl.w #4,d5
  10006.      lsl.w #4,d4
  10007.     or.w d1,d5
  10008.     or.w d3,d4
  10009.     lsl.l #2,d5
  10010.     lsl.l #2,d4
  10011.     move.l (a3,d5.l),d3
  10012.     move.l (a3,d4.l),d5
  10013.  
  10014.     move.l d3,d0        
  10015.     move.l d5,d1
  10016.  
  10017.     and.l d2,d0
  10018.     and.l d2,d1
  10019.  
  10020.     eor.l d0,d3
  10021.     eor.l d1,d5
  10022.  
  10023.     lsr.l #8,d1
  10024.     or.l d1,d0        ; d0 = A1a2c1c2
  10025.  
  10026.     move.l d0,(a2)+        
  10027.  
  10028.     lsl.l #8,d3
  10029.     or.l d5,d3
  10030.  
  10031.     move.l d3,(a2)+        ; d3 = b1b2d1d2
  10032.  
  10033.  
  10034.     dbf d7,Pllb_C2p_DELTA_4bit_512k_2by1_LP
  10035.     rts
  10036.  
  10037.  
  10038. Pllb_C2p_DELTA_4bit_512k_2by1_APEND:
  10039.  
  10040.  
  10041.  
  10042.  
  10043.  
  10044.  
  10045.  
  10046.  
  10047.  
  10048. ; ----------------------------------------------------------------------------
  10049. ; ----------------------------------------------------------------------------
  10050. ; ----------------------------------------------------------------------------
  10051. ; ----------------------------NULLSKIP 4bit Version---------------------------
  10052. ; ----------------------------------------------------------------------------
  10053. ; ----------------------------------------------------------------------------
  10054. ; ----------------------------------------------------------------------------
  10055.  
  10056. ;    -    -    -    -    -    -    -    -    -
  10057.  
  10058. ;             >> NULLSKIP/ClEAR 16 colour Pllb-C2P <<
  10059.  
  10060. ;                Double pixel Width
  10061.  
  10062. ;               512k fastram version
  10063.  
  10064. ;    -    -    -    -    -    -    -    -    -
  10065.  
  10066.  
  10067. Pllb_C2p_NULLSKIP_4bit_512k_2by1:
  10068.  
  10069.     bsr Pllb_c2p_init_NULLSKIP_c2p_registers
  10070.  
  10071.     ; a4/a5/a6    tables are NOT needed
  10072.  
  10073.     blk.w 32,$4e71        ; insert NOP's to ensure routine alignment
  10074.  
  10075.  
  10076.  
  10077. Pllb_C2p_NULLSKIP_4bit_512k_2by1_AP:
  10078.  
  10079. Pllb_C2p_NULLSKIP_4bit_512k_2by1_LP:
  10080.  
  10081.     move.l (a0)+,d5
  10082.     bne.b Pllb_C2p_NULLSKIP_4bit_512k_2by1_Cont2
  10083.     move.l (a0)+,d4
  10084.     bne.b Pllb_C2p_NULLSKIP_4bit_512k_2by1_Cont1
  10085.  
  10086.         clr.l (a2)+
  10087.         addq.l #8,a1
  10088.         clr.l (a2)+
  10089.         dbf d7,Pllb_C2p_NULLSKIP_4bit_512k_2by1_LP
  10090.     rts
  10091.     nop
  10092.  
  10093.  
  10094. Pllb_C2p_NULLSKIP_4bit_512k_2by1_Cont2:
  10095.  
  10096.     move.l (a0)+,d4
  10097.  
  10098. Pllb_C2p_NULLSKIP_4bit_512k_2by1_Cont1:
  10099.     
  10100.         clr.l (a1)+        ; clear 4 chunky pixels
  10101.  
  10102.  
  10103.     move.w d5,d1
  10104.     move.w d4,d3
  10105.     clr.w d4
  10106.     clr.w d5
  10107.     swap d5
  10108.     swap d4
  10109.  
  10110.  
  10111.         clr.l (a1)+        ; clear 4 chunky pixels
  10112.  
  10113.  
  10114.     lsl.w #4,d5
  10115.      lsl.w #4,d4
  10116.     or.w d1,d5
  10117.     or.w d3,d4
  10118.     lsl.l #2,d5
  10119.     lsl.l #2,d4
  10120.     move.l (a3,d5.l),d3
  10121.     move.l (a3,d4.l),d5
  10122.  
  10123.     move.l d3,d0        
  10124.     move.l d5,d1
  10125.  
  10126.     and.l d2,d0
  10127.     and.l d2,d1
  10128.  
  10129.     eor.l d0,d3
  10130.     eor.l d1,d5
  10131.  
  10132.     lsr.l #8,d1
  10133.     or.l d1,d0        ; d0 = A1a2c1c2
  10134.  
  10135.     move.l d0,(a2)+        
  10136.  
  10137.     lsl.l #8,d3
  10138.     or.l d5,d3
  10139.  
  10140.     move.l d3,(a2)+        ; d3 = b1b2d1d2
  10141.  
  10142.     dbf d7,Pllb_C2p_NULLSKIP_4bit_512k_2by1_lp
  10143.  
  10144.     rts
  10145.  
  10146.  
  10147. Pllb_C2p_NULLSKIP_4bit_512k_2by1_APEND:
  10148.  
  10149.  
  10150.  
  10151.  
  10152.  
  10153.  
  10154.  
  10155.  
  10156.  
  10157. ; ----------------------------------------------------------------------------
  10158. ; ----------------------------------------------------------------------------
  10159. ; ----------------------------------------------------------------------------
  10160. ; ------------------------DELTA NULLSKIP 4bit Version-------------------------
  10161. ; ----------------------------------------------------------------------------
  10162. ; ----------------------------------------------------------------------------
  10163. ; ----------------------------------------------------------------------------
  10164.  
  10165. ;    -    -    -    -    -    -    -    -    -
  10166.  
  10167. ;             >> DeltaNullSkip/ClEAR 16 colour Pllb-C2P <<
  10168.  
  10169. ;                Double pixel Width
  10170.  
  10171. ;               512k fastram version
  10172.  
  10173. ;    -    -    -    -    -    -    -    -    -
  10174.  
  10175.  
  10176. Pllb_C2p_DeltaNullSkip_4bit_512k_2by1:
  10177.  
  10178.     bsr Pllb_c2p_init_DeltaNullSkip_c2p_registers
  10179.  
  10180.     ; a4/a5/a6    tables are NOT needed
  10181.  
  10182.  
  10183.     move.l #8,a5
  10184.  
  10185.     blk.w 32,$4e71        ; insert NOP's to ensure routine alignment
  10186.  
  10187.  
  10188.  
  10189. Pllb_C2p_DeltaNullSkip_4bit_512k_2by1_AP:
  10190.  
  10191. Pllb_C2p_DeltaNullSkip_4bit_512k_2by1_LP:
  10192.  
  10193.     move.l (a0)+,d5
  10194.     bne.b Pllb_C2p_DeltaNullSkip_4bit_512k_2by1_Cont2
  10195.     move.l (a0)+,d4
  10196.     bne.b Pllb_C2p_DeltaNullSkip_4bit_512k_2by1_Cont1
  10197.  
  10198.  
  10199.     tst.b (a6)
  10200.     bne.w Pllb_C2p_DeltaNullSkip_4bit_512k_2by1_nodelta
  10201.  
  10202.         add.l a5,a1
  10203.         addq.l #8,a2
  10204.         
  10205.         addq.l #1,a6        
  10206.         dbf d7,Pllb_C2p_DeltaNullSkip_4bit_512k_2by1_LP
  10207.     rts
  10208.  
  10209. Pllb_C2p_DeltaNullSkip_4bit_512k_2by1_nodelta:
  10210.  
  10211.         clr.l (a2)+
  10212.         add.l a5,a1
  10213.         clr.l (a2)+
  10214.         clr.b (a6)+
  10215.         
  10216.         dbf d7,Pllb_C2p_DeltaNullSkip_4bit_512k_2by1_LP
  10217.  
  10218.  
  10219.     rts
  10220.     nop
  10221.  
  10222.  
  10223. Pllb_C2p_DeltaNullSkip_4bit_512k_2by1_Cont2:
  10224.  
  10225.     move.l (a0)+,d4
  10226.  
  10227. Pllb_C2p_DeltaNullSkip_4bit_512k_2by1_Cont1:
  10228.     
  10229.         st.b (a6)+
  10230.  
  10231.  
  10232.     move.w d5,d1
  10233.     move.w d4,d3
  10234.     clr.w d4
  10235.     clr.w d5
  10236.     swap d5
  10237.     swap d4
  10238.  
  10239.  
  10240.         clr.l (a1)+        ; clear 4 chunky pixels
  10241.  
  10242.  
  10243.     lsl.w #4,d5
  10244.      lsl.w #4,d4
  10245.     or.w d1,d5
  10246.     or.w d3,d4
  10247.     lsl.l #2,d5
  10248.     lsl.l #2,d4
  10249.     move.l (a3,d5.l),d3
  10250.     move.l (a3,d4.l),d5
  10251.  
  10252.  
  10253.  
  10254.         clr.l (a1)+        ; clear 4 chunky pixels
  10255.  
  10256.     move.l d3,d0        
  10257.     move.l d5,d1
  10258.  
  10259.     and.l d2,d0
  10260.     and.l d2,d1
  10261.  
  10262.     eor.l d0,d3
  10263.     eor.l d1,d5
  10264.  
  10265.     lsr.l #8,d1
  10266.     or.l d1,d0        ; d0 = A1a2c1c2
  10267.  
  10268.     move.l d0,(a2)+        
  10269.  
  10270.     lsl.l #8,d3
  10271.     or.l d5,d3
  10272.  
  10273.     move.l d3,(a2)+        ; d3 = b1b2d1d2
  10274.  
  10275.     dbf d7,Pllb_C2p_DeltaNullSkip_4bit_512k_2by1_lp
  10276.  
  10277.     rts
  10278.  
  10279.  
  10280. Pllb_C2p_DeltaNullSkip_4bit_512k_2by1_APEND:
  10281.  
  10282.  
  10283.  
  10284.  
  10285.  
  10286.  
  10287.  
  10288.  
  10289.  
  10290. ; ----------------------------------------------------------------------------
  10291. ; ----------------------------------------------------------------------------
  10292. ; ----------------------------------------------------------------------------
  10293. ; ------------------------------NORMAL 4bit Version---------------------------
  10294. ; ----------------------------------------------------------------------------
  10295. ; ----------------------------------------------------------------------------
  10296. ; ----------------------------------------------------------------------------
  10297.  
  10298. ;    -    -    -    -    -    -    -    -    -
  10299.  
  10300. ;                 >> 16 colour Pllb-C2P <<
  10301.  
  10302. ;                Quad pixel Width
  10303.  
  10304. ;               512k fastram version
  10305.  
  10306. ;    -    -    -    -    -    -    -    -    -
  10307.  
  10308.  
  10309. Pllb_C2p_4bit_512k_4by1:
  10310.  
  10311.     bsr Pllb_c2p_init_NORMAL_c2p_registers
  10312.  
  10313.     ; a4/a5/a6    tables are NOT needed
  10314.  
  10315.     blk.w 32,$4e71        ; insert NOP's to ensure routine alignment
  10316.  
  10317.  
  10318. Pllb_C2p_4bit_512k_4by1_AP:
  10319.  
  10320. Pllb_C2p_4bit_512k_4by1_LP:
  10321.  
  10322.     move.l (a0)+,d0
  10323.     move.w d0,d1
  10324.         clr.w d0
  10325.     lsl.b #4,d1
  10326.         swap d0
  10327.     lsr.w #4,d1
  10328.         lsl.b #4,d0
  10329.     lsl.w #4,d0
  10330.     move.b d1,d0
  10331.     lsl.l #3,d0
  10332.     move.l (a3,d0.l),(a1)+
  10333.     move.l 4(a3,d0.l),(a1)+
  10334.  
  10335.     dbf d7,Pllb_C2p_4bit_512k_4by1_LP
  10336.     rts
  10337.  
  10338.  
  10339. Pllb_C2p_4bit_512k_4by1_APEND:
  10340.  
  10341.  
  10342.  
  10343.  
  10344.  
  10345.  
  10346. ;    -    -    -    -    -    -    -    -    -
  10347.  
  10348. ;                >> DELTA 16 colour Pllb-C2P <<
  10349.  
  10350. ;                Quad pixel Width
  10351.  
  10352. ;               512k fastram version
  10353.  
  10354. ;    -    -    -    -    -    -    -    -    -
  10355.  
  10356.  
  10357. Pllb_C2p_Delta_4bit_512k_4by1:
  10358.  
  10359.     bsr Pllb_c2p_init_DELTA_c2p_registers
  10360.  
  10361.     ; a4/a5/a6    tables are NOT needed
  10362.  
  10363.     blk.w 32,$4e71        ; insert NOP's to ensure routine alignment
  10364.  
  10365. Pllb_C2p_Delta_4bit_512k_4by1_AP:
  10366.  
  10367.  
  10368. Pllb_C2p_Delta_4bit_512k_4by1_LP:
  10369.  
  10370.  
  10371.     move.l (a0)+,d0
  10372.  
  10373.     cmp.l (a1)+,d0
  10374.     bne.b Pllb_C2p_Delta_4bit_512k_4by1_Cont
  10375.  
  10376.         addq.l #8,a2
  10377.  
  10378.         dbf d7,Pllb_C2p_Delta_4bit_512k_4by1_LP    
  10379.     rts
  10380.     
  10381. Pllb_C2p_Delta_4bit_512k_4by1_Cont:
  10382.  
  10383.         move.w d0,d1
  10384.             clr.w d0
  10385.         lsl.b #4,d1
  10386.             swap d0
  10387.         lsr.w #4,d1
  10388.             lsl.b #4,d0
  10389.         lsl.w #4,d0
  10390.         move.b d1,d0    
  10391.         lsl.l #3,d0
  10392.         move.l (a3,d0.l),(a2)+
  10393.         move.l 4(a3,d0.l),(a2)+
  10394.  
  10395.  
  10396.         dbf d7,Pllb_C2p_Delta_4bit_512k_4by1_LP    
  10397.  
  10398.     rts
  10399.  
  10400. Pllb_C2p_Delta_4bit_512k_4by1_APEND:
  10401.  
  10402.  
  10403.  
  10404.  
  10405.  
  10406.  
  10407. ;    -    -    -    -    -    -    -    -    -
  10408.  
  10409. ;           >> NULLSKIP/CLEAR 16 colour Pllb-C2P <<
  10410.  
  10411. ;                Quad pixel Width
  10412.  
  10413. ;               512k fastram version
  10414.  
  10415. ;    -    -    -    -    -    -    -    -    -
  10416.  
  10417.  
  10418. Pllb_C2p_NULLSKIP_4bit_512k_4by1:
  10419.  
  10420.     bsr Pllb_c2p_init_NULLSKIP_c2p_registers
  10421.  
  10422.     ; a4/a5/a6    tables are NOT needed
  10423.  
  10424.     blk.w 32,$4e71        ; insert NOP's to ensure routine alignment
  10425.  
  10426.  
  10427. Pllb_C2p_NULLSKIP_4bit_512k_4by1_AP:
  10428.  
  10429. Pllb_C2p_NULLSKIP_4bit_512k_4by1_LP:
  10430.  
  10431.     move.l (a0)+,d0
  10432.     bne.b Pllb_C2p_NULLSKIP_4bit_512k_4by1_CONT
  10433.  
  10434.         clr.l (a2)+
  10435.     
  10436.             addq.l #4,a1
  10437.     
  10438.         clr.l (a2)+
  10439.  
  10440.         dbf d7,Pllb_C2p_NULLSKIP_4bit_512k_4by1_LP
  10441.     rts
  10442.  
  10443. Pllb_C2p_NULLSKIP_4bit_512k_4by1_Cont:
  10444.  
  10445.             clr.l (a1)+
  10446.  
  10447.         move.w d0,d1
  10448.             clr.w d0
  10449.         lsl.b #4,d1
  10450.             swap d0
  10451.         lsr.w #4,d1
  10452.             lsl.b #4,d0
  10453.         lsl.w #4,d0
  10454.         move.b d1,d0    
  10455.         lsl.l #3,d0
  10456.         move.l (a3,d0.l),(a2)+
  10457.         move.l 4(a3,d0.l),(a2)+
  10458.  
  10459.  
  10460.     dbf d7,Pllb_C2p_NULLSKIP_4bit_512k_4by1_LP
  10461.  
  10462.     rts
  10463.  
  10464.  
  10465. Pllb_C2p_NULLSKIP_4bit_512k_4by1_APEND:
  10466.  
  10467.  
  10468.  
  10469.  
  10470.  
  10471.  
  10472.  
  10473.  
  10474. ;    -    -    -    -    -    -    -    -    -
  10475.  
  10476. ;           >> DELTANULLSKIP/CLEAR 16 colour Pllb-C2P <<
  10477.  
  10478. ;                Quad pixel Width
  10479.  
  10480. ;               512k fastram version
  10481.  
  10482. ;    -    -    -    -    -    -    -    -    -
  10483.  
  10484.  
  10485. Pllb_C2p_DeltaNullSkip_4bit_512k_4by1:
  10486.  
  10487.     bsr Pllb_c2p_init_DeltaNullSkip_c2p_registers
  10488.  
  10489.     ; a4/a5/a6    tables are NOT needed
  10490.  
  10491.     move.l #4,a5
  10492.  
  10493.     blk.w 32,$4e71        ; insert NOP's to ensure routine alignment
  10494.  
  10495.  
  10496. Pllb_C2p_DeltaNullSkip_4bit_512k_4by1_AP:
  10497.  
  10498. Pllb_C2p_DeltaNullSkip_4bit_512k_4by1_LP:
  10499.  
  10500.     move.l (a0)+,d0
  10501.     bne.b Pllb_C2p_DeltaNullSkip_4bit_512k_4by1_CONT
  10502.  
  10503.  
  10504.     tst.b (a6)
  10505.     bne.w Pllb_C2p_DeltaNullSkip_4bit_512k_4by1_nodelta
  10506.  
  10507.         add.l a5,a1
  10508.  
  10509.         addq.l #8,a2
  10510.         
  10511.         addq.l #1,a6        
  10512.         dbf d7,Pllb_C2p_DeltaNullSkip_4bit_512k_4by1_LP
  10513.     rts
  10514.  
  10515. Pllb_C2p_DeltaNullSkip_4bit_512k_4by1_nodelta:
  10516.  
  10517.         clr.l (a2)+
  10518.         add.l a5,a1
  10519.         clr.l (a2)+
  10520.         clr.b (a6)+
  10521.         
  10522.         dbf d7,Pllb_C2p_DeltaNullSkip_4bit_512k_4by1_LP
  10523.  
  10524.     rts
  10525.  
  10526.  
  10527. Pllb_C2p_DeltaNullSkip_4bit_512k_4by1_Cont:
  10528.  
  10529.             clr.l (a1)+
  10530.  
  10531.         move.w d0,d1
  10532.             clr.w d0
  10533.         lsl.b #4,d1
  10534.             swap d0
  10535.         lsr.w #4,d1
  10536.             lsl.b #4,d0
  10537.  
  10538.             st.b (a6)+
  10539.  
  10540.         lsl.w #4,d0
  10541.         move.b d1,d0    
  10542.         lsl.l #3,d0
  10543.         move.l (a3,d0.l),(a2)+
  10544.         move.l 4(a3,d0.l),(a2)+
  10545.  
  10546.  
  10547.     dbf d7,Pllb_C2p_DeltaNullSkip_4bit_512k_4by1_LP
  10548.  
  10549.     rts
  10550.  
  10551.  
  10552. Pllb_C2p_DeltaNullSkip_4bit_512k_4by1_APEND:
  10553.  
  10554.  
  10555.  
  10556.  
  10557.  
  10558.  
  10559.  
  10560. ;    -    -    -    -    -    -    -    -    -
  10561.  
  10562.  
  10563. ;         >> Handle The Blitter Bitplane Copy/Resorting <<
  10564.  
  10565.  
  10566. ;    -    -    -    -    -    -    -    -    -
  10567.  
  10568.  
  10569. Pllb_c2p_Init_BlitterResort_Table:
  10570.  
  10571.     tst.w Pllb_C2p_Enabled_Flag
  10572.     beq.b Pllb_c2p_Init_BlitterResort_Table_DONE
  10573.  
  10574.         lea.l Pllb_c2p_Init_blitterResort_colourdepth(pc),a0
  10575.         move.w Pllb_C2p_ColourDepth(pc),d0
  10576.         move.l (a0,d0.w),a0    
  10577.         jmp (a0)
  10578.  
  10579. Pllb_c2p_Init_BlitterResort_Table_DONE:
  10580.     rts
  10581.  
  10582.  
  10583. Pllb_c2p_Init_blitterResort_colourdepth:
  10584.  
  10585.     dc.l Pllb_c2p_Init_16colour_blitter
  10586.     dc.l Pllb_c2p_Init_64colour_blitter
  10587.     dc.l Pllb_c2p_Init_256colour_blitter
  10588.  
  10589.  
  10590. Pllb_c2p_Init_16colour_blitter:
  10591.  
  10592.     clr.w Pllb_C2p_blit_Flag    
  10593.     move.w #4,Pllb_C2p_blit_Bitplane_Max
  10594.     clr.w Pllb_C2p_blit_Bitplane
  10595.  
  10596.     move.w PLLB_C2P_BitPLane_Size(pc),Pllb_C2p_blit_PlaneSize
  10597.  
  10598.     bsr Pllb_C2P_GetScreenSize
  10599.     move.w d0,Pllb_C2p_blit_PlaneSize2
  10600.  
  10601.     move.w #8-2,Pllb_C2p_blit_Blit_AModulo
  10602.     clr.w Pllb_C2p_blit_Blit_DModulo
  10603.  
  10604.     lea.l Pllb_C2p_blit_Source_Offset_Table(pc),a0
  10605.     lea.l Pllb_c2p_8bitplane_offset_table(pc),a1
  10606.     move.l (a1)+,(a0)+
  10607.     move.l (a1)+,(a0)+
  10608.     rts
  10609.  
  10610.  
  10611. Pllb_c2p_Init_64colour_blitter:
  10612.     clr.w Pllb_C2p_blit_Flag    
  10613.     move.w #6,Pllb_C2p_blit_Bitplane_Max
  10614.     clr.w Pllb_C2p_blit_Bitplane
  10615.  
  10616.     move.w PLLB_C2P_BitPLane_Size(pc),Pllb_C2p_blit_PlaneSize
  10617.  
  10618.  
  10619.     bsr Pllb_C2P_GetScreenSize
  10620.     move.w d0,Pllb_C2p_blit_PlaneSize2
  10621.  
  10622.     move.w #12-2,Pllb_C2p_blit_Blit_AModulo
  10623.     clr.w Pllb_C2p_blit_Blit_DModulo
  10624.  
  10625.     lea.l Pllb_C2p_blit_Source_Offset_Table(pc),a0
  10626.     lea.l Pllb_c2p_6bitplane_offset_table(pc),a1
  10627.  
  10628.     move.l (a1)+,(a0)+
  10629.     move.l (a1)+,(a0)+
  10630.     move.l (a1)+,(a0)+
  10631.     rts
  10632.  
  10633.  
  10634.  
  10635.  
  10636. Pllb_c2p_Init_256colour_blitter:
  10637.  
  10638.     clr.w Pllb_C2p_blit_Flag    
  10639.     move.w #8,Pllb_C2p_blit_Bitplane_Max
  10640.     clr.w Pllb_C2p_blit_Bitplane
  10641.  
  10642.     move.w PLLB_C2P_BitPLane_Size(pc),Pllb_C2p_blit_PlaneSize
  10643.  
  10644.     bsr Pllb_C2P_GetScreenSize
  10645.     move.w d0,Pllb_C2p_blit_PlaneSize2
  10646.     move.w #16-2,Pllb_C2p_blit_Blit_AModulo
  10647.     clr.w Pllb_C2p_blit_Blit_DModulo
  10648.  
  10649.     lea.l Pllb_C2p_blit_Source_Offset_Table(pc),a0
  10650.     lea.l Pllb_c2p_8bitplane_offset_table(pc),a1
  10651.     move.l (a1)+,(a0)+
  10652.     move.l (a1)+,(a0)+
  10653.     move.l (a1)+,(a0)+
  10654.     move.l (a1)+,(a0)+
  10655.     rts
  10656.  
  10657.  
  10658. Pllb_c2p_8bitplane_offset_table:    dc.w 0,4,2,6,8,12,10,14
  10659. Pllb_c2p_6bitplane_offset_table:    dc.w 0,4,2,6,10,8,0,0
  10660.  
  10661.  
  10662. ;    -    -    -    -    -    -    -    -    -
  10663.  
  10664. ;           >> PLLB_C2P Screen sizes in pixels <<
  10665.  
  10666. ;    -    -    -    -    -    -    -    -    -
  10667.  
  10668.  
  10669. Pllb_C2P_GetScreenSize:
  10670.  
  10671.     moveq.l #0,d0
  10672.     move.w  PLLB_C2P_ChunkyScreenWidth(pc),d0
  10673.     lsr.l #4,d0                    ; divu d0 by 16     
  10674.     mulu  PLLB_C2P_ChunkyScreenHeight(pc),d0
  10675.     move.w d0,PLLB_C2P_ChunkyScreenSize
  10676.     rts
  10677.     
  10678.  
  10679.  
  10680.  
  10681. PLLB_C2P_ChunkyScreenWidth:    dc.w 0    ; ChunkyScreen width in pixels
  10682. PLLB_C2P_ChunkyScreenHeight:    dc.w 0    ; ChunkyScreen_Height in pixels
  10683. PLLB_C2P_ChunkyScreenSize:    dc.w 0    ; (screen width/16)*screenheight
  10684.  
  10685.  
  10686. PLLB_C2P_BitPLane_Size:        dc.w 0
  10687.  
  10688.  
  10689.  
  10690. Pllb_C2p_blit_Flag:          dc.w 0
  10691. Pllb_C2p_blit_Bitplane_Max:      dc.w 8    ; Max Numb of bitplanes
  10692. Pllb_C2p_blit_Bitplane:          dc.w 0
  10693. Pllb_C2p_blit_PlaneSize:      dc.w 40*255   ; Width in Byte * height !!
  10694. Pllb_C2p_blit_PlaneSize2:      dc.w 20*255   ; Width in words * height !!
  10695. Pllb_C2p_blit_Blit_AModulo:      dc.w (16-2)    ; SRC modulo 
  10696. Pllb_C2p_blit_Blit_DModulo:      dc.w 0        ; Dest Modulo
  10697. Pllb_C2p_blit_Source_Offset_Table:      dc.w 0,4,2,6,8,12,10,14
  10698.  
  10699. Pllb_C2P_Temp_Image_buffer:    dc.l 0        ; Buffer Must Be CHIPRAM
  10700. Pllb_C2P_Display_Frame_buffer:    dc.l 0
  10701.  
  10702. Pllb_C2P_Chunky_Frame_bufferA:    dc.l 0
  10703. Pllb_C2P_Chunky_Frame_bufferB    dc.l 0
  10704.  
  10705.  
  10706.  
  10707.  
  10708. Pllb_C2p_blitter_resort_frame:
  10709.  
  10710.     tst.w Pllb_C2p_blit_flag            ; Check if C2P flag is set
  10711.     beq.w Pllb_C2p_blitter_resort_frame_done
  10712.  
  10713.         btst #14,$dff002        ; check if blitter active
  10714.         bne.b Pllb_C2p_blitter_resort_frame_done
  10715.  
  10716. Pllb_C2p_blitter_resort_frame2:
  10717.  
  10718.     movem.l d0/a0/a1/a6,-(a7)
  10719.  
  10720.     moveq.l #0,d0
  10721.     
  10722.     Move.l Pllb_C2p_Temp_Image_buffer,a0
  10723.     move.w Pllb_C2p_blit_Bitplane(pc),d0
  10724.     lsl.w #1,d0
  10725.     move.w Pllb_C2p_blit_source_offset_table(pc,d0),d0
  10726.  
  10727.     add.l d0,a0
  10728.  
  10729.  
  10730.     move.l Pllb_C2P_Display_Frame_buffer(pc),a1
  10731.     move.w Pllb_C2p_blit_PlaneSize(pc),d0    
  10732.     mulu Pllb_C2p_blit_Bitplane(pc),d0        ; d1 = bitplanesize * bitplane 
  10733.     add.l d0,a1
  10734.  
  10735.     lea.l $dff040,a6        ; a6 ='s hardware base
  10736.  
  10737.     move.l #$09f00000,(a6)+        ; set miniterm and enable channels A&D
  10738.     move.l #$ffffffff,(a6)+        ; set end of line masks    
  10739.     move.l Pllb_C2p_blit_Blit_AModulo(pc),$64-$48(a6)
  10740.  
  10741.  
  10742.     move.l a0,$50-$48(a6)
  10743.     move.l a1,$54-$48(a6)
  10744.     move.w Pllb_C2p_blit_PlaneSize2(pc),$5c-$48(a6)    ; Height
  10745.     move.w #1,$5e-$48(a6)                ; width
  10746.  
  10747.     lea.l Pllb_C2p_blit_Bitplane_max(pc),a0
  10748.     move.w (a0)+,d0
  10749.  
  10750.     addq.w #1,(a0)
  10751.  
  10752.     cmp.w (a0),d0
  10753.     bne.b Pllb_C2p_blitter_resort_frame_done2    
  10754.  
  10755.         clr.w (a0)        ;reset Bitplane counter
  10756.         clr.w Pllb_C2p_blit_flag
  10757.  
  10758. Pllb_C2p_blitter_resort_frame_done2:
  10759.  
  10760.     movem.l (a7)+,d0/a0/a1/a6
  10761.  
  10762. Pllb_C2p_blitter_resort_frame_done:
  10763.  
  10764.     rts
  10765.  
  10766.  
  10767.  
  10768.  
  10769.  
  10770.  
  10771.  
  10772.  
  10773.  
  10774.  
  10775.  
  10776.  
  10777.  
  10778. ;    -    -    -    -    -    -    -    -    -
  10779.  
  10780. ;            >> PLLB-C2P init Precalc Tables <<
  10781.  
  10782. ;    -    -    -    -    -    -    -    -    -
  10783.  
  10784.  
  10785.  
  10786.  
  10787.  
  10788. Pllb_C2p_init_precalc_tables:
  10789.  
  10790.         tst.w Pllb_C2p_Enabled_Flag
  10791.         beq.b Pllb_C2p_init_precalc_tables_Done
  10792.  
  10793.         moveq.l #0,d0
  10794.         lea.l Pllb_C2p_Init_ColourDepthArray(pc),a0
  10795.         move.w Pllb_C2p_ColourDepth(pc),d0
  10796.         move.l (a0,d0.w),a0    
  10797.  
  10798.         move.w Pllb_C2p_PixelWidth(pc),d0
  10799.         mulu #16,d0
  10800.         add.l d0,a0
  10801.  
  10802.         move.w PllB_C2p_FastRam_BUfferSize(pc),d0
  10803.         add.l d0,a0
  10804.  
  10805.         move.l (a0),a0
  10806.         jsr (a0)
  10807.  
  10808. Pllb_C2p_init_precalc_tables_Done:
  10809.  
  10810.     rts
  10811.  
  10812.  
  10813. Pllb_C2p_Init_ColourDepthArray:
  10814.  
  10815.     dc.l Pllb_C2p_init_4bit_tables_array
  10816.     dc.l Pllb_C2p_init_8bit_tables_array    ;6bit tables, the same as 8bit
  10817.     dc.l Pllb_C2p_init_8bit_tables_array
  10818.  
  10819.  
  10820. Pllb_C2p_init_4bit_tables_array:
  10821.  
  10822.     ; 4bit single pixel width
  10823.  
  10824.     dc.l Pllb_C2p_init_4Bit_1by1_512k_tables
  10825.     dc.l Pllb_C2p_init_4Bit_1by1_512k_tables
  10826.     dc.l Pllb_C2p_init_4Bit_1by1_512k_tables
  10827.     dc.l Pllb_C2p_init_4Bit_1by1_512k_tables
  10828.  
  10829.     ; 4bit double pixel width
  10830.  
  10831.     dc.l Pllb_C2p_init_4Bit_2by1_512k_tables
  10832.     dc.l Pllb_C2p_init_4Bit_2by1_512k_tables
  10833.     dc.l Pllb_C2p_init_4Bit_2by1_512k_tables
  10834.     dc.l Pllb_C2p_init_4Bit_2by1_512k_tables
  10835.  
  10836.     ; 4bit Quad pixel width
  10837.  
  10838.     dc.l Pllb_C2p_init_4Bit_4by1_512k_tables
  10839.     dc.l Pllb_C2p_init_4Bit_4by1_512k_tables
  10840.     dc.l Pllb_C2p_init_4Bit_4by1_512k_tables
  10841.     dc.l Pllb_C2p_init_4Bit_4by1_512k_tables
  10842.  
  10843.  
  10844.  
  10845.  
  10846. Pllb_C2p_init_8bit_tables_array:
  10847.  
  10848.     ; 8bit single pixel width
  10849.  
  10850.     dc.l Pllb_C2p_init_8Bit_1by1_512k_tables
  10851.     dc.l Pllb_C2p_init_8Bit_1by1_1Meg_tables
  10852.     dc.l Pllb_C2p_init_8Bit_1by1_1_5Meg_tables
  10853.     dc.l Pllb_C2p_init_8Bit_1by1_2Meg_tables
  10854.  
  10855.     ; 8bit double pixel width
  10856.  
  10857.     dc.l Pllb_C2p_init_8Bit_2by1_512k_tables
  10858.     dc.l Pllb_C2p_init_8Bit_2by1_1meg_tables
  10859.     dc.l Pllb_C2p_init_8Bit_2by1_1meg_tables
  10860.     dc.l Pllb_C2p_init_8Bit_2by1_1meg_tables
  10861.  
  10862.     ; 8bit quad pixel width
  10863.  
  10864.     dc.l Pllb_C2p_init_8Bit_4by1_512k_tables
  10865.     dc.l Pllb_C2p_init_8Bit_4by1_512k_tables
  10866.     dc.l Pllb_C2p_init_8Bit_4by1_512k_tables
  10867.     dc.l Pllb_C2p_init_8Bit_4by1_512k_tables
  10868.  
  10869.  
  10870.  
  10871. ;    -    -    -    -    -    -    -    -    -
  10872.  
  10873.  
  10874.  
  10875.  
  10876.  
  10877. Pllb_C2p_init_8bit_pixelwidth2:
  10878.  
  10879.     lea.l Pllb_C2p_Temp_Comb_buffer(pc),a0
  10880.  
  10881.     moveq.l #0,d0
  10882.  
  10883.     move.w #255,d7
  10884.  
  10885. Pllb_C2p_init_8bit_pixelwidth2_LP:
  10886.  
  10887.  
  10888.     move.l d0,d1
  10889.  
  10890.  
  10891.     move.l d1,d2
  10892.     and.b #1,d2
  10893.     lsl.l #8,d2
  10894.     lsr.l #1,d1
  10895.  
  10896.     move.b d1,d2
  10897.     and.b #1,d2
  10898.     lsl.l #8,d2
  10899.     lsr.l #1,d1
  10900.  
  10901.     move.b d1,d2
  10902.     and.b #1,d2
  10903.     lsl.l #8,d2
  10904.     lsr.l #1,d1
  10905.  
  10906.     move.b d1,d2
  10907.     and.b #1,d2
  10908.     lsr.l #1,d1
  10909.  
  10910.     move.l d2,d3        ; merge (double bits)
  10911.     lsl.l #1,d2
  10912.     or.l d3,d2
  10913.     move.l d2,(a0)+
  10914.  
  10915.  
  10916.     move.b d1,d2
  10917.     and.b #1,d2
  10918.     lsl.l #8,d2
  10919.     lsr.l #1,d1
  10920.  
  10921.     move.b d1,d2
  10922.     and.b #1,d2
  10923.     lsl.l #8,d2
  10924.     lsr.l #1,d1
  10925.  
  10926.     move.b d1,d2
  10927.     and.b #1,d2
  10928.     lsl.l #8,d2
  10929.     lsr.l #1,d1
  10930.  
  10931.     move.b d1,d2
  10932.     and.b #1,d2
  10933.     lsr.l #1,d1
  10934.  
  10935.     move.l d2,d3        ; merge (double bits)
  10936.     lsl.l #1,d2
  10937.     or.l d3,d2
  10938.     move.l d2,(a0)+
  10939.  
  10940.     addq.l #1,d0
  10941.     dbf d7,Pllb_C2p_init_8bit_pixelwidth2_LP
  10942.  
  10943.     rts
  10944.     
  10945.  
  10946.  
  10947.  
  10948.  
  10949.  
  10950.  
  10951.  
  10952.  
  10953.  
  10954.  
  10955.  
  10956.  
  10957. Pllb_C2p_init_8bit_pixelwidth1:
  10958.  
  10959.  
  10960.     lea.l Pllb_C2p_Temp_Comb_buffer(pc),a0
  10961.  
  10962.  
  10963.     moveq.l #0,d0
  10964.  
  10965.     move.w #255,d7
  10966.  
  10967. Pllb_C2p_init_8bit_pixelwidth1_lp:
  10968.  
  10969.     move.l d0,d1
  10970.  
  10971.     move.l d1,d2
  10972.     and.b #1,d2
  10973.     move.b d2,(a0)+
  10974.     lsr.l #1,d1
  10975.  
  10976.     move.l d1,d2
  10977.     and.b #1,d2
  10978.     move.b d2,(a0)+
  10979.     lsr.l #1,d1
  10980.  
  10981.     move.l d1,d2
  10982.     and.b #1,d2
  10983.     move.b d2,(a0)+
  10984.     lsr.l #1,d1
  10985.  
  10986.     move.l d1,d2
  10987.     and.b #1,d2
  10988.     move.b d2,(a0)+
  10989.     lsr.l #1,d1
  10990.  
  10991.     move.l d1,d2
  10992.     and.b #1,d2
  10993.     move.b d2,(a0)+
  10994.     lsr.l #1,d1
  10995.  
  10996.     move.l d1,d2
  10997.     and.b #1,d2
  10998.     move.b d2,(a0)+
  10999.     lsr.l #1,d1
  11000.  
  11001.     move.l d1,d2
  11002.     and.b #1,d2
  11003.     move.b d2,(a0)+
  11004.     lsr.l #1,d1
  11005.     move.b d1,(a0)+
  11006.  
  11007.     addq.l #1,d0
  11008.     dbf d7,Pllb_C2p_init_8bit_pixelwidth1_lp
  11009.     rts
  11010.     
  11011.  
  11012.  
  11013.  
  11014.  
  11015.  
  11016.  
  11017.  
  11018.  
  11019. Pllb_C2p_init_8bit_pixelwidth4:
  11020.  
  11021.     lea.l Pllb_C2p_Temp_Comb_buffer(pc),a0
  11022.  
  11023.     moveq.l #0,d0
  11024.  
  11025.     move.w #255,d7
  11026.  
  11027. Pllb_C2p_init_8bit_pixelwidth4_lp:
  11028.  
  11029.     move.l d0,d1
  11030.  
  11031.     move.l d1,d2
  11032.     and.b #1,d2
  11033.     lsl.l #8,d2
  11034.     lsr.l #1,d1
  11035.  
  11036.     move.b d1,d2
  11037.     and.b #1,d2
  11038.     lsl.l #8,d2
  11039.     lsr.l #1,d1
  11040.  
  11041.     move.b d1,d2
  11042.     and.b #1,d2
  11043.     lsl.l #8,d2
  11044.     lsr.l #1,d1
  11045.  
  11046.     move.b d1,d2
  11047.     and.b #1,d2
  11048.     lsr.l #1,d1
  11049.  
  11050.     move.l d2,d3        ; merge (double bits)
  11051.     lsl.l #1,d2
  11052.     or.l d3,d2
  11053.     lsl.l #1,d2
  11054.     or.l d3,d2
  11055.     lsl.l #1,d2
  11056.     or.l d3,d2
  11057.     move.l d2,(a0)+
  11058.  
  11059.  
  11060.     move.b d1,d2
  11061.     and.b #1,d2
  11062.     lsl.l #8,d2
  11063.     lsr.l #1,d1
  11064.  
  11065.     move.b d1,d2
  11066.     and.b #1,d2
  11067.     lsl.l #8,d2
  11068.     lsr.l #1,d1
  11069.  
  11070.     move.b d1,d2
  11071.     and.b #1,d2
  11072.     lsl.l #8,d2
  11073.     lsr.l #1,d1
  11074.  
  11075.     move.b d1,d2
  11076.  
  11077.     move.l d2,d3        ; Quad merge the bits
  11078.     lsl.l #1,d2
  11079.     or.l d3,d2
  11080.     lsl.l #1,d2
  11081.     or.l d3,d2
  11082.     lsl.l #1,d2
  11083.     or.l d3,d2
  11084.     move.l d2,(a0)+
  11085.  
  11086.     addq.l #1,d0
  11087.     dbf d7,Pllb_C2p_init_8bit_pixelwidth4_lp
  11088.  
  11089.     rts
  11090.     
  11091.  
  11092.  
  11093.  
  11094.  
  11095. ;    -    -    -    -    -    -    -    -    -
  11096.  
  11097.  
  11098.  
  11099. Pllb_c2p_init_registers:
  11100.  
  11101.     move.l Pllb_C2p_FastBuffer_PointerA(pc),a0
  11102.     move.l Pllb_C2p_FastBuffer_PointerB(pc),a3
  11103.     move.l Pllb_C2p_FastBuffer_PointerC(pc),a4
  11104.     move.l Pllb_C2p_FastBuffer_PointerD(pc),a5
  11105.  
  11106.     move.l a0,d0
  11107.     add.l a3,d0    
  11108.     add.l a4,d0    
  11109.     add.l a5,d0    
  11110.  
  11111.     lea.l Pllb_C2p_Temp_Comb_buffer(pc),a1
  11112.  
  11113.     move.w #255,d7
  11114.     rts
  11115.  
  11116.  
  11117. Pllb_c2p_init_failed_no_fastram:
  11118.  
  11119.     move.w #Pllb_c2p_Not_Active,Pllb_C2p_Enabled_Flag
  11120.  
  11121.  
  11122.     rts
  11123.  
  11124.  
  11125. ;    -    -    -    -    -    -    -    -    -
  11126.  
  11127. ;                 >> PLLB_C2p Init 8bit tables <<
  11128.  
  11129. ;              Normal Single Pixel width init routine
  11130.  
  11131. ;                 >> 512k version <<
  11132.  
  11133. ;    -    -    -    -    -    -    -    -    -
  11134.  
  11135.  
  11136. Pllb_C2p_init_8Bit_1by1_512k_tables:
  11137.  
  11138.  
  11139.     bsr Pllb_C2p_init_8bit_pixelwidth1
  11140.  
  11141.     bsr Pllb_c2p_init_registers
  11142.  
  11143.  
  11144.     tst.l d0
  11145.     beq Pllb_c2p_init_failed_no_fastram
  11146.  
  11147.  
  11148. Pllb_C2p_init_8Bit_1by1_512k_tables_ylp:
  11149.  
  11150.     move.l (a1)+,d0
  11151.     move.l (a1)+,d1
  11152.  
  11153.     lsl.l #1,d0
  11154.     lsl.l #1,d1
  11155.     
  11156.     lea.l Pllb_C2p_Temp_Comb_buffer(pc),a2
  11157.  
  11158.  
  11159.     move.w #255,d6
  11160.  
  11161. Pllb_C2p_init_8Bit_1by1_512k_tables_xlp:
  11162.  
  11163.         move.l (a2)+,d2
  11164.         move.l (a2)+,d3
  11165.         or.l d0,d2
  11166.         or.l d1,d3
  11167.         move.l d2,(a0)+        
  11168.         move.l d3,(a0)+        
  11169.  
  11170.         dbf d6,Pllb_C2p_init_8Bit_1by1_512k_tables_xlp
  11171.  
  11172.     dbf d7,Pllb_C2p_init_8Bit_1by1_512k_tables_ylp
  11173.      rts
  11174.     
  11175.  
  11176.  
  11177.  
  11178. ;    -    -    -    -    -    -    -    -    -
  11179.  
  11180. ;                  >> PLLB_C2p Init tables <<
  11181.  
  11182. ;              Normal Single Pixel width init routine
  11183.  
  11184. ;                 >> 1meg version <<
  11185.  
  11186. ;    -    -    -    -    -    -    -    -    -
  11187.  
  11188.  
  11189. Pllb_C2p_init_8Bit_1by1_1Meg_tables:
  11190.  
  11191.     bsr Pllb_C2p_init_8bit_pixelwidth1
  11192.  
  11193.     bsr Pllb_c2p_init_registers
  11194.  
  11195.  
  11196.     tst.l d0
  11197.     beq Pllb_c2p_init_failed_no_fastram
  11198.  
  11199.  
  11200. Pllb_C2p_init_8Bit_1by1_1Meg_tables_ylp:
  11201.  
  11202.     move.l (a1)+,d0
  11203.     move.l (a1)+,d1
  11204.  
  11205.     lsl.l #1,d0
  11206.     lsl.l #1,d1
  11207.     
  11208.  
  11209.     lea.l Pllb_C2p_Temp_Comb_buffer(pc),a2
  11210.  
  11211.  
  11212.     move.w #255,d6
  11213.  
  11214. Pllb_C2p_init_8Bit_1by1_1Meg_tables_xlp:
  11215.  
  11216.         move.l (a2)+,d2
  11217.         move.l (a2)+,d3
  11218.         or.l d0,d2
  11219.         or.l d1,d3
  11220.         move.l d2,(a0)+        
  11221.         move.l d3,(a0)+        
  11222.         lsl.l #2,d2
  11223.         lsl.l #2,d3
  11224.         move.l d2,(a3)+        
  11225.         move.l d3,(a3)+        
  11226.  
  11227.         dbf d6,Pllb_C2p_init_8Bit_1by1_1Meg_tables_xlp
  11228.  
  11229.     dbf d7,Pllb_C2p_init_8Bit_1by1_1meg_tables_ylp
  11230.      rts
  11231.     
  11232.  
  11233.  
  11234.  
  11235.  
  11236. ;    -    -    -    -    -    -    -    -    -
  11237.  
  11238. ;                  >> PLLB_C2p Init tables <<
  11239.  
  11240. ;              Normal Single Pixel width init routine
  11241.  
  11242. ;                 >> 1_5meg version <<
  11243.  
  11244. ;    -    -    -    -    -    -    -    -    -
  11245.  
  11246.  
  11247. Pllb_C2p_init_8Bit_1by1_1_5meg_tables:
  11248.  
  11249.     bsr Pllb_C2p_init_8bit_pixelwidth1
  11250.  
  11251.     bsr Pllb_c2p_init_registers
  11252.  
  11253.     tst.l d0
  11254.     beq Pllb_c2p_init_failed_no_fastram
  11255.  
  11256.  
  11257. Pllb_C2p_init_8Bit_1by1_1_5meg_tables_ylp:
  11258.  
  11259.     move.l (a1)+,d0
  11260.     move.l (a1)+,d1
  11261.  
  11262.     lsl.l #1,d0
  11263.     lsl.l #1,d1
  11264.     
  11265.     lea.l Pllb_C2p_Temp_Comb_buffer(pc),a2
  11266.  
  11267.     move.w #255,d6
  11268.  
  11269. Pllb_C2p_init_8Bit_1by1_1_5meg_tables_xlp:
  11270.  
  11271.         move.l (a2)+,d2
  11272.         move.l (a2)+,d3
  11273.         or.l d0,d2
  11274.         or.l d1,d3
  11275.         move.l d2,(a0)+        
  11276.         move.l d3,(a0)+        
  11277.         lsl.l #2,d2
  11278.         lsl.l #2,d3
  11279.         move.l d2,(a3)+        
  11280.         move.l d3,(a3)+        
  11281.         lsl.l #2,d2
  11282.         lsl.l #2,d3
  11283.         move.l d2,(a4)+        
  11284.         move.l d3,(a4)+        
  11285.  
  11286.         dbf d6,Pllb_C2p_init_8Bit_1by1_1_5meg_tables_xlp
  11287.  
  11288.     dbf d7,Pllb_C2p_init_8Bit_1by1_1_5meg_tables_ylp
  11289.      rts
  11290.     
  11291.  
  11292.  
  11293.  
  11294.  
  11295.  
  11296.  
  11297.  
  11298.  
  11299.  
  11300.  
  11301.  
  11302. ;    -    -    -    -    -    -    -    -    -
  11303.  
  11304. ;                  >> PLLB_C2p Init tables <<
  11305.  
  11306. ;              Normal Single Pixel width init routine
  11307.  
  11308. ;                 >> 2meg version <<
  11309.  
  11310. ;    -    -    -    -    -    -    -    -    -
  11311.  
  11312.  
  11313. Pllb_C2p_init_8Bit_1by1_2meg_tables:
  11314.  
  11315.     bsr Pllb_C2p_init_8bit_pixelwidth1
  11316.  
  11317.     bsr Pllb_c2p_init_registers
  11318.  
  11319.     tst.l d0
  11320.     beq Pllb_c2p_init_failed_no_fastram
  11321.  
  11322.  
  11323. Pllb_C2p_init_8Bit_1by1_2meg_tables_ylp:
  11324.  
  11325.     move.l (a1)+,d0
  11326.     move.l (a1)+,d1
  11327.  
  11328.     lsl.l #1,d0
  11329.     lsl.l #1,d1
  11330.     
  11331.     lea.l Pllb_C2p_Temp_Comb_buffer(pc),a2
  11332.  
  11333.     move.w #255,d6
  11334.  
  11335. Pllb_C2p_init_8Bit_1by1_2meg_tables_xlp:
  11336.  
  11337.         move.l (a2)+,d2
  11338.         move.l (a2)+,d3
  11339.         or.l d0,d2
  11340.         or.l d1,d3
  11341.         move.l d2,(a0)+        
  11342.         move.l d3,(a0)+        
  11343.         lsl.l #2,d2
  11344.         lsl.l #2,d3
  11345.         move.l d2,(a3)+        
  11346.         move.l d3,(a3)+        
  11347.         lsl.l #2,d2
  11348.         lsl.l #2,d3
  11349.         move.l d2,(a4)+        
  11350.         move.l d3,(a4)+        
  11351.         lsl.l #2,d2
  11352.         lsl.l #2,d3
  11353.         move.l d2,(a5)+        
  11354.         move.l d3,(a5)+        
  11355.  
  11356.         dbf d6,Pllb_C2p_init_8Bit_1by1_2meg_tables_xlp
  11357.  
  11358.     dbf d7,Pllb_C2p_init_8bit_1by1_2meg_tables_ylp
  11359.      rts
  11360.     
  11361.  
  11362.  
  11363.  
  11364.  
  11365.  
  11366. ;    -    -    -    -    -    -    -    -    -
  11367.  
  11368. ;                  >> PLLB_C2p Init tables <<
  11369.  
  11370. ;                      DOUBLE Pixel width
  11371.  
  11372. ;                 >> 512k version <<
  11373.  
  11374. ;    -    -    -    -    -    -    -    -    -
  11375.  
  11376.  
  11377. Pllb_C2p_init_8Bit_2by1_512k_tables:
  11378.  
  11379.     bsr Pllb_C2p_init_8bit_pixelwidth2
  11380.  
  11381.     bsr Pllb_c2p_init_registers
  11382.  
  11383.     tst.l d0
  11384.     beq Pllb_c2p_init_failed_no_fastram
  11385.  
  11386.  
  11387. Pllb_C2p_init_8Bit_2by1_512k_tables_ylp:
  11388.  
  11389.     move.l (a1)+,d0
  11390.     move.l (a1)+,d1
  11391.  
  11392.     lsl.l #2,d0
  11393.     lsl.l #2,d1
  11394.  
  11395.     lea.l Pllb_C2p_Temp_Comb_buffer(pc),a2
  11396.  
  11397.     move.w #255,d6
  11398.  
  11399. Pllb_C2p_init_8Bit_2by1_512k_tables_xlp:
  11400.  
  11401.         move.l (a2)+,d2
  11402.         move.l (a2)+,d3
  11403.  
  11404.         or.l d0,d2
  11405.         or.l d1,d3
  11406.         move.l d2,(a0)+        
  11407.         move.l d3,(a0)+        
  11408.  
  11409.         lsl.l #4,d2
  11410.         lsl.l #4,d3
  11411.         move.l d2,(a3)+        
  11412.         move.l d3,(a3)+        
  11413.         
  11414.  
  11415.         dbf d6,Pllb_C2p_init_8Bit_2by1_512k_tables_xlp
  11416.  
  11417.     dbf d7,Pllb_C2p_init_8Bit_2by1_512k_tables_ylp
  11418.     rts
  11419.     
  11420.  
  11421.  
  11422.  
  11423.  
  11424.  
  11425.  
  11426.  
  11427.  
  11428.  
  11429.  
  11430. ;    -    -    -    -    -    -    -    -    -
  11431.  
  11432. ;                  >> PLLB_C2p Init tables <<
  11433.  
  11434. ;                      DOUBLE Pixel width
  11435.  
  11436. ;                 >> 1meg version <<
  11437.  
  11438. ;    -    -    -    -    -    -    -    -    -
  11439.  
  11440.  
  11441. Pllb_C2p_init_8Bit_2by1_1meg_tables:
  11442.  
  11443.     bsr Pllb_C2p_init_8bit_pixelwidth2
  11444.  
  11445.     bsr Pllb_c2p_init_registers
  11446.  
  11447.     tst.l d0
  11448.     beq Pllb_c2p_init_failed_no_fastram
  11449.  
  11450.  
  11451. Pllb_C2p_init_8Bit_2by1_1meg_tables_ylp:
  11452.  
  11453.     move.l (a1)+,d0
  11454.     move.l (a1)+,d1
  11455.  
  11456.     lsl.l #2,d0
  11457.     lsl.l #2,d1
  11458.  
  11459.     lea.l Pllb_C2p_Temp_Comb_buffer(pc),a2
  11460.  
  11461.     move.w #255,d6
  11462.  
  11463. Pllb_C2p_init_8Bit_2by1_1meg_tables_xlp:
  11464.  
  11465.         move.l (a2)+,d2
  11466.         move.l (a2)+,d3
  11467.  
  11468.         or.l d0,d2
  11469.         or.l d1,d3
  11470.         move.l d2,(a0)+        
  11471.         move.l d3,(a0)+        
  11472.  
  11473.         lsl.l #4,d2
  11474.         lsl.l #4,d3
  11475.         move.l d2,(a3)+        
  11476.         move.l d3,(a3)+        
  11477.         
  11478.  
  11479.         dbf d6,Pllb_C2p_init_8Bit_2by1_1meg_tables_xlp
  11480.  
  11481.     
  11482.     dbf d7,Pllb_C2p_init_8Bit_2by1_1meg_tables_ylp
  11483.  
  11484.     rts
  11485.     
  11486.  
  11487.  
  11488. ;    -    -    -    -    -    -    -    -    -
  11489.  
  11490. ;                  >> PLLB_C2p Init tables <<
  11491.  
  11492. ;                      DOUBLE Pixel width
  11493.  
  11494. ;                 >> 512k version <<
  11495.  
  11496. ;    -    -    -    -    -    -    -    -    -
  11497.  
  11498.  
  11499. Pllb_C2p_init_8Bit_4by1_512k_tables:
  11500.  
  11501.     bsr Pllb_C2p_init_8bit_pixelwidth4
  11502.  
  11503.     bsr Pllb_c2p_init_registers
  11504.  
  11505.     tst.l d0
  11506.     beq Pllb_c2p_init_failed_no_fastram
  11507.  
  11508.  
  11509. Pllb_C2p_init_8Bit_4by1_512k_tables_ylp:
  11510.  
  11511.     move.l (a1)+,d0
  11512.     move.l (a1)+,d1
  11513.  
  11514.     lsl.l #4,d0
  11515.     lsl.l #4,d1
  11516.  
  11517.     lea.l Pllb_C2p_Temp_Comb_buffer(pc),a2
  11518.  
  11519.  
  11520.     move.w #255,d6
  11521.  
  11522. Pllb_C2p_init_8Bit_4by1_512k_tables_xlp:
  11523.  
  11524.         move.l (a2)+,d2
  11525.         move.l (a2)+,d3
  11526.         or.l d0,d2
  11527.         or.l d1,d3
  11528.         move.l d2,(a0)+        
  11529.         move.l d3,(a0)+        
  11530.  
  11531.         dbf d6,Pllb_C2p_init_8Bit_4by1_512k_tables_xlp
  11532.  
  11533.     dbf d7,Pllb_C2p_init_8Bit_4by1_512k_tables_ylp
  11534.  
  11535.     rts
  11536.     
  11537.  
  11538.  
  11539.  
  11540.  
  11541.  
  11542. ;    -    -    -    -    -    -    -    -    -
  11543.  
  11544. ;                 >> PLLB_C2p Init 4bit tables <<
  11545.  
  11546. ;                 QUAD Pixel width init routine
  11547.  
  11548. ;                 >> 512k version <<
  11549.  
  11550. ;    -    -    -    -    -    -    -    -    -
  11551.  
  11552. Pllb_C2p_init_4Bit_4by1_512k_tables:
  11553.  
  11554.     bsr Pllb_C2p_init_8bit_pixelwidth4
  11555.  
  11556.     bsr Pllb_c2p_init_registers
  11557.  
  11558.     tst.l d0
  11559.     beq Pllb_c2p_init_failed_no_fastram
  11560.  
  11561.  
  11562. Pllb_C2p_init_4Bit_4by1_512k_tables_ylp:
  11563.  
  11564.     move.l (a1)+,d0
  11565.     move.l (a1)+,d1
  11566.  
  11567.     lsl.l #4,d1
  11568.     or.l d0,d1
  11569.  
  11570.     lea.l Pllb_C2p_Temp_Comb_buffer(pc),a2
  11571.  
  11572.     move.w #255,d6
  11573.  
  11574. Pllb_C2p_init_4Bit_4by1_512k_tables_xlp:
  11575.  
  11576.         move.l (a2)+,d2
  11577.         move.l (a2)+,d3
  11578.  
  11579.         lsl.l #4,d3
  11580.         or.l d2,d3
  11581.  
  11582.         move.l d1,d2
  11583.  
  11584.         move.l d1,(a0)        
  11585.         move.l d3,4(a0)
  11586.  
  11587.         move.b (a0),d2
  11588.         lsl.l #8,d2
  11589.         move.b 4(a0),d2
  11590.         swap d2
  11591.         move.b 2(a0),d2
  11592.         lsl.w #8,d2
  11593.         move.b 6(a0),d2
  11594.  
  11595.         move.b 1(a0),d3
  11596.         lsl.l #8,d3
  11597.         move.b 5(a0),d3
  11598.         swap d3
  11599.         move.b 3(a0),d3
  11600.         lsl.w #8,d3
  11601.         move.b 7(a0),d3
  11602.     
  11603.         move.l d2,(a0)+        
  11604.         move.l d3,(a0)+
  11605.  
  11606.         dbf d6,Pllb_C2p_init_4Bit_4by1_512k_tables_xlp
  11607.  
  11608.     dbf d7,Pllb_C2p_init_4Bit_4by1_512k_tables_ylp
  11609.     rts
  11610.     
  11611.  
  11612.  
  11613.  
  11614.  
  11615. ;    -    -    -    -    -    -    -    -    -
  11616.  
  11617. ;                 >> PLLB_C2p Init 4bit tables <<
  11618.  
  11619. ;                 DOUBLE Pixel width init routine
  11620.  
  11621. ;                 >> 512k version <<
  11622.  
  11623. ;    -    -    -    -    -    -    -    -    -
  11624.  
  11625.  
  11626. Pllb_C2p_init_4Bit_2by1_512k_tables:
  11627.  
  11628.     bsr Pllb_C2p_init_8bit_pixelwidth2
  11629.  
  11630.     bsr Pllb_c2p_init_registers
  11631.  
  11632.     tst.l d0
  11633.     beq Pllb_c2p_init_failed_no_fastram
  11634.  
  11635.  
  11636. Pllb_C2p_init_4Bit_2by1_512k_tables_ylp:
  11637.  
  11638.     move.l (a1)+,d0
  11639.     move.l (a1)+,d1
  11640.  
  11641.     lsl.l #4,d1
  11642.     or.l d0,d1
  11643.     lsl.l #2,d1
  11644.     
  11645.     lea.l Pllb_C2p_Temp_Comb_buffer(pc),a2
  11646.  
  11647.     move.w #255,d6
  11648.  
  11649. Pllb_C2p_init_4Bit_2by1_512k_tables_xlp:
  11650.  
  11651.         move.l (a2)+,d2
  11652.         move.l (a2)+,d3
  11653.  
  11654.         lsl.l #4,d3
  11655.         or.l d2,d3
  11656.  
  11657.         or.l d1,d3
  11658.         move.l d3,(a0)+        
  11659.  
  11660.     
  11661.         dbf d6,Pllb_C2p_init_4Bit_2by1_512k_tables_xlp
  11662.  
  11663.     dbf d7,Pllb_C2p_init_4Bit_2by1_512k_tables_ylp
  11664.  
  11665.     rts
  11666.     
  11667.  
  11668.  
  11669.  
  11670.  
  11671.  
  11672.  
  11673.  
  11674. ;    -    -    -    -    -    -    -    -    -
  11675.  
  11676. ;                 >> PLLB_C2p Init 4bit tables <<
  11677.  
  11678. ;              Normal Single Pixel width init routine
  11679.  
  11680. ;                 >> 512k version <<
  11681.  
  11682. ;    -    -    -    -    -    -    -    -    -
  11683.  
  11684.  
  11685. Pllb_C2p_init_4Bit_1by1_512k_tables:
  11686.  
  11687.     bsr Pllb_C2p_init_8bit_pixelwidth1
  11688.  
  11689.     bsr Pllb_c2p_init_registers
  11690.  
  11691.     tst.l d0
  11692.     beq Pllb_c2p_init_failed_no_fastram
  11693.  
  11694.  
  11695.     move.l a0,a3
  11696.     add.l #4*$10000,a3
  11697.  
  11698. Pllb_C2p_init_4Bit_1by1_512k_tables_YLP:
  11699.  
  11700.     move.l (a1)+,d0
  11701.     move.l (a1)+,d1
  11702.  
  11703.     lsl.l #4,d1
  11704.     or.l d0,d1
  11705.     lsl.l #1,d1
  11706.  
  11707.     lea.l Pllb_C2p_Temp_Comb_buffer(pc),a2
  11708.  
  11709.     move.w #255,d6
  11710.  
  11711.  
  11712. Pllb_C2p_init_4Bit_1by1_512k_tables_XLP:
  11713.  
  11714.         move.l (a2)+,d2
  11715.         move.l (a2)+,d3
  11716.  
  11717.         lsl.l #4,d3
  11718.         or.l d2,d3
  11719.  
  11720.         or.l d1,d3
  11721.         move.l d3,(a0)+        
  11722.  
  11723.         lsl.l #2,d3
  11724.         move.l d3,(a3)+        
  11725.  
  11726.  
  11727.         dbf d6,Pllb_C2p_init_4Bit_1by1_512k_tables_xLP
  11728.  
  11729.  
  11730.     dbf d7,Pllb_C2p_init_4Bit_1by1_512k_tables_YLP
  11731.     rts
  11732.     
  11733.  
  11734.  
  11735.  
  11736.  
  11737.  
  11738.  
  11739.  
  11740.  
  11741. ;    -    -    -    -    -    -    -    -    -
  11742.  
  11743. ;                >> PLLB-C2P Routine Alignment System <<
  11744.  
  11745. ;    -    -    -    -    -    -    -    -    -
  11746.  
  11747.  
  11748. Pllb_C2p_Routine_alignment_system:
  11749.  
  11750.     lea.l Pllb_C2P_Routine_Alignment_System_Table(pc),a0
  11751.  
  11752.     move.w (a0)+,d7
  11753.  
  11754. Pllb_C2P_Routine_Alignment_system_lp:
  11755.  
  11756.     move.l (a0)+,a1        ; base address of routine
  11757.  
  11758.     move.l a1,d0
  11759.     and.l #$fffffff0,d0
  11760.     move.l d0,a2
  11761.  
  11762.     move.l (a0)+,d6
  11763.     subq.w #1,d6
  11764.  
  11765. Pllb_C2P_Routine_Alignment_system_Copylp:
  11766.  
  11767.         move.b (a1)+,(a2)+        
  11768.  
  11769.         dbf d6,Pllb_C2P_Routine_Alignment_system_Copylp
  11770.  
  11771.     dbf d7,Pllb_C2P_Routine_Alignment_system_lp
  11772.  
  11773.     rts
  11774.  
  11775.  
  11776.  
  11777. Pllb_C2P_Routine_Alignment_system_table:
  11778.  
  11779.  dc.w ((Pllb_C2P_Routine_Alignment_system_table_end-Pllb_C2P_Routine_Alignment_system_table_Start)/8)-1
  11780.  
  11781. Pllb_C2P_Routine_Alignment_system_table_Start
  11782.  
  11783.     ; 8 bit c2ps
  11784.  
  11785.     dc.l Pllb_C2p_8bit_512K_1by1_AP
  11786.     dc.l Pllb_C2p_8bit_512k_1by1_APend-Pllb_C2p_8bit_512k_1by1_AP
  11787.     dc.l Pllb_C2p_8bit_1meg_1by1_AP
  11788.     dc.l Pllb_C2p_8bit_1meg_1by1_APend-Pllb_C2p_8bit_1meg_1by1_AP
  11789.     dc.l Pllb_C2p_8bit_1_5meg_1by1_AP
  11790.     dc.l Pllb_C2p_8bit_1_5meg_1by1_APend-Pllb_C2p_8bit_1_5meg_1by1_AP
  11791.     dc.l Pllb_C2p_8bit_2meg_1by1_AP
  11792.     dc.l Pllb_C2p_8bit_2meg_1by1_APend-Pllb_C2p_8bit_2meg_1by1_AP
  11793.  
  11794.     ; delta versions
  11795.  
  11796.     dc.l Pllb_C2p_Delta_8bit_512k_1by1_AP
  11797.     dc.l Pllb_C2p_Delta_8bit_512k_1by1_APend-Pllb_C2p_Delta_8bit_512k_1by1_AP
  11798.     dc.l Pllb_C2p_Delta_8bit_1meg_1by1_AP
  11799.     dc.l Pllb_C2p_Delta_8bit_1meg_1by1_APend-Pllb_C2p_Delta_8bit_1meg_1by1_AP
  11800.     dc.l Pllb_C2p_Delta_8bit_1_5meg_1by1_AP
  11801.     dc.l Pllb_C2p_Delta_8bit_1_5meg_1by1_APend-Pllb_C2p_Delta_8bit_1_5meg_1by1_AP
  11802.     dc.l Pllb_C2p_Delta_8bit_2meg_1by1_AP
  11803.     dc.l Pllb_C2p_Delta_8bit_2meg_1by1_APend-Pllb_C2p_Delta_8bit_2meg_1by1_AP
  11804.  
  11805.  
  11806.     ; null skip version
  11807.  
  11808.     dc.l Pllb_C2p_NullSkip_8bit_512k_1by1_AP
  11809.     dc.l Pllb_C2p_NullSkip_8bit_512k_1by1_APend-Pllb_C2p_NullSkip_8bit_512k_1by1_AP
  11810.     dc.l Pllb_C2p_NullSkip_8bit_1meg_1by1_AP
  11811.     dc.l Pllb_C2p_NullSkip_8bit_1meg_1by1_APend-Pllb_C2p_NullSkip_8bit_1meg_1by1_AP
  11812.     dc.l Pllb_C2p_NullSkip_8bit_1_5meg_1by1_AP
  11813.     dc.l Pllb_C2p_NullSkip_8bit_1_5meg_1by1_APend-Pllb_C2p_NullSkip_8bit_1_5meg_1by1_AP
  11814.     dc.l Pllb_C2p_NullSkip_8bit_2meg_1by1_AP
  11815.     dc.l Pllb_C2p_NullSkip_8bit_2meg_1by1_APend-Pllb_C2p_NullSkip_8bit_2meg_1by1_AP
  11816.  
  11817.  
  11818.  
  11819.  
  11820.  
  11821.     ; null skip version
  11822.  
  11823.     dc.l Pllb_C2p_DeltaNullSkip_8bit_512k_1by1_AP
  11824.     dc.l Pllb_C2p_DeltaNullSkip_8bit_512k_1by1_APend-Pllb_C2p_DeltaNullSkip_8bit_512k_1by1_AP
  11825.     dc.l Pllb_C2p_DeltaNullSkip_8bit_1meg_1by1_AP
  11826.     dc.l Pllb_C2p_DeltaNullSkip_8bit_1meg_1by1_APend-Pllb_C2p_DeltaNullSkip_8bit_1meg_1by1_AP
  11827.     dc.l Pllb_C2p_DeltaNullSkip_8bit_1_5meg_1by1_AP
  11828.     dc.l Pllb_C2p_DeltaNullSkip_8bit_1_5meg_1by1_APend-Pllb_C2p_DeltaNullSkip_8bit_1_5meg_1by1_AP
  11829.  
  11830.  
  11831.     ; 8bit 2by1 modes Normal
  11832.  
  11833.     dc.l Pllb_C2p_8bit_512K_2by1_AP
  11834.     dc.l Pllb_C2p_8bit_512k_2by1_APend-Pllb_C2p_8bit_512k_2by1_AP
  11835.     dc.l Pllb_C2p_8bit_1meg_2by1_AP
  11836.     dc.l Pllb_C2p_8bit_1meg_2by1_APend-Pllb_C2p_8bit_1meg_2by1_AP
  11837.  
  11838.     ; 8bit 2by1 modes Delta
  11839.  
  11840.     dc.l Pllb_C2p_Delta_8bit_512K_2by1_AP
  11841.     dc.l Pllb_C2p_Delta_8Bit_512k_2by1_APend-Pllb_C2p_Delta_8Bit_512k_2by1_AP
  11842.     dc.l Pllb_C2p_Delta_8Bit_1meg_2by1_AP
  11843.     dc.l Pllb_C2p_Delta_8Bit_1meg_2by1_APend-Pllb_C2p_Delta_8bit_1meg_2by1_AP
  11844.  
  11845.     ; 8bit 2by1 modes Nullskip
  11846.  
  11847.     dc.l Pllb_C2p_NullSkip_8bit_512K_2by1_AP
  11848.     dc.l Pllb_C2p_NullSkip_8Bit_512k_2by1_APend-Pllb_C2p_NullSkip_8Bit_512k_2by1_AP
  11849.     dc.l Pllb_C2p_NullSkip_8Bit_1meg_2by1_AP
  11850.     dc.l Pllb_C2p_NullSkip_8Bit_1meg_2by1_APend-Pllb_C2p_NullSkip_8bit_1meg_2by1_AP
  11851.  
  11852.     ; 8bit 2by1 modes DeltaNullSkip
  11853.  
  11854.     dc.l Pllb_C2p_DeltaNullSkip_8bit_512K_2by1_AP
  11855.     dc.l Pllb_C2p_DeltaNullSkip_8Bit_512k_2by1_APend-Pllb_C2p_DeltaNullSkip_8Bit_512k_2by1_AP
  11856.     dc.l Pllb_C2p_DeltaNullSkip_8Bit_1meg_2by1_AP
  11857.     dc.l Pllb_C2p_DeltaNullSkip_8Bit_1meg_2by1_APend-Pllb_C2p_DeltaNullSkip_8bit_1meg_2by1_AP
  11858.  
  11859.  
  11860.  
  11861.     ; 8bit 4by1 modes Normal
  11862.  
  11863.     dc.l Pllb_C2p_8bit_512K_4by1_AP
  11864.     dc.l Pllb_C2p_8bit_512k_4by1_APend-Pllb_C2p_8bit_512k_4by1_AP
  11865.     ; 8bit 4by1 modes Delta
  11866.     dc.l Pllb_C2p_Delta_8bit_512K_4by1_AP
  11867.     dc.l Pllb_C2p_Delta_8Bit_512k_4by1_APend-Pllb_C2p_Delta_8Bit_512k_4by1_AP
  11868.  
  11869.     ; 8bit 4by1 modes Nillskip
  11870.     dc.l Pllb_C2p_NullSkip_8bit_512K_4by1_AP
  11871.     dc.l Pllb_C2p_NullSkip_8Bit_512k_4by1_APend-Pllb_C2p_NullSkip_8Bit_512k_4by1_AP
  11872.  
  11873.  
  11874.     ; 8bit 4by1 modes DeltaNullSkip
  11875.     dc.l Pllb_C2p_DeltaNullSkip_8bit_512K_4by1_AP
  11876.     dc.l Pllb_C2p_DeltaNullSkip_8Bit_512k_4by1_APend-Pllb_C2p_DeltaNullSkip_8Bit_512k_4by1_AP
  11877.  
  11878.  
  11879.  
  11880.     ; 6 bit C2p's    1by1
  11881.     
  11882.  
  11883.     dc.l Pllb_C2p_6bit_512K_1by1_AP
  11884.     dc.l Pllb_C2p_6bit_512k_1by1_APend-Pllb_C2p_6bit_512k_1by1_AP
  11885.     dc.l Pllb_C2p_6bit_1meg_1by1_AP
  11886.     dc.l Pllb_C2p_6bit_1meg_1by1_APend-Pllb_C2p_6bit_1meg_1by1_AP
  11887.     dc.l Pllb_C2p_6bit_1_5meg_1by1_AP
  11888.     dc.l Pllb_C2p_6bit_1_5meg_1by1_APend-Pllb_C2p_6bit_1_5meg_1by1_AP
  11889.     dc.l Pllb_C2p_6bit_2meg_1by1_AP
  11890.     dc.l Pllb_C2p_6bit_2meg_1by1_APend-Pllb_C2p_6bit_2meg_1by1_AP
  11891.  
  11892.  
  11893.     ; delta versions
  11894.  
  11895.     dc.l Pllb_C2p_Delta_6bit_512k_1by1_AP
  11896.     dc.l Pllb_C2p_Delta_6bit_512k_1by1_APend-Pllb_C2p_Delta_6bit_512k_1by1_AP
  11897.     dc.l Pllb_C2p_Delta_6bit_1meg_1by1_AP
  11898.     dc.l Pllb_C2p_Delta_6bit_1meg_1by1_APend-Pllb_C2p_Delta_6bit_1meg_1by1_AP
  11899.     dc.l Pllb_C2p_Delta_6bit_1_5meg_1by1_AP
  11900.     dc.l Pllb_C2p_Delta_6bit_1_5meg_1by1_APend-Pllb_C2p_Delta_6bit_1_5meg_1by1_AP
  11901.     dc.l Pllb_C2p_Delta_6bit_2meg_1by1_AP
  11902.     dc.l Pllb_C2p_Delta_6bit_2meg_1by1_APend-Pllb_C2p_Delta_6bit_2meg_1by1_AP
  11903.  
  11904.     ; Nullskip versions
  11905.  
  11906.     dc.l Pllb_C2p_Nullskip_6bit_512k_1by1_AP
  11907.     dc.l Pllb_C2p_Nullskip_6bit_512k_1by1_APend-Pllb_C2p_Nullskip_6bit_512k_1by1_AP
  11908.     dc.l Pllb_C2p_Nullskip_6bit_1meg_1by1_AP
  11909.     dc.l Pllb_C2p_Nullskip_6bit_1meg_1by1_APend-Pllb_C2p_Nullskip_6bit_1meg_1by1_AP
  11910.     dc.l Pllb_C2p_Nullskip_6bit_1_5meg_1by1_AP
  11911.     dc.l Pllb_C2p_Nullskip_6bit_1_5meg_1by1_APend-Pllb_C2p_Nullskip_6bit_1_5meg_1by1_AP
  11912.     dc.l Pllb_C2p_Nullskip_6bit_2meg_1by1_AP
  11913.     dc.l Pllb_C2p_Nullskip_6bit_2meg_1by1_APend-Pllb_C2p_Nullskip_6bit_2meg_1by1_AP
  11914.  
  11915.  
  11916.     ; DeltaNullSkip versions
  11917.  
  11918.     dc.l Pllb_C2p_DeltaNullSkip_6bit_512k_1by1_AP
  11919.     dc.l Pllb_C2p_DeltaNullSkip_6bit_512k_1by1_APend-Pllb_C2p_DeltaNullSkip_6bit_512k_1by1_AP
  11920.     dc.l Pllb_C2p_DeltaNullSkip_6bit_1meg_1by1_AP
  11921.     dc.l Pllb_C2p_DeltaNullSkip_6bit_1meg_1by1_APend-Pllb_C2p_DeltaNullSkip_6bit_1meg_1by1_AP
  11922.     dc.l Pllb_C2p_DeltaNullSkip_6bit_1_5meg_1by1_AP
  11923.     dc.l Pllb_C2p_DeltaNullSkip_6bit_1_5meg_1by1_APend-Pllb_C2p_DeltaNullSkip_6bit_1_5meg_1by1_AP
  11924.  
  11925.  
  11926.  
  11927.  
  11928.  
  11929.     ; 6 bit C2p's    2by1
  11930.     
  11931.     dc.l Pllb_C2p_6bit_512K_2by1_AP
  11932.     dc.l Pllb_C2p_6bit_512k_2by1_APend-Pllb_C2p_6bit_512k_2by1_AP
  11933.     dc.l Pllb_C2p_6bit_1meg_2by1_AP
  11934.     dc.l Pllb_C2p_6bit_1meg_2by1_APend-Pllb_C2p_6bit_1meg_2by1_AP
  11935.  
  11936.     ; delta versions
  11937.  
  11938.     dc.l Pllb_C2p_Delta_6bit_512k_2by1_AP
  11939.     dc.l Pllb_C2p_Delta_6bit_512k_2by1_APend-Pllb_C2p_Delta_6bit_512k_2by1_AP
  11940.     dc.l Pllb_C2p_Delta_6bit_1meg_2by1_AP
  11941.     dc.l Pllb_C2p_Delta_6bit_1meg_2by1_APend-Pllb_C2p_Delta_6bit_1meg_2by1_AP
  11942.  
  11943.     ; nullskip
  11944.     dc.l Pllb_C2p_Nullskip_6bit_512k_2by1_AP
  11945.     dc.l Pllb_C2p_Nullskip_6bit_512k_2by1_APend-Pllb_C2p_Nullskip_6bit_512k_2by1_AP
  11946.     dc.l Pllb_C2p_Nullskip_6bit_1meg_2by1_AP
  11947.     dc.l Pllb_C2p_Nullskip_6bit_1meg_2by1_APend-Pllb_C2p_Nullskip_6bit_1meg_2by1_AP
  11948.  
  11949.  
  11950.  
  11951.  
  11952.     ; DeltaNullSkip
  11953.     dc.l Pllb_C2p_DeltaNullSkip_6bit_512k_2by1_AP
  11954.     dc.l Pllb_C2p_DeltaNullSkip_6bit_512k_2by1_APend-Pllb_C2p_DeltaNullSkip_6bit_512k_2by1_AP
  11955.     dc.l Pllb_C2p_DeltaNullSkip_6bit_1meg_2by1_AP
  11956.     dc.l Pllb_C2p_DeltaNullSkip_6bit_1meg_2by1_APend-Pllb_C2p_DeltaNullSkip_6bit_1meg_2by1_AP
  11957.  
  11958.  
  11959.  
  11960.  
  11961.     ; 6 bit C2p's    4by1
  11962.     
  11963.     dc.l Pllb_C2p_6bit_512K_4by1_AP
  11964.     dc.l Pllb_C2p_6bit_512k_4by1_APend-Pllb_C2p_6bit_512k_4by1_AP
  11965.     ; delta versions
  11966.  
  11967.     dc.l Pllb_C2p_Delta_6bit_512k_4by1_AP
  11968.     dc.l Pllb_C2p_Delta_6bit_512k_4by1_APend-Pllb_C2p_Delta_6bit_512k_4by1_AP
  11969.  
  11970.     ; nullskip
  11971.     dc.l Pllb_C2p_Nullskip_6bit_512k_4by1_AP
  11972.     dc.l Pllb_C2p_Nullskip_6bit_512k_4by1_APend-Pllb_C2p_Nullskip_6bit_512k_4by1_AP
  11973.  
  11974.     ; DeltaNullSkip
  11975.     dc.l Pllb_C2p_DeltaNullSkip_6bit_512k_4by1_AP
  11976.     dc.l Pllb_C2p_DeltaNullSkip_6bit_512k_4by1_APend-Pllb_C2p_DeltaNullSkip_6bit_512k_4by1_AP
  11977.  
  11978.  
  11979.     ; 4 bit C2p's    1by1
  11980.     
  11981.     dc.l Pllb_C2p_4bit_512K_1by1_AP
  11982.     dc.l Pllb_C2p_4bit_512k_1by1_APend-Pllb_C2p_4bit_512k_1by1_AP
  11983.     dc.l Pllb_C2p_Delta_4bit_512k_1by1_AP
  11984.     dc.l Pllb_C2p_Delta_4bit_512k_1by1_APend-Pllb_C2p_Delta_4bit_512k_1by1_AP
  11985.     dc.l Pllb_C2p_Nullskip_4bit_512k_1by1_AP
  11986.     dc.l Pllb_C2p_Nullskip_4bit_512k_1by1_APend-Pllb_C2p_Nullskip_4bit_512k_1by1_AP
  11987.  
  11988.  
  11989.     dc.l Pllb_C2p_DeltaNullSkip_4bit_512k_1by1_AP
  11990.     dc.l Pllb_C2p_DeltaNullSkip_4bit_512k_1by1_APend-Pllb_C2p_DeltaNullSkip_4bit_512k_1by1_AP
  11991.  
  11992.     ; 4 bit C2p's    2by1
  11993.  
  11994.     dc.l Pllb_C2p_4bit_512K_2by1_AP
  11995.     dc.l Pllb_C2p_4bit_512k_2by1_APend-Pllb_C2p_4bit_512k_2by1_AP
  11996.     dc.l Pllb_C2p_Delta_4bit_512k_2by1_AP
  11997.     dc.l Pllb_C2p_Delta_4bit_512k_2by1_APend-Pllb_C2p_Delta_4bit_512k_2by1_AP
  11998.     dc.l Pllb_C2p_Nullskip_4bit_512k_2by1_AP
  11999.     dc.l Pllb_C2p_Nullskip_4bit_512k_2by1_APend-Pllb_C2p_Nullskip_4bit_512k_2by1_AP
  12000.  
  12001.     dc.l Pllb_C2p_DeltaNullSkip_4bit_512k_2by1_AP
  12002.     dc.l Pllb_C2p_DeltaNullSkip_4bit_512k_2by1_APend-Pllb_C2p_DeltaNullSkip_4bit_512k_2by1_AP
  12003.  
  12004.  
  12005.     ; 6 bit C2p's    4by1
  12006.  
  12007.     dc.l Pllb_C2p_4bit_512K_4by1_AP
  12008.     dc.l Pllb_C2p_4bit_512k_4by1_APend-Pllb_C2p_4bit_512k_4by1_AP
  12009.     dc.l Pllb_C2p_Delta_4bit_512k_4by1_AP
  12010.     dc.l Pllb_C2p_Delta_4bit_512k_4by1_APend-Pllb_C2p_Delta_4bit_512k_4by1_AP
  12011.     dc.l Pllb_C2p_Nullskip_4bit_512k_4by1_AP
  12012.     dc.l Pllb_C2p_Nullskip_4bit_512k_4by1_APend-Pllb_C2p_Nullskip_4bit_512k_4by1_AP
  12013.  
  12014.     dc.l Pllb_C2p_DeltaNullSkip_4bit_512k_4by1_AP
  12015.     dc.l Pllb_C2p_DeltaNullSkip_4bit_512k_4by1_APend-Pllb_C2p_DeltaNullSkip_4bit_512k_4by1_AP
  12016.  
  12017.  
  12018.  
  12019. Pllb_C2P_Routine_Alignment_system_table_end:
  12020.  
  12021.  
  12022. Pllb_C2p_Temp_Comb_buffer:
  12023.  
  12024.     blk.b 256*8,0
  12025.  
  12026.  
  12027.  
  12028.  
  12029. ;    -    -    -    -    -    -    -    -    -
  12030.  
  12031. ;            >> End of PLLB-C2P Stuff <<
  12032.  
  12033. ;    -    -    -    -    -    -    -    -    -
  12034.  
  12035.