atarionline.pl Assembler 6502 - odwapnianie mózgu :) - Forum Atarum

Jeśli chcesz wziąć udział w dyskusjach na forum - zaloguj się. Jeżeli nie masz loginu - poproś o członkostwo.

  • :
  • :

Vanilla 1.1.4 jest produktem Lussumo. Więcej informacji: Dokumentacja, Forum.

    • 1: CommentAuthorMADRAFi
    • CommentTime3 Apr 2019
     
    Loader moze zaladowac font ktory potem mozna uzyc, prawda?
    • 2: CommentAuthorxxl
    • CommentTime3 Apr 2019
     
    prawda
    • 3: CommentAuthorMADRAFi
    • CommentTime3 Apr 2019 zmieniony
     
    No w kazdym badz razie, nic nie pomoglo :(

    icl 'atari.hea'

    CHARSET_ADDRESS equ $D800; // same as in intro and game
    org CHARSET_ADDRESS
    ins '../assets/Nvdi8.fnt'
    org $0580

    introfile .byte c'INTRO XEX' ; 11 characters ATASCII (8.3 without the dot, space padded)
    gamefile .byte c'STARV XEX'
    xBiosIOresult .byte
    xBiosIOerror .byte


    loadfile
    mva #0 xBiosIOresult
    sta xBiosIOerror
    adr1 ldy #0
    adr2 ldx #0
    jsr xBIOS_LOAD_FILE
    bcc @+
    stx xBiosIOerror
    mva #1 xBiosIOresult
    @ rts



    ;---------------------------------------------------------
    dlist
    .byte DL_BLANK8, DL_BLANK8, DL_BLANK8
    .byte DL_MODE_40x24T2 + DL_LMS, a(vmem)
    .byte DL_JVB, a(dlist)

    vmem
    .byte " LOADING... "
    main


    mva #.hi(CHARSET_ADDRESS) chbas
    mva #.hi(CHARSET_ADDRESS) chbase

    mva #28 colpf1s
    mva #0 colpf0s
    mva #0 colpf2s
    mva #0 colpf3s
    mva #0 colbaks
    mwa #dlist sdlstl

    intro mva <introfile adr1+1
    mva >introfile adr2+1
    jsr loadfile

    mva #28 colpf1
    mva #0 colpf0
    mva #0 colpf2
    mva #0 colpf3
    mva #0 colbak
    mwa #dlist dlistl

    game mva <gamefile adr1+1
    mva >gamefile adr2+1
    jmp loadfile

    run main

    • 4: CommentAuthorxxl
    • CommentTime3 Apr 2019
     
    ale wiesz zeby to dzialalo... to ladowanie pod $D8xx mozesz wykonac tylko z WYŁĄCZONYM OS ?
    • 5: CommentAuthorgorgh
    • CommentTime3 Apr 2019
     
    MADRAFi: ja bym tobie radził najpierw przyswoić sobie składnie MADSa porządnie, potem przeczytać kurs assemblera Tebe i potem przeczytać dokumentację xBiosa, bez tego ciągle będziesz miał problemy. Nie rzucaj się z motyką na słońce jak nie znasz podstaw.
    • 6: CommentAuthorMADRAFi
    • CommentTime3 Apr 2019
     
    Gorgh,
    Dzieki za porade. Z takim podejscie do dzisiaj bym czytal.
    Od samego czytania jeszcze nikt sie nie nauczyl.
    Trzeba probowac, a ktos bardziej obeznany musi korygowac bledy.

    Niestety potrzebna jest praktyka a nie same czytanie.
    • 7: CommentAuthorgorgh
    • CommentTime3 Apr 2019
     
    spoczko, sam chętnie pomogę, ale z twoich postów wynika, że masz podstawowe braki
    • 8: CommentAuthorMADRAFi
    • CommentTime3 Apr 2019 zmieniony
     
    Mam braki bo wogle nie mam ochoty na asm a zmusilo mnie do tego zycie :)

    wiec probuje zalatac ten program i skupic sie na Mad-Pascalu :)

    co do loadera, dodalem systemoff, tylko pytanie mam, czy to onacza ze powinienem przestawic bit nmi w xbios.cfg ?
    • 9: CommentAuthorgorgh
    • CommentTime3 Apr 2019
     
    a to ok, myślałem, że chcesz kodować w asm, przepraszam zatem
    • 10: CommentAuthorMADRAFi
    • CommentTime3 Apr 2019
     
    Probowalem zmienic ten bit nmi, i to nie pomoglo. Dalej pomysly mi sie skonczyly.
    • 11: CommentAuthorxxl
    • CommentTime3 Apr 2019
     
    w config masz bajt odpowiedzialny za PORTB ustaw o na FE a NMI i IRQ na 00...
    • 12: CommentAuthorMADRAFi
    • CommentTime3 Apr 2019
     
    Ustawilem :)
    Poslalem mail z source, moze zauwazysz jaka glupote zrobilem :)
    • 13: CommentAuthorxxl
    • CommentTime3 Apr 2019
     
    0C50: AD 0B D4 LDA $D40B ;VCOUNT
    0C53: D0 FB BNE $0C50
    0C55: A9 FF LDA #$FF
    0C57: 8D 01 D3 STA $D301 ;PORTB
    0C5A: CE 0E D4 DEC $D40E ;NMIEN
    0C5D: 58 CLI
    0C5E: 60 RTS

    kolejna ogolna uwaga: jesli nie uzywasz czystego asemblera to bedziesz napotykal na takie kwiatki. pewnie jakies funkcje madpascala ktore wywolujesz same sobie wlacza rom jak wyzej...

    moim zdaniem zebys mniej mniej problemow w laczeniu asma i mad pascala to nie umieszczaj zadnych danych uzywanych do wyswietlania pod romem (ani DL ani zestawow ani pamieci obrazu) zadnch przerwan pod rom itd.
    • 14: CommentAuthorpin
    • CommentTime3 Apr 2019
     

    MADRAFi:

    co do loadera, dodalem systemoff,


    program nie odpali ze Side 1/2, IDEplus itd, czyli mniej więcej połowa nośników występujących wśród użytkowników NIE emulatorów ;)
    • 15: CommentAuthortebe
    • CommentTime3 Apr 2019
     
    MadPascal sam z siebie nie rusza PORTB, domyślnie działa z włączonym OS-em

    jedynie co rusza PORTB to TMemoryStream, gdzie pamięć bankowana traktowana jest jak liniowa, w sensie można do niej zapisać/odczytać zadaną ilość danych
    • 16: CommentAuthorMADRAFi
    • CommentTime3 Apr 2019
     
    @Pin
    ano nie odpali bo moja gra jak na razie rzre cala pamiec i nie ma tam miejsce na cartridge :)
    • 17: CommentAuthorpin
    • CommentTime3 Apr 2019
     
    dziwne rzeczy mówisz. Idź może najpierw drogą o której wspomniał Gorgh :)
    • 18: CommentAuthorMADRAFi
    • CommentTime3 Apr 2019
     
    system wylaczony, font sie laduje i napis sie pojawia,
    ale znika po chwili - wyglada na to ze display lista sie zmienia.

    Jak uzyskac efekt ze display lista z loadera wyswietla sie do momentu zaladowania programu przez xbios ?
    • 19: CommentAuthortebe
    • CommentTime3 Apr 2019
     
    pod Altirrą przejdź do Debug (F8), wpisz w konsoli "a8", następnie wpisz "dlist"

    co pokazuje? Twoją DLIST-e ?
    • 20: CommentAuthorMADRAFi
    • CommentTime3 Apr 2019 zmieniony
     
    dzieki,
    no jak pisalem, zmienila sie dlista na defaultowa

    BC20: x3   blank 8
    BC23: mode 2 @ BC40
    BC26: x23 mode 2
    BC3D: waitvbl BC20



    tylko dlaczego? program sie laduje z domyslna?
    Czyzby wlaczyl sie os??
    • 21: CommentAuthorxxl
    • CommentTime3 Apr 2019
     
    a to co probujesz ladowac? czym to wygenerowales?
    • 22: CommentAuthorMADRAFi
    • CommentTime3 Apr 2019
     
    loader laduje gre - z mad pascala
    • 23: CommentAuthorxxl
    • CommentTime3 Apr 2019
     
    Tebe pisze jak rozumiem, że mad-pascal by nie wygenerowal tego od $0C50... wiec?
    • 24: CommentAuthorMADRAFi
    • CommentTime3 Apr 2019
     
    nie rozumiem pytania chyba.
    Loader laduje w tej chwili bezposrednio gre( XEX) z mad-pascala.(wykastrowalem intro z loadera by skupic sie na 1 rzeczy na raz)
    • 25: CommentAuthorstc
    • CommentTime4 Apr 2019
     
    Bładzisz więc potrzebna Ci będzie mapa...
    Większość jak robi coś na atari to ma ją w pamięci :)
    • 26: CommentAuthorMADRAFi
    • CommentTime4 Apr 2019
     
    moja mapa:

    ZPFREE: $0000..$007F
    ZPFREE: $00D8..$00FF
    STRINGS SIZE: $0564
    STRINGS : $B500..$BA64
    SYSTEM: $113B..$14C9
    B_UTILS: $14CA..$1520
    B_SYSTEM: $1521..$1661
    SYSUTILS: $1662..$1698
    B_CRT: $1699..$1B2D
    XBIOS: $1B2E..$1C2C
    CODE: $0C00..$77C0
    DATA: $77C1..$968E

    FREE_TOP = $9800;

    DISPLAY_LIST_ADDRESS_TITLE = FREE_TOP;
    DISPLAY_LIST_ADDRESS_MENU = DISPLAY_LIST_ADDRESS_TITLE + $100;
    DISPLAY_LIST_ADDRESS_CONSOLE = DISPLAY_LIST_ADDRESS_MENU + $100; // $9A00
    SCROLL_ADDRESS = DISPLAY_LIST_ADDRESS_CONSOLE + $100; // $9B00
    // $100 free
    CHARSET_ADDRESS = $9C00; // $9C00 - $A000
    GFX_ADDRESS = CHARSET_ADDRESS + $400; // $A000 - $B000
    TXT_ADDRESS = GFX_ADDRESS + $1000; // $B000 - $B0B4 // 180 bytes for text

    // $400 free

    FREE_DOWN = $B500;
    STRINGS_ADDRESS = FREE_DOWN;