Jump to content

Photo

4K Short'n'Sweet game contest


403 replies to this topic

#376 PeteE OFFLINE  

PeteE

    Chopper Commander

  • 196 posts
  • Location:Beaverton, OR

Posted Tue Apr 17, 2018 12:48 PM

Thanks Rasmus for organizing the contest and OLD CS1 for the voting.  I had a lot of fun programming my entry, hope you all enjoyed it.  Great games from everyone, I was happy to play them.



#377 Asmusr OFFLINE  

Asmusr

    River Patroller

  • Topic Starter
  • 2,996 posts
  • Location:Denmark

Posted Tue Apr 17, 2018 1:39 PM

Thanks Rasmus for organizing the contest and OLD CS1 for the voting.  I had a lot of fun programming my entry, hope you all enjoyed it.  Great games from everyone, I was happy to play them.

 

I'm trying to put together a multicart. Is there any reason why your Bounce'n'Pounce cartridge images should not work from another ROM bank than the first/only?



#378 PeteE OFFLINE  

PeteE

    Chopper Commander

  • 196 posts
  • Location:Beaverton, OR

Posted Tue Apr 17, 2018 1:47 PM

 

I'm trying to put together a multicart. Is there any reason why your Bounce'n'Pounce cartridge images should not work from another ROM bank than the first/only?

I think the bnp_4k_c.bin requiring the 32k memory expansion should work.  The bnp_fg99.bin won't work as it writes to 7000-7FFF, which would be interpreted as bank switching.  RAM is required for the program after decompression.  If you want to send me the multicart image in a PM, I can take a look in classic99 at why it doesn't work.



#379 Asmusr OFFLINE  

Asmusr

    River Patroller

  • Topic Starter
  • 2,996 posts
  • Location:Denmark

Posted Wed Apr 18, 2018 3:32 PM

I need to fix the graphics, but the games seem to be working now. The 4K versions of Fork and Bounce'n'Pounce are for the FG99 only. 

Attached Files



#380 OLD CS1 OFFLINE  

OLD CS1

    Technomancer

  • 5,860 posts
  • Technology Samurai
  • Location:Tallahassee, FL

Posted Wed Apr 18, 2018 4:38 PM

Attached File  2018 4k game compo #1.png   21.42KB   1 downloads

Attached File  2018 4k game compo #2.png   20.08KB   1 downloads

Attached File  2018 4k game compo #3.png   28.54KB   1 downloads

Attached File  2018 4k game compo #4.png   19.95KB   1 downloads

 

(Ooops, had not actually run the cart to see it has a title. Revisions coming tomorry.)



#381 Asmusr OFFLINE  

Asmusr

    River Patroller

  • Topic Starter
  • 2,996 posts
  • Location:Denmark

Posted Wed Apr 18, 2018 10:44 PM

 

(Ooops, had not actually run the cart to see it has a title. Revisions coming tomorry.)

 

 

The title on the cart was just a quick mock-up, but if has to be short for the letters to be big.



#382 Asmusr OFFLINE  

Asmusr

    River Patroller

  • Topic Starter
  • 2,996 posts
  • Location:Denmark

Posted Thu Apr 19, 2018 12:39 PM

Here's my proposed final version of the multicart. I decided to keep the title as "4K COMPO 2018".

 

I have included the source in case anyone wants to work more on this. You need Windows with xas99.py in the path to build it.

Attached Files



#383 Asmusr OFFLINE  

Asmusr

    River Patroller

  • Topic Starter
  • 2,996 posts
  • Location:Denmark

Posted Thu Apr 19, 2018 12:41 PM

@OLDCS1: Perhaps it's time to unpin these threads?



#384 OLD CS1 OFFLINE  

OLD CS1

    Technomancer

  • 5,860 posts
  • Technology Samurai
  • Location:Tallahassee, FL

Posted Thu Apr 19, 2018 3:11 PM

@OLDCS1: Perhaps it's time to unpin these threads?

 

Sure.



#385 ti99iuc ONLINE  

ti99iuc

    Stargunner

  • 1,586 posts
  • Location:Italy

Posted Fri Apr 20, 2018 9:14 AM

I done a label for my cart so i shareing here if someone like :)

 

 

with Cut Lines:

Attached File  4K-Compo2018_cut_Lines.png   102.96KB   1 downloads

 

already cutted:

Attached File  4K-Compo2018_cutted.png   97.64KB   3 downloads

 

 

Cart Example:

Attached File  post-24673-0-92596500-1524121956.jpg   177.23KB   2 downloads



#386 ti99iuc ONLINE  

ti99iuc

    Stargunner

  • 1,586 posts
  • Location:Italy

Posted Mon Apr 30, 2018 2:59 PM

For this Compo i didn't forget the prizes offered from the TI99iuc and facele.eu :) just needed for a bit of time because the presence to the Vintage Computer Festival event where we partecipated and just back yesterday, but also for complete a suprise for the great three winners.
 
Rasmus, for his first place, wrote me that prefers to have a 32k expansion as well, instead of the TI99 system and so it will be :)
 
the prizes are:
 
RASMUS          - 1) TI-99/4A System  32K expansion Card
NANOCHESS  - 2) 32K expansion Card
PeteE               - 3) TI-30 calculator + 2xPCB for build 512K cartridges.
 
I will prepare shipping packages in next few days, keep an eye the messages box, i will write you a PM when all will be ready.
 
Really thanks to all partecipants still once again, for the efforts and nice games developed in this 4k compo 2018 :)


#387 nanochess OFFLINE  

nanochess

    Processorus Polyglotus

  • 5,722 posts
  • Coding something good
  • Location:Mexico City

Posted Mon Apr 30, 2018 3:42 PM

Thank you! :)

 

I don't have forgot to improve Borzork ;) currently I've implemented a ton of missing features in relation to arcade.

 

Just a screenshot of initials entry :grin:

 

Attached File  screenshot1.png   2.56KB   4 downloads



#388 --- Ω --- OFFLINE  

--- Ω ---

    Sunbaenim

  • 13,472 posts

Posted Wed May 9, 2018 10:16 PM

Thank you! :)

 

I don't have forgot to improve Borzork ;) currently I've implemented a ton of missing features in relation to arcade.

 

Just a screenshot of initials entry :grin:

 

attachicon.gifscreenshot1.png

 

Any updates?



#389 nanochess OFFLINE  

nanochess

    Processorus Polyglotus

  • 5,722 posts
  • Coding something good
  • Location:Mexico City

Posted Thu May 10, 2018 7:10 AM

 

Any updates?

 

It's being tested with voice.



#390 PeteE OFFLINE  

PeteE

    Chopper Commander

  • 196 posts
  • Location:Beaverton, OR

Posted Sat Jun 2, 2018 5:03 PM

I received a package today...

Attached File  IMG_20180602_155747.jpg   1.07MB   6 downloads

Thank you Ciro!

#391 nanochess OFFLINE  

nanochess

    Processorus Polyglotus

  • 5,722 posts
  • Coding something good
  • Location:Mexico City

Posted Sat Jun 2, 2018 5:28 PM

Wow! nice :)

#392 OLD CS1 OFFLINE  

OLD CS1

    Technomancer

  • 5,860 posts
  • Technology Samurai
  • Location:Tallahassee, FL

Posted Sat Jun 2, 2018 5:44 PM

VERY nice!



#393 Opry99er ONLINE  

Opry99er

    Quadrunner

  • 10,358 posts
  • Location:Hustisford, WI

Posted Sat Jun 2, 2018 7:35 PM

Beautiful!!!

#394 ti99iuc ONLINE  

ti99iuc

    Stargunner

  • 1,586 posts
  • Location:Italy

Posted Sat Jun 9, 2018 1:21 AM

I received a package today...

Thank you Ciro!


I am very happy you received and you liked the package PeteE!

I know that also Rasmus got his one, now just waiting it arrive also to Oscar so that all prizes has been destinated :)

#395 nanochess OFFLINE  

nanochess

    Processorus Polyglotus

  • 5,722 posts
  • Coding something good
  • Location:Mexico City

Posted Fri Jun 22, 2018 9:12 AM

Got my 2nd place prize :) thanks!

 

Attached File  20180622_081824.jpg   1.1MB   1 downloads

 



#396 ti99iuc ONLINE  

ti99iuc

    Stargunner

  • 1,586 posts
  • Location:Italy

Posted Fri Jun 22, 2018 9:16 AM

Wow ! finally it is arrived to you too ! :)
very happy that nothing gone lost :P

You're welcome and really thanks for partecipating to the contest.



#397 fabrizio OFFLINE  

fabrizio

    Space Invader

  • 16 posts
  • Location:ITALY ( Rieti )

Posted Wed Jun 27, 2018 8:23 AM

I received a package today...

attachicon.gifIMG_20180602_155747.jpg

Thank you Ciro

:)



#398 fabrizio OFFLINE  

fabrizio

    Space Invader

  • 16 posts
  • Location:ITALY ( Rieti )

Posted Wed Jun 27, 2018 8:24 AM

Got my 2nd place prize :) thanks!

 

attachicon.gif20180622_081824.jpg

 

:)



#399 fabrizio OFFLINE  

fabrizio

    Space Invader

  • 16 posts
  • Location:ITALY ( Rieti )

Posted Wed Jun 27, 2018 8:25 AM

I done a label for my cart so i shareing here if someone like :)

 

 

with Cut Lines:

attachicon.gif4K-Compo2018_cut_Lines.png

 

already cutted:

attachicon.gif4K-Compo2018_cutted.png

 

 

Cart Example:

attachicon.gifpost-24673-0-92596500-1524121956.jpg

always goooooD !



#400 Asmusr OFFLINE  

Asmusr

    River Patroller

  • Topic Starter
  • 2,996 posts
  • Location:Denmark

Posted Thu Jan 10, 2019 12:02 AM

This help anyone? ;)
attachicon.gifunlz4.zip

 

I finally tried the cpu-to-vdp and vdp-to-cpu versions of the unzipper and unfortunately they are not working. The issue is that the unpacker needs to read from the destination data just unpacked as well of from the source data, so having source and destination in different memory spaces is not working.

 

The vdp-to-vdp version *is* working after a bit of fiddling, and I'm posting the fixed code below. It's quite slow since it's setting up a read and write address for every byte. And it's not possible to improve the speed by having a buffer between reads and writes, because there is often an overlap between the data it reads and the data it writes within a single run.

* LZ4 decompressor for 9900
* Ported by Tursi from LZ4 data decompressor for Apple II
* by Peter Ferrie (peter.ferrie@gmail.com)

* due to changing VDP address every byte, this function is
* much slower than any of the CPU involved ones.

* unpacker variables, no need to change these
* for now we'll just use registers
src     equ 0
dst     equ 1
end     equ 2
a       equ 3
b       equ 4
count   equ 5
delta   equ 6
temp    equ 7
temp2   equ 8
return  equ 9
return2 equ 12
vread   equ 13
vwrite  equ 14
vaddr   equ 15

* unpacker entrypoint
* Caller must set a VDP read address and disable interrupts
* R0 = src address
* R1 = destination address
* R2 = end of packed data

unpack_lz4_from_to_vdp:
       mov  r11,return                 ; remember return address
       li   vread,vdprd
       li   vwrite,vdpwd

parse_token:
       bl   @set_src
       movb *vread,a                   ; read a token byte
       inc  src
       movb a,b                        ; save it off for later
       srl  a,12                       ; make a counter out of the literal count MS nibble
       jeq  copy_matches               ; if it's zero, go to the match copy

       bl   @build_count               ; check for additional bytes of length
       bl   @do_copy                   ; we know the src, dest, and count, so do it
       c    src,end                    ; see if we're done yet (only place src advances)
       jl   copy_matches               ; skip over if not done and work on the back reference

       b    *return                    ; back to caller

copy_matches:
       bl   @set_src
       movb *vread,delta               ; getsrc -> lsb (sadly it can be unaligned)
       swpb delta
       movb *vread,delta               ; getsrc -> msb - this gives us the offset
       inct src
       mov  b,a                        ; get the token back
       andi a,>0f00                    ; get the reference count from the token
       srl  a,8                        ; make it a count
       bl   @build_count               ; check for additional bytes of length
    
       ai   count,4                    ; reference length always adds 4 bytes
       mov  src,temp                   ; save the current compressed source address
       mov  dst,src                    ; get the current destination pointer
       s    delta,src                  ; and subtract the delta
       bl   @do_copy                   ; we have src, dest, and count, do the copy
       mov  temp,src                   ; restore the compressed pointer
       jmp  parse_token                ; and go parse the next token

do_copy:
       mov  r11,return2
do_copy2:
       bl   @set_src
       movb *vread,temp2               ; read one byte
       inc  src
       bl   @set_dest
       movb temp2,*vwrite              ; write one byte
       inc  dst
       dec  count                      ; count down
       jne  do_copy2                   ; loop if not done
       b    *return2                   ; return if we are

* start with a count in 'a', build an actual count in 'count'
build_count:
       mov  r11,return2
       mov  a,count                    ; store the count
       ci   count,15                   ; if it's not 15, we're done
       jne  bc2
bc1:
       bl   @set_src
       movb *vread,a                   ; get the next byte
       inc  src
       srl  a,8                        ; make it a count
       a    a,count                    ; add it in
       ci   a,255                      ; check if there are more
       jeq  bc1                        ; there are
bc2:
       b    *return2                   ; else we're done

* set src as the VDP read address
set_src:
       mov  src,vaddr
       jmp  vdpwadr
    
* set dest as the VDP write address
set_dest:
       mov  dst,vaddr
       ori  vaddr,>4000
       jmp  vdpwadr

* set VDP address as per vaddr
vdpwadr:
       swpb vaddr
       movb vaddr,@vdpwa
       swpb vaddr
       movb vaddr,@vdpwa
       rt






0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users