I am coding this game for the c64 and vic20, and I am planning to do it also on the commodore plus4 and ofcourse on the oric, and this is the version I want to start now to reach the level of the other two.
Here you can see a couple of screens from the other versions(the vic20 and other versions will be a picross game but not the same game as the c64 version, but the engine is the same of course)
and the video http://www.youtube.com/watch?v=5tqbgIOKa10
Now, yesterday I worked on some graphics for the oric version, I had some help from Twi about the attributes etc. Thank you.
My problem at the moment is the following, I have written a small program to show just one tile on screen but I am not managing to make it work, what I did was the following, as my assembler outputs a raw file but which first two bytes are the address where to load the code into memory I used an hex editor to remove those two bytes and then used the tool Header.exe to create a .tap file(header -a1 game.o game.tap $500), when I tried to load it with cload "game" euphoric would hang or wouldn't run the program as intended. I presume I must be doing something wrong here. Months ago when I created a small program it worked I must have done something differently I am not sure what.
Other thing, for this game I need a clock, on the c64/vic20 versions I use an irq interrupt with a counter for the effect. How can I do this on the oric? Can you guys give me some link to the subject of interrupts plz.
the code I am trying is the following (this is just a test not the code for the game, at first I coded some nasty routine with even self modifying code but as it was crashing I thought as this was a test to go for some simple code with no loops )
Code: Select all
.pc = $500
jsr $ec33
sei
lda #$03
sta $a000
sta $a000+40*2
sta $a000+40*4
sta $a000+40*6
lda #$02
sta $a000+40
sta $a000+40*3
sta $a000+40*5
sta $a000+40*7
ldy #$00
lda tile0,y
sta $a001+40
iny
lda tile0,y
sta $a001+40*2
iny
lda tile0,y
sta $a001+40*3
iny
lda tile0,y
sta $a001+40*4
iny
lda tile0,y
sta $a001+40*5
iny
lda tile0,y
sta $a001+40*6
jmp*
tile0: .byte %11000000
.byte %01000000
.byte %01011110
.byte %00000100
.byte %01011010
.byte %00000100