Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 18:02 28 Nov 2024 Privacy Policy
Jump to

Notice. New forum software under development. It's going to miss a few functions and look a bit ugly for a while, but I'm working on it full time now as the old forum was too unstable. Couple days, all good. If you notice any issues, please contact me.

Forum Index : Microcontroller and PC projects : PICO PETSCII

     Page 18 of 38    
Author Message
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9129
Posted: 08:35am 20 Oct 2023
Copy link to clipboard 
Print this post

  Quote  I have an SD card in the system.
To verify you can install from the A: drive I did:


Yes, I've also tested from the A: drive and have never had any problems. I'm trying to understand what is different about lizby's environment and he implied that he had tried to load from A: without an sd card ever having been connected. hence the question about xmodem
 
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 4043
Posted: 08:54am 20 Oct 2023
Copy link to clipboard 
Print this post

  Volhout said  Mick/Tom's 1.4 VGA_game_mite).


For avoidance of doubt that is the "PicoGAME VGA" platform by @Mixtel90 with some prodding by me,

as opposed to the "Game*Mite" platform by me, @bigmik and @Turbo46.

I'm hoping to see if I can reproduce the library loading problem myself today.

Best wishes,

Tom
Game*Mite, CMM2 Welcome Tape, Creaky old text adventures
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9129
Posted: 09:24am 20 Oct 2023
Copy link to clipboard 
Print this post

OK

I've re-created the library problem

You cannot use xmodem to transfer a library bin file. It appends padding characters

file size of original 90460
files size of xmodem transfer 90496

difference - 36 null characters which cause the problem
 
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 4043
Posted: 09:45am 20 Oct 2023
Copy link to clipboard 
Print this post

Well done Peter, I would never have found it because my tooling removes those characters.
Game*Mite, CMM2 Welcome Tape, Creaky old text adventures
 
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 4043
Posted: 11:51am 20 Oct 2023
Copy link to clipboard 
Print this post

  lizby said  Tom--I do have Game*Mite PCBs, but don't have all the parts yet, so haven't soldered it up--and I'm keeping in mind the issues with the tented vias.


Hi Lance, I've sent you an email about this.

Tom
Game*Mite, CMM2 Welcome Tape, Creaky old text adventures
 
lizby
Guru

Joined: 17/05/2016
Location: United States
Posts: 3150
Posted: 01:10pm 20 Oct 2023
Copy link to clipboard 
Print this post

  matherp said  You cannot use xmodem to transfer a library bin file. It appends padding characters


Excellent diagnosing. That fixed the "resetting" problem. Now I just have to get everything else in order.

FYI, I have everything on the B: drive, nothing on A:.

~
Edited 2023-10-20 23:13 by lizby
PicoMite, Armmite F4, SensorKits, MMBasic Hardware, Games, etc. on fruitoftheshed
 
Martin H.

Guru

Joined: 04/06/2022
Location: Germany
Posts: 1114
Posted: 02:59pm 20 Oct 2023
Copy link to clipboard 
Print this post

  Bleep said  Hi Peter,
I use Volhout zip from the top of page 16 of this thread, that should be a complete VGA. If you want to try it on LCD then a few posts back I posted a zip lcdpetd.zip which has 2 variations, one for continuous refresh, & the other for ad-lib refresh.
Regards Kevin.


Kevin,
I changed it a little that the path/File structure now fits to Volhouts post.

LCDPET19.zip

Cheers,
Martin
btw.. looks nice on the Game*Mite  
Edited 2023-10-21 01:03 by Martin H.
'no comment
 
Bleep
Guru

Joined: 09/01/2022
Location: United Kingdom
Posts: 512
Posted: 08:48pm 20 Oct 2023
Copy link to clipboard 
Print this post

Hi Martin & Volhout,
Attached is pet19, modified so it should run on either VGA or LCD, using Volhouts latest zip file structure.
All you need to do is change Game_Mite=1 to 0 for VGA at the top of the code.
I have not been able to test it on a VGA.
If you could test it, and incorporate the changes in your master, then, in theory it will work on either in the future.
Regards, Kevin.

pet19.bas for either VGA or LCD.
lcdpet19.bas.zip
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 4247
Posted: 09:02pm 20 Oct 2023
Copy link to clipboard 
Print this post

All,

I have made the necessary changes. It is not yet perfect, but functional up to the same level as the pet19a.bas was.

Put this in the same folder where pet19a.bas was working and run it.

change:
- all the sprites/player in layer L now are added to the UNIT array, and processed from there, also the hand and looking glass. Was fun with playing with the "transparent colors". The pistol and plasma fire has black background (they are tiles, not sprites). But all works perfect Peter !!
- I have enabled the AI for the whole world map (no only viewable area). So if you bring up the map (TAB, TAB), you can see all the robots walk on that map....hihi...

I still have to streamline update_player, and some sprite flicker a bit, but that is for later. Now the focus should be on really shooting something to destruction...


Volhout


pet20.zip
Edited 2023-10-21 07:06 by Volhout
PicomiteVGA PETSCII ROBOTS
 
Martin H.

Guru

Joined: 04/06/2022
Location: Germany
Posts: 1114
Posted: 04:38am 21 Oct 2023
Copy link to clipboard 
Print this post

Kevin, Volhout,
I added a little function to translate the Game*Mite Buttons to K$.
Can be extended to fire directions "BUT-A UP " etc as you wish.
(Like the A&B = TAB)

'Controller to Keyboard translation
 '---joystick/Gamepad specific settings
 '   Settings for Game*Mite
Sub init_game_ctrl
 Local i%
 ' Initialise GP8-GP15 as digital inputs with PullUp resistors
 For i% = 8 To 15
   SetPin MM.Info(PinNo "GP" + Str$(i%)), Din, PullUp
 Next
End Sub

Function contr_input$()
 If Not game_mite Then Contr_input$="":Exit Function
 Local  n,ix% = Port(GP8, 8) Xor &h7FFF,cs$="",bit
 Local m$(7)=("DOWN","LEFT","UP","RIGHT","SELECT","START","BUT-B","BUT-A")
 ' which buttons are currently pressed
 For n=0 To 7
   bit=2^n:If ix% And bit Then Inc cs$,m$(n)+" "
 Next
 Contr_input$=cs$
End Function

'>>>>>>>NEW<<<<<<<<<<
'Controller to Keyboard translation
Function c2k$()
Local c$,tmp$
c$=contr_input$()
If c$<>"" Then
 If c$="DOWN " Then c2k$=Chr$(129)
 If c$="UP " Then c2k$=Chr$(128)
 If c$="LEFT " Then c2k$=Chr$(130)
 If c$="RIGHT " Then c2k$=Chr$(131)
 If c$="BUT-A " Then c2k$=" "
 If c$="BUT-B " Then c2k$="z"
 If c$="START " Then c2k$="m"
 If c$="BUT-B BUT-A ")Then c2k$=Chr$(9)
EndIf
End Function



just add this function call at the Position in the SourceCode, where Keyboard is read

...
'main player input loop -----------------------------------------
 Do
   'player input through keyboard, clearing buffer, check loop time
   k$="":Text 290,0,Right$("00"+Str$(Timer,3,0),3)
   Do
     tmp$=Inkey$
     If tmp$<>"" Then k$=tmp$  'keep last valid key

   Loop Until Timer>h_beat
   Timer =0
'>>>>>>>>>>>>>>>>ADD HERE<<<<<<<<<<<<<<<<<<<<<<<
   If Game_Mite And k$="" Then k$=c2k$()
'-----------------------
   ky=Asc(k$)

   'player controls movement of player character


also add it in the Intro then the Game*Mite gets mobile
Edited 2023-10-21 14:58 by Martin H.
'no comment
 
Martin H.

Guru

Joined: 04/06/2022
Location: Germany
Posts: 1114
Posted: 06:42am 21 Oct 2023
Copy link to clipboard 
Print this post

  Volhout said  All,
I have enabled the AI for the whole world map (no only viewable area). So if you bring up the map (TAB, TAB), you can see all the robots walk on that map....hihi...

I still have to streamline update_player, and some sprite flicker a bit, but that is for later. Now the focus should be on really shooting something to destruction...


Volhout


Harm,
Because I'm curious, I played it briefly.
Cute
If you have blocked the way of a bot with a chair, for example, it will also no longer move on the map  

sprite flickering:

With the introduction of magenta as a transparent color, I had to inset a "erase the player's sprite before redrawing", otherwise, because of the up and down movement of the head, parts of the hair would remain as pixels.
 
Erasing the players sprite, when moving, can be limited to one or two top lines, the rest is painted over by the new sprit then it will no longer flicker.

Cheers
Martin

EDIT
there was a typo in the listing of the function
If c$="BUT-B BUT-A ")Then c2k$=Chr$(9)
should be
If c$="BUT-B BUT-A " Then c2k$=Chr$(9)

Edited 2023-10-21 17:10 by Martin H.
'no comment
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9129
Posted: 07:16am 21 Oct 2023
Copy link to clipboard 
Print this post

Just revisiting the library issue briefly

Remember,
1: If you convert to FLASH DISK LOAD then there won't be an issue with xmodem as the "code" isn't ever executed.
2: FLASH DISK LOAD can be called in a program unlike LIBRARY DISK LOAD
3: If you load the data to flash slot 4 the addresses will be the same as the library you just need to note the various CSUB start addresses (however they will be version specific PicoMiteVGA/PicoMite)
4: If you load to a slot other than 4 then you can also have a library available for even more code and or data
5: Likewise you can FLASH DISK LOAD different data to multiple flash slots so even more data available
6. Use mm.info(FLASH ADDRESS N) to get the address of the start of any flash slot
 
Martin H.

Guru

Joined: 04/06/2022
Location: Germany
Posts: 1114
Posted: 07:43am 21 Oct 2023
Copy link to clipboard 
Print this post

@Peter or CMM2 owners
just a strage Idea ...
how about a CMM2 version?

What do you think, if I adjust the graphics for the CMM2, would the speed of CMM2 be enough to do it there with its normal "sprite write" routine?
The code would still be based on Volhout's MM Basic program Since I don't have CMM2 I would have to program it in Windows.
As MMB4W is the most compatible with CMM2.
(I've already tried this roughly in Windows. Of course, the colors don't match, so I would have  to, when it's worth it, recreate the sprites and tiles for cmm colorset)
Edited 2023-10-21 17:48 by Martin H.
'no comment
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 4247
Posted: 07:51am 21 Oct 2023
Copy link to clipboard 
Print this post

The issue with sprites

Cmm2 can handle 64
Pico can handle 31
In the sprites folder alone there are &h5F sprites.=96

A preselecting must be made.

Volhout
Edited 2023-10-21 17:52 by Volhout
PicomiteVGA PETSCII ROBOTS
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9129
Posted: 08:17am 21 Oct 2023
Copy link to clipboard 
Print this post

CMM2 has multiple PAGES (framebuffers available). All the images can be loaded into background pages and then blitted onto the main screen like the Pico - it handles transparency. If you use ARGB4444 graphics modes you have the two layers exactly like the Pico.
Suggest you get the Pico fully working and then it shouldn't be a big deal to translate to the CMM2 even if I have to "update" the CMM2 firmware to deal with any little wrinkles. Certainly worth doing  
Edited 2023-10-21 18:19 by matherp
 
Martin H.

Guru

Joined: 04/06/2022
Location: Germany
Posts: 1114
Posted: 08:28am 21 Oct 2023
Copy link to clipboard 
Print this post

  Volhout said  The issue with sprites

Cmm2 can handle 64
Pico can handle 31
In the sprites folder alone there are &h5F sprites.=96

A preselecting must be made.

Volhout
as i saysd, ist just an Idea ..
PlayerSprite cold be Swapped by , has nothing, has Pistol, has gun ..
and we got also 256 Tiles to handle, maybee by a memory copy (kind of).
In MMB4W there is no problems, loading the Tiles from Disk just in Time.

that Program then be transferred by a CMM specialist anyway. I would implement the graphics accordingly, or we can even use the original PSP graphics asCMM can work with more colors. My question was initially intended as a proof of concept.
Maybe you can interest someone of the CMM2 faction for this Idea.
Your Main program didn't need to be translated. The conversions would then only be for the graphic IO parts.
Play Modfile and Play Modsample already worked on the CMM when we didn't even think about it on the Pico
Edited 2023-10-22 01:03 by Martin H.
'no comment
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 4247
Posted: 07:39pm 21 Oct 2023
Copy link to clipboard 
Print this post

First stage damage: destroy tiles (i.e. bridge and canister).
Since damage to UNITS not yet implemented, the robot will survive the canister blow.

pet20b.zip

Volhout
PicomiteVGA PETSCII ROBOTS
 
lizby
Guru

Joined: 17/05/2016
Location: United States
Posts: 3150
Posted: 08:09pm 21 Oct 2023
Copy link to clipboard 
Print this post

  Volhout said  First stage damage: destroy tiles (i.e. bridge and canister).
Since damage to UNITS not yet implemented, the robot will survive the canister blow.

pet20b.zip

Volhout


Could you zip up and post everything? I am behind the times.
PicoMite, Armmite F4, SensorKits, MMBasic Hardware, Games, etc. on fruitoftheshed
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 4247
Posted: 09:07pm 21 Oct 2023
Copy link to clipboard 
Print this post

Here you are. This is VGA only.
You must still copy the pet_lib.bin into the library

LIBRARY DELETE
LIBRARY DISK LOAD "lib/pet_lib.bin"
RUN "pet20b.bas"

Volhout


petrobot20.zip
PicomiteVGA PETSCII ROBOTS
 
lizby
Guru

Joined: 17/05/2016
Location: United States
Posts: 3150
Posted: 09:33pm 21 Oct 2023
Copy link to clipboard 
Print this post

  Volhout said  This is VGA only.


I will see how I can merge it with what Bleep is doing (unless he beats me to it, which would be fine).
PicoMite, Armmite F4, SensorKits, MMBasic Hardware, Games, etc. on fruitoftheshed
 
     Page 18 of 38    
Print this page
© JAQ Software 2024