diff options
Diffstat (limited to 'engines/avalanche/celer2.cpp')
-rw-r--r-- | engines/avalanche/celer2.cpp | 98 |
1 files changed, 0 insertions, 98 deletions
diff --git a/engines/avalanche/celer2.cpp b/engines/avalanche/celer2.cpp index b8e89fd7e5..5fc029e9aa 100644 --- a/engines/avalanche/celer2.cpp +++ b/engines/avalanche/celer2.cpp @@ -325,104 +325,6 @@ void Celer::forget_chunks() { memset(memos, 255, sizeof(memos)); /* x=-1, => on disk. */ } -void Celer::mdrop(int16 x, int16 y, int16 xl, int16 yl, void *p) { /* assembler; -asm - push ds; { Strictly speaking, we shouldn't modify DS, so we'll save it.} - push bp; { Nor BP! - - - { DI holds the offset on this page. It starts at the top left-hand corner. } - { (It should equal ch.y*80+ch.x. } - - mov ax,y; - mov dl,80; - mul dl; { Line offset now calculated. } - mov di,ax; { Move it into DI. } - mov ax,x; - add di,ax; { Full offset now calculated. } - - mov bx,yl; { No. of times to repeat lineloop. } - inc bx; { "loop" doesn't execute the zeroth time. } - mov bh,bl; { Put it into BH. } - - { BP holds the length of the Common::String to copy. It's equal to ch.xl.} - - mov ax,uint16(p); { Data is held at DS:SI. } - mov si,ax; - mov ax,uint16(p+2); { This will be moved over into ds in just a tick... } - - mov bp,xl; - - mov ds,ax; - - - cld; { We're allowed to hack around with the flags! } - - mov ax,$AC00; { Top of the first EGA page. } - mov es,ax; { Offset on this page is calculated below... } - - -{ port[$3c4]:=2; port[$3ce]:=4; } - - mov dx,$3c4; - mov al,2; - out dx,al; - mov dx,$3ce; - mov al,4; - out dx,al; - - mov cx,4; { This loop executes for 3, 2, 1, and 0. } - mov bl,0; - - - @mainloop: - - push di; - push cx; - -{ port[$3C5]:=1 shl bit; } - mov dx,$3C5; - mov al,1; - mov cl,bl; { BL = bit. } - shl al,cl; - out dx,al; -{ port[$3CF]:=bit; } - mov dx,$3CF; - mov al,bl; { BL = bit. } - out dx,al; - - xor ch,ch; - mov cl,bh; { BH = ch.yl. } - - @lineloop: - - push cx; - - mov cx,bp; - - repz movsb; { Copy the data. } - - sub di,bp; - add di,80; - - pop cx; - - loop @lineloop; - - inc bl; { One more on BL. } - - pop cx; - pop di; - - loop @mainloop; - - pop bp; - pop ds; { Get DS back again. } -*/ -} - - - void Celer::display_it(int16 x, int16 y, int16 xl, int16 yl, flavourtype flavour, byte *p) { switch (flavour) { case ch_natural_image: { |