Jump to content

Pengwin

Members
  • Posts

    856
  • Joined

  • Last visited

Everything posted by Pengwin

  1. Like I said, I took the plunge. Here's a post about my new project: link
  2. Just thought I would make an announcement that I am planning to write and release my first A8 game. Before I tell you what it is, a brief digression. Even though i have had an 800XL since about '84, any programming I did was not game related. Most of it was also in BASIC. I have since played with Kyan Pascal, a tiny bit of Action and Quick. I was planning on writing this game in Quick as it provided a good compromise of speed, and readability. However, after reading through a thread in the programming section, I installed WUDSN and MADS to teach myself assembly. This was only yesterday! Armed with my trusty copy of Programming the 6502, by Rodney Zaks, and a pdf of Mapping The Atari, I began a brief experiment of converting some of what I had written in Quick over to assembly. The process, whilst not 100% straightforward, was quite painless. I managed to get a introduction screen, some DLI's and a VBI up and running with considerable ease. So, I have decided to rewrite the project completely in assembly. What I am saying is, bear with me, this could be a simple project (I hope), or possibly a long drawn out painful process. Anyway, on to the game. Taking a leaf out of XXL's book, I plan on porting a Spectrum game over to A8. The game is Hungry Horace, a pac-man clone released by Melbourne House in 1982. This will probably bring on groans of anguish form Spectrum lovers, but hey, it's my first game and I wanted something simple. For a brief run down on how I am going to do this, I will be using Antic mode 4 for the in game screens (with a single Mode 2 line for the score and lives). PMGs will be used for Horace himself, but the rest of the graphics with be standard UDGs. As I said, I started this yesterday and I have already created the Intro screen and the level loader, as well as converted the UDG and level data to assembly from Quick. As I get more done, I will keep you posted. If you want to see the original Hungry Horace game, here is the link If I manage to pull this off successfully, I may look at doing the other 2 official Horace games as well.
  3. I started using these packages tonight. Great combination.
  4. Never mind, just found out that it is for zero-page addresses only. That will explain my error
  5. I have this piece of code: ; Routine to load the next level level_vec .word $0000 scrn_vec .word GameScreen + $28 outchar .byte $00 loadlevel inc level ;Increment the level lda #$05 ;If the level is now 5, then set it back to 1 cmp level beq levelok lda #$01 sta level levelok ldx level ;Load the level and reduce it by 1 dex level txa ;Multiply the level by 2 for the offset asl tax lda lvlvectors,x ;Get the address of the level data sta level_vec lda lvlvectors+1,x sta level_vec+1 ldy #$00 getscrnchr lda (level_vec),y ; <---- THIS LINE HERE GENERATES THE ERROR cmp #$FF beq leveldone tax and #$0f clc adc #$40 sta outchar txa lsr lsr lsr lsr tax lda outchar rptscrnchr cpx #$00 beq getscrnchr sta (level_vec),y iny dex jmp rptscrnchr ; ++++++ HERE ++++++ leveldone lda #$00 ;Temporary instruction rts I know it's probablu quite messy, but this is my first real assembly project. However, when I try to run the assembler, it tells me that I have an illegal addressing mode on the indicated line. I though that indirect-indexed was allowed for LDA. Any help please
  6. I was having some trouble with Quick, setting up game screens and stuff, so I am going to take the plunge and try to code my current project in assembly.
  7. Well, thanks to this thread. I have now written my first 6502 assembly program. It's very simple, just a screen of text (mixed modes), with some flashing text. The timing for the flashing is done in a VBI, which is doubly amazing for me. I am so chuffed
  8. Slightly off topic here. But if you could have an ideal IDE for A8 development, what features would you like?
  9. After reading through this thread, I have now also added MADS, WUDSN and Eclipse, but this is mainly for learning assembly at the moment.
  10. I'm quite surprised that 4 out of the 5 answers so far are from people coding directly on A8 hardware (myself included). I thought more people were using cross compilers these days.
  11. I don't know about any commercially available software, but Atari User did publish a type in for 80 column text to be used with your own basic programs.
  12. Guess I'll be the first to answer this. This is my first A8 project to actually get any momentum since the 80's, so things may change after this one. Right now, I am developing directly on my 800XL, using the Quick language. When testing, I use Atari800MacX, because of its built in monitor and debugging tools.
  13. I get the same and if I FTP direct, I just get connection failed.
  14. Right, so if I have a displaylist containing: ...,135,2,... Then, if I make a colour change, it won't effect the mode 7 line that the interrupt is on, but it will effect the mode 2 line following it. Is that right? Sorry if these are basic questions, but I've not really dealt with interrupts before.
  15. I'm a little confused about Display List Interrupts. If I have a display list as follows: DATA($7000) [ 112,112,112,72,$94E8 8,8,8,8,8,8,8,8,8,8,8 8,6,6,6,6,135,6,7 65,$7000 ] Should the interrupt effect the third to last line (135) or the following line (6)?
  16. If you are looking at coding in assembly, I have managed to get working versions of MADS, ATASM and ZASM. I can send you the binaries if you like.
  17. Thanks for the tip Rybags. I can't use Altirra though (I'm on a mac), but atari800MacX does have a decent monitor and debugger. What I discovered is that the displaylist, which should be entered into memory with DATA($7000) [ 112,112,112,71,232,148 7,7,7,6,6,6,6,7,7,7,65,0,112 ] doesn't seem to be in memory. Not sure why. I tried out one of the demo games that is available on the AtariWiki, and that fails to put the display list in memory. Looks like there could be a problem with Quick itself. Edit: Just tried with Quick 2.1 (I was using 2.2) and the data is now being stored in memory.
  18. Just spotted one thing...the last byte of the display list should have been 112, not 70. But but still doesn't work
  19. Should have mentioned... the colours look great on a Pal system.
  20. Works brilliantly. I love the new front screen. The screen corruption that I saw before has now gone as well.
  21. I need some help fro anyone out there who knows Quick. I have taken a page from XXL's book and am trying to port some simple spectrum games to A8. Unlike XXL, I am not using assembly, I will be using the Quick language. In theory, this should be straight forward, but I have already hit a snag. I am trying to create a custom display list (actually, there will be 2 in the game, but one at a time here). I 'think' it is creating the correct list, but when I try to poke a character to the screen, I get nothing. I tried virtually the same in TurboBasic and I got a character on the screen. Could any one help? I am posting the code to both the Quick and the TurboBasic versions so maybe someone could see something. Quick Code BYTE [ DMACTL=559 ] WORD [ SDLSTL=560 MENUDLI MENUSCRN ] * FRONT MENU DISPAY LIST DATA($7000) [ 112,112,112,71,232,148 7,7,7,6,6,6,6,7,7,7,65,0,70 ] MAIN MENUDLI=$7000 MENUSCRN=$94E8 .FRONTMENU ENDMAIN * DISPLAY FRONT SCREEN PROC FRONTMENU LOCAL WORD [ PKPOS ] BEGIN DMACTL=0 SDLSTL=MENUDLI DMACTL=34 CLR($70,1) ADD(MENUSCRN,56,PKPOS) POKE(PKPOS,65) ENDPROC TurboBasic Code 1 DMACTL=559:SDLSTL=560:MENUDLI=28672 2 MENUSCRN=38123 3 HSBMENU=INT(MENUDLI/256) 4 LSBMENU=(MENUDLI-(HSBMENU*256)) 10 FOR F=0 TO 18 20 READ A 30 POKE MENUDLI+F,A 40 NEXT F 100 POKE DMACTL,0 110 POKE SDLSTL,LSBMENU 120 POKE SDLSTL+1,HSBMENU 130 POKE DMACTL,34 150 POKE MENUSCRN,99 1000 DATA 112,112,112,71,232,148,7,7,7,6,6,6,6,7,7,7,65,0,70 Any help would be very greatly appreciated.
  22. Is it just me, or does anyone else think that joysticks were better before they started to put micro-switches in them?

    1. Show previous comments  2 more
    2. Tickled_Pink

      Tickled_Pink

      Same answer here ... no. Although my PS2 guitar hero needs a new one.

    3. Pengwin

      Pengwin

      Guess it's just me then. :-)

    4. Zedex

      Zedex

      No man, microswitches are great, but leaf switches are even better!

  23. So this is what our deputy PM thinks of the youth today!!! (Listen to what he says at the 30 second mark) http://t.co/Q8jouBkq via @youtube

×
×
  • Create New...