Jump to content

Grevle

Members
  • Content Count

    437
  • Joined

  • Last visited

Everything posted by Grevle

  1. Variable subroutines,I wonder if this is something that is common in mac65 assembler, And how its done, to show what i mean heres a example in Basic: 50 Gosub X So it will gosub the value that is stored in X, the value in X can be changed when needed so that the subroutine can reach different places in the program from the same line 50 Gosub X. How is this done in assembler ? and it is a normal practis to use this kind of feature ? Maybe it something like this ? JSR VARIABLE So it will JSR whatever value is in the VARIABLE Equate ? but then how to change that Varable ? Do i need the exact memory adress for the program line to put in the VARIABLE Equate ? The Atasm compiler shows the memory adresses for the program lines, but when editing the assembler program these adresses can easily change making this very cumbersome when programming.
  2. So then the design around the colors and player missiles maybe had a little bit with memory but also they wanted to produce a machine at a reasonble cost and features that where considered very good in the late 70,s. So they probably used the Atari 2600 arcitecture as a example and improved upon that. The Atari 2600 used lots of tricks i guess to create all the colors on screen, So my guess is the The Atari 400/800 was design with that in mind, Using DLI's and special tricks to produce many colors and or many moving objects, sprite multiplexing and so on. Well it seems so. In the late 70's these machines where very advanced for its time, well it seems so too me.
  3. i know about different graphics modes of the Atari. and i know about the DLI so the Atari can show many more colors using different tricks and also the players becomes multicolor when overlapped. The above question is about one of the most common graphics modes, Or the out of the box cababilities that it was meant to have when the Atari 8-Bits where realeased to the public.
  4. So the atari 400 and 800 Came out first. Was the Atari 800 Sold with 16k in the beginning ? As a ugradable computer to 48K . Was thinking about the 5 colors in the playfield and the 4 single color players and missile design, Wonder if that has something to do with memory, i mean if you could have picture with 16 or more colors at the same time wouldnt that need more memory both screen memory and for the Image data itself. But back in the late 70's 16K was actually seen as a large memory and so the design around the Atari Graphics colors and player missiles had to be in conjuction with what would be a reasonable memory usage and give a reasonble result at the time ?
  5. Omg looking at this is like seeing the Atari 8-Bits being created before you very eyes. The test program display, was that running of a prototype, maybe the first A8 screenshot ever ? looks like mixed modes.. Awesome stuff.
  6. Reminds me of a ad i saw , Someone selling Atari in my city. There was a picture of a Atari Printer and a modem i think. Advertised as a Computer. The price was vey low so i regret i didnt check it out, Who knows maybe there was more Atari stuff he had for sale. The advert was removed in a couple of day. anyway the seller clearly did not have a clue on what he was selling.... .
  7. Yes. well the program works now as it should with multiple jumps back and forth between Basic and assembler so its probably some stuff left on the stack that was the issue, probably i guess so. Thanks for the help
  8. Yes . It worked ..Thanks a lot. actually very helpful to know this when using assembler programs within Basic
  9. Ok so SAVESP is a memory location equate to store the return stack info ? Thank you. Il give it a try
  10. This question is about using assembler programs with the use of the USR command within turbo basic. So i did get this to work when my assembler program was simpler. When using a USR command :example (K=USR (35000). then you have to use one PLA in the assembler program for the stack. When one needs go back to basic, A RTS command with no attachments should bring the program back to Basic at the line after of the USR command that where issued in Basic. It worked at first but now my Assembler program seem to get to complicated so a RTS wont bring it back to basic. i tried som PLA,s but that doesnt work. So when using USR does this put a return adress on the stack so that when using RTS in assembler this is how it knows where to return to in Basic ?. Maybe my assembler program messes up the stack somehow. Is there a way to find out exacly witch adress is put on the stack by Basic and the somehow Manually push that adress onto the stack when needed ? Would a CRC command remove the Basic return info from the stack. I tried tracing my program buts it seems very difficult to resolve the issue.
  11. My First Atari Computer . The Atari 400 16k, and the 410 tape recorder and the games for it. Also lost my first programs written in Basic due to not proper care and aging of tapes. My Atari 400 stopped working i remember, probably 1985 - 1986 somtime. i had borrowed it to a friend some months also, Wish i took proper care of it, When it became defekt, think it was just laying around, until we moved and it propably got lost then somehow. pretty huge mistake..
  12. The melody thats playing while playing the game is "Dovregubbens Hall" in english something like "in the hall of the mountain King" By Norwegian Composer Edvard Grieg.
  13. Looks very nice, Looks like Arcade quality game.
  14. Would be nice to have a Atari 2600 emulator running on A8 hardware. Maybe a stock A8 have the power to pull it off ? Or even a Odyssey2/Videopac emulator.
  15. Ok can you give me a illustration when you have the possibility to do it ? Thank you.
  16. So i used missiles and it seems they cannot occupy the same horizontal position, that means that diferent missiles cannot be shown side to side without erasing the other missile. Even though the missiles have there own horizontal posision register. Is the reason because the missiles occupy the same memory location ? i know different bits turn on and off different missiles, so this behaviour is by design ?
  17. Yes ! that was it. Its working now, so the concept of creating a display list and put something onscreen is understood. Thank you all. Heres the result. Just a simple result but its important to understand the concepts. Btw my first Atari Exe. All other programming on the Atari has been Basic and the Basic with Assembler routines.
  18. I made the corrections 256 should ofcoarse be 156. Changed to 34 for SDMCTL. Its still not working. heres what it looks like. No characters on screen. I also changed the color registers to see if the colors was blending in. Only a one color screen.
  19. Heres my first try on the display list in assembler, just trying to create a gr.0 and put a few characters on screen. this doesnt work. Anyone see whats missing ? *=12288 SDMCTL = 559 ; Can turn on and off Antic (needed when creating display list) SDLSTL = 560 ; Shadow display list pointer low - Antic må vite hvor den nye display listen er SDLSTH = 561 ; Shadow display list pointer high LDA #0 STA SDMCTL ;TURN ANTIC OFF LDA #0 ; LOW BYTE STA SDLSTL ; store low byte of display list adress LDA #144 ; HIGHBYTE STA SDLSTH ;store high byte of display list adress LDA #34 STA SDMCTL ; ... Turn on Antic again LDX #12 STX 710 LDX #24 STX 708 LDX #34 STX 709 LDX #58 STX 711 LDX #40 STX 712 ; set color LDX #66 ; try to put som characters on screen STX 40000 STX 40010 LDX #68 STX 40025 LDX #70 STX 40190 HOLD JMP HOLD ; The Display list for GR.0 *=39968 Mylist .Byte 112,112,112 ; three blank lines .byte 66,64,156 ; first is lms command two other is for screen adress (Adress off scrren memory) high byte,lowbyte = low byte,highbyte = 40000 .byte 2,2,2,2,2,2,2,2,2,2,2,2 .byte 2,2,2,2,2,2,2,2,2,2,2 ; 23 times antic mode 2 lines = Basic mode 0 .byte 65,144,0 ; first is jump on vertical blank instructions,2 other is the adress low byte first. the adress for the display list itself
  20. I think i almost got it now but i need to learn how to split a decimal number into low byte and high byte. I know how it works the other way.but whats produce for splitting a decimal number into low byte and high byte ?
  21. I found som other topic that seemed helpful on this matter, il start reading som books, I pobably get the hang of it.
  22. Ok. so i was planning to make my first Atari Executable program, previous i have used Turbo Basic with assembler routines in "Speedway one". im using Atasm to compile. thats compitable with mac/65. So if there som working assembler example in mac 65 for setting up a display list, that would be helpfull for me..
  23. The Graphics modes avaible in Basic and Turbo Basic, can they be "turned on" in assembler also, Or do i have to replicate the entire dislpaylist for the mode i want to use in assembler ? any easy way of setting the atari graphics modes in assembler ?.
  24. All those wonderful CRT screens, Im glad i have saved up a little bunch of 14 inches crt tv.s. When OLED monitors probably will be the norm i a few years time. OLED monitors probalby will be amazing in so many ways. very low input lag,Altough when they need to use scaling , That will probably add a little lag but that remains to be seen how the Oleds monitors will operate, and then a amazingly good black level and contrast. Cant wait for the Oled screns to become the Norm. Hopefully it will happen wihtin a few years.
  25. About pushing a adress onto the stack, Does it work like this, You sort of put a adress on the stack and then a RTS will then use this adress to return to ? Can you give me a example on how it is done ? Thank you.
×
×
  • Create New...