022
25.01.2019, 08:37 Uhr
holm
|
Für 64polige mit internem Oszillator.
@Klaus:
Quellcode: | 0000fc00 bws 0000a000 ram 0000d000 ramend 0000d000 stack 0000cf00 ploc 0000a900 outmem 000000e0 ats 000000f8 atsctc0 000000f9 atsctc1 000000fa atsctc2 000000fa atsctc3 00000080 zvectc0 00000081 zvectc1 00000082 zvectc2 00000083 zvectc3 00000084 zrepioad 00000085 zrepiobd 00000086 zrepioas 00000087 zrepiobs 0000008c zmprotof 0000008d zmproton 000000f0 atssioad 000000f1 atssioas 000000f2 atssiobd 000000f3 atssiobs 00000001 discs 00000002 disres 00000004 disdat 00000008 disclk 0000000d cr 0000000a lf 0000a800 start 0000a809 st1 0000a8cb otxt 0000a8dd otxe 0000a871 sloop 0000a885 cmddisp 0000a899 dispout 0000a8ca dispste 0000a8be dispstr 0000a863 st2 0000a873 slo1 0000a876 loop 0000a879 loop1 0000a89c diloop 0000a8af dislow 0000a8b1 disend 0000a8de end ^L ; 0xfc00 bws equ 0fc00h 0xa000 ram equ 0a000h 0xd000 ramend equ 0d000h 0xd000 stack equ ramend ; ZRE RAM 0xcf00 ploc equ stack-100h 0xa900 outmem equ 0a900h
0xe0 ats equ 0e0h 0xf8 atsctc0 equ ats+18h 0xf9 atsctc1 equ ats+19h 0xfa atsctc2 equ ats+1ah 0xfa atsctc3 equ ats+1ah
0x80 zvectc0 equ 080h 0x81 zvectc1 equ zvectc0+1 0x82 zvectc2 equ zvectc0+2 0x83 zvectc3 equ zvectc0+3 0x84 zrepioad equ 084h 0x85 zrepiobd equ zrepioad+1 0x86 zrepioas equ zrepiobd+1 0x87 zrepiobs equ zrepioas+1
0x8c zmprotof equ 08ch 0x8d zmproton equ 08dh
0xf0 atssioad equ 0f0h 0xf1 atssioas equ 0f1h 0xf2 atssiobd equ 0f2h 0xf3 atssiobs equ 0f3h
0x1 discs equ 1 ; Bit 0 0x2 disres equ 2 ; Bit 1 0x4 disdat equ 4 ; Bit 2 0x8 disclk equ 8 ; Bit 3
0xd cr equ 0dh 0xa lf equ 0ah
0xa800 org 0a800h
a800 f3 start di ; Interrupt aus a801 3e ff ld a,0ffh a803 32 00 a9 ld (outmem),a
a806 21 00 fc ld hl,0fc00h a809 36 20 st1 ld (hl),20h a80b 23 inc hl a80c 7c ld a,h a80d fe 00 cp 0 a80f 20 f8 jr nz,st1 a811 21 cb a8 ld hl, otxt a814 11 c0 fc ld de,bws+3*64 a817 01 12 00 ld bc,otxe-otxt a81a ed b0 ldir a81c 3e 03 ld a,03h a81e f3 di a81f d3 86 out (zrepioas),a a821 fb ei a822 3e ff ld a,0ffh a824 d3 86 out (zrepioas),a a826 3e f0 ld a,0f0h a828 d3 86 out (zrepioas),a
a82a 3e ff ld a,0ffh a82c cb 8f res 1,a a82e d3 84 out (zrepioad),a ; Display Reset active a830 cd 71 a8 call sloop a833 cb cf set 1,a a835 d3 84 out (zrepioad),a ; Display Reset inactive a837 cd 71 a8 call sloop a83a 3e 6c ld a,060h+12 ; Numdigits a83c cd 85 a8 call cmddisp a83f cd 71 a8 call sloop a842 3e 55 ld a,050h+5 ; Duty Cycle a844 cd 85 a8 call cmddisp a847 cd 71 a8 call sloop a84a 3e 70 ld a,070h ; Lights normal a84c cd 85 a8 call cmddisp a84f cd 71 a8 call sloop a852 cb 87 res 0,a ; /CS active a854 d3 84 out (zrepioad),a ; Output a856 cd 71 a8 call sloop a859 3e 10 ld a,010h ; DCRAM Write a85b cd 99 a8 call dispout ; Output a85e 21 c9 a8 ld hl,dispste-1 ; Text a861 06 0c ld b,low dispste-dispstr ; Length a863 7e st2 ld a,(hl) ; sub 030h a864 cd 99 a8 call dispout a867 2b dec hl a868 10 f9 djnz st2
a86a db 84 in a,(zrepioad) a86c cb c7 set 0,a ; /CS inactive a86e d3 84 out (zrepioad),a ; Output a870 76 halt
a871 06 ff sloop ld b,0ffh a873 10 fe slo1 djnz slo1 a875 c9 ret
a876 01 ff 2f loop ld bc,02fffh a879 0b loop1 dec bc a87a 78 ld a,b a87b fe 00 cp 0 a87d 20 fa jr nz,loop1 a87f 79 ld a,c a880 fe 00 cp 0 a882 20 f5 jr nz,loop1 a884 c9 ret
a885 f5 cmddisp push af a886 db 84 in a,(zrepioad) a888 cb 87 res 0,a ; /CS active a88a d3 84 out (zrepioad),a ; Output a88c f1 pop af a88d cd 99 a8 call dispout a890 00 nop a891 00 nop a892 db 84 in a,(zrepioad) a894 cb c7 set 0,a ; /CS inactive a896 d3 84 out (zrepioad),a ; Output a898 c9 ret 0xa899 dispout a899 c5 push bc a89a 06 08 ld b,8 a89c f5 diloop push af a89d db 84 in a,(zrepioad) a89f cb 9f res 3,a ; pull clock low a8a1 d3 84 out (zrepioad),a a8a3 f1 pop af a8a4 cb 0f rrc a ; rotate accu trough carry a8a6 f5 push af a8a7 db 84 in a,(zrepioad) a8a9 30 04 jr nc,dislow a8ab cb d7 set 2,a ; bit is one a8ad 18 02 jr disend a8af cb 97 dislow res 2,a ; bit is zero a8b1 d3 84 disend out (zrepioad),a ; set bits a8b3 db 84 in a,(zrepioad) a8b5 cb df set 3,a ; pull clock high a8b7 d3 84 out (zrepioad),a a8b9 f1 pop af a8ba 10 e0 djnz diloop a8bc c1 pop bc a8bd c9 ret
a8be 10 dispstr db 010h a8bf 11 db 011h a8c0 12 db 012h a8c1 13 db 013h a8c2 14 db 014h a8c3 15 db 015h a8c4 16 db 016h a8c5 17 db 017h a8c6 18 db 018h a8c7 19 db 019h a8c8 1a db 01ah a8c9 1b db 01bh
a8ca 00 dispste db 0
a8cb 52 65 6c 6f 63 61 otxt string "Relocated, Hallo!!" a8d1 74 65 64 2c 20 48 61 6c 6c 6f 21 21 a8dd 00 otxe db 0
0xa8de end ERROR SUMMARY - ERRORS DETECTED 0 - WARNINGS 0
|
Gruß,
Holm -- float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v; {s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+ (r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&& (A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;} Dieser Beitrag wurde am 25.01.2019 um 08:44 Uhr von holm editiert. |