C64Power Forum

Software => Programowanie => Wątek zaczęty przez: qus w 29 Czerwca 2016, 12:03

Tytuł: Czy ktoś prosił o kompilator?
Wiadomość wysłana przez: qus w 29 Czerwca 2016, 12:03
Zdaje się, że Kisiel marzy o kompilatorze basica, bo mu za wolno chodzą drajwery do UK. No i znalazłem taką ciekawostkę. Proszę spojrzeć na programik w pewnym języku:

use c64

xk,yk:byte

xk,yk=KGetCursor

KChrOut xk
KChrOut yk

KSetCursor 10 10

loop@
inc borderColor
goto loop

A teraz kod, do którego się toto skompiluje:

_borderColor equ 53280
_KChrOut equ 65490
   opt f+ h-
_CODE_START equ $801
   org [a(_CODE_START)],_CODE_START
   dta a($80c), a(10), b($9e), c'2061', b(0), a(0)
   jsr _KGetCursor
   txa
   jsr _KChrOut
   tya
   jsr _KChrOut
   ldx #10
   ldy #10
   jsr _KSetCursor
_loop:
   inc _borderColor
   jmp _loop
   icl './platform/c64/c64.asm'
   icl './cpu/m6502/m6502.asm'
_CODE_END equ *-1
;end

inkludowany plik zawiera:


KGetCursor .proc
 sec
 jmp $fff0
.endp

KSetCursor .proc
 clc
 jmp $fff0
.endp

Ładne? :D
Tytuł: Re: Czy ktoś prosił o kompilator?
Wiadomość wysłana przez: Skull w 29 Czerwca 2016, 13:18
zdaje się że nie zrozumiałeś " napisz zamiast interpreter to kompilator basica,".
Kompilator ma być zamiast interpretera (ep-rom w C64), a to jest owszem sprytny ale niestety cross-compilator z innej plaformy.
Tytuł: Re: Czy ktoś prosił o kompilator?
Wiadomość wysłana przez: Kisiel w 29 Czerwca 2016, 13:25
no takiego kompilatora w romie jeszcze nikt nie zrobił. Coś ala JIT by się przydał :) ewentualnie by mógł używać rozszerzenie pamięci 16MB lub mniej.
Tytuł: Re: Czy ktoś prosił o kompilator?
Wiadomość wysłana przez: qus w 29 Czerwca 2016, 13:40
To dorzucę jeszcze wyswapowywanie kodu źródłowego do pamięci wirtualnej na dyskietce, bo taki JIT to może trochę RAMu zająć.
Tytuł: Re: Czy ktoś prosił o kompilator?
Wiadomość wysłana przez: Kisiel w 29 Czerwca 2016, 13:50
64kB vs 16MB rozszerzenia ...a Ty chcesz swapać na dyskietkę ... po chuj ?

Oczywiście dyskusja typowo akademicka bo nie sądzę abyś ogarnął źródła kompilatorów... AUSTRO kompiler było coś takiego ?
Tytuł: Re: Czy ktoś prosił o kompilator?
Wiadomość wysłana przez: Kisiel w 29 Czerwca 2016, 14:19
No i jeszcze taki inny pomysł.. źródła są znane... błędy basica są znane.. może byś się pokusił o przepisanie basica od nowa tak aby był szybszy i bez błedów ?
Z pewnością możesz liczyć na feedback od naszych coderów i pomocną dłoń niewidzialnej ręki sprawiedliwości :)

PS. plus obsługa ekstra pamięci od C000 :) :) :)
Tytuł: Re: Czy ktoś prosił o kompilator?
Wiadomość wysłana przez: qus w 29 Czerwca 2016, 14:37
Szybszy, bez błędów, samohostowany kompilator basica, do tego napisany w basicu v2 i żeby nie był większy niż dwa kilobajty. Inaczej to żadne wyzwanie.
Tytuł: Re: Czy ktoś prosił o kompilator?
Wiadomość wysłana przez: Kisiel w 29 Czerwca 2016, 14:41
bo jak nie Ty to kto ?
Tytuł: Re: Czy ktoś prosił o kompilator?
Wiadomość wysłana przez: qus w 29 Czerwca 2016, 16:23
no to wtedy zostaje Kisiel.
Tytuł: Re: Czy ktoś prosił o kompilator?
Wiadomość wysłana przez: Kisiel w 29 Czerwca 2016, 17:00
ja już się nakodowałem testerów kernala, core6502 przy obsłudze UK1541, nie chce już tykać asm6502.
Chociaż teraz debugerów jest multum fajnych... znaczy się jeden z Samar ;)