SymbOS MSX multitasking operating system - help needed! (Development MSX Forum)MSX Resource Center PassionMSX MSX2 contest              
              
English Nederlands Español Português Russian         
 News
   Frontpage
  News archive
  News topics

 Resources
   MSX Forum
  Articles
  Reviews
  Fair reports
  Photo shoots
  Fairs and meetings
  Polls
  Links
  Search

 Software
   Downloads
  Webshop

 MRC
   Who we are
  Join our team
  Donate
  Policies
  Contact us
  Link to Us
  Statistics

 Search
 
  

  

 Login
 

Username

Password




Don't you have an account yet? Become an MSX-friend and register an account now!.


 Statistics
 

There are 129 guests and 0 MSX friends online

You are an anonymous user.
 

MSX Forum


MSX Forum

Development - SymbOS MSX multitasking operating system - help needed!

Goto page ( Previous Page 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 Next Page )
Author

SymbOS MSX multitasking operating system - help needed!

Edwin
msx professional
Posts: 591
Posted: May 09 2006, 21:38   
copied from my table:
Screen5Regs:
db 6 ; Set screen 5 plus disable horizontal retrace int.
db 2 + 32 ; Disable screen (!64), vblank int (!32), 16x16 sprites unmagnified (2)
db $1F ; Select page 0
db $80 ; Reg 3 unused in Sc5-8
db 0 ; Reg 4 unused in Sc5-8
db $ef ; Reg 5 low bits sprite attr table
db $0f ; Reg 6 low bits sprite pattern table
db 0 ; black background (col=0)
db 8 ; reg 8 (64k VRAM mode)
db $80 ; reg 9 NTSC + 212 lines
db 0 ; colour table hi bits (>16kb)
db 0 ; sprite attr table hi bits (>32kb)

Prodatron
msx master
Posts: 1088
Posted: May 09 2006, 21:58   
Ok, it works!
The problem was, that I set register 2 to #00 instead of #1f. I thought the bit 0-4 are not used in screen 6, but if I didn't set them to 1, the VDP repeated the screen data every 40*24 bytes.
Thanx a lot for your help! Now I can start with some tests (but not today...).
Have a nice evening!
Prodatron
msx master
Posts: 1088
Posted: May 09 2006, 22:49   
Hm, I couldn't stop. Logical Copy made it to about 2500 4x8 blocks (this is the average size of a char in SymbOS) in one second (I hope I didn't make a mistake). This is about 1,7 times faster than on the CPC! I hope the final routine won't be much slower, but as the Z80 and the VDP can work parallel I don't see a big problem here.
Edwin
msx professional
Posts: 591
Posted: May 09 2006, 23:30   
Hehe. When you're on a roll, it's hard to stop.

That's about 40k/s. Sounds about right. The parallel processing should be helpful indeed. Even with those small copies you can set up the next character while the vdp copies one.
flyguille
msx master
Posts: 1181
Posted: May 10 2006, 01:22   
Well, you are looking proportional chr painting routine surely thinking in that is a way to set a sort of FONT SIZE, and to allow to the GUI to use several sizes of fonts.

Is a lot of problems with that, but most of all is the speed!

and the ALIASSING problems that comes from working with low resolution screen modes. Looking ugly in anything that isn't just scale 1x1.


Because that is better to set several fonts with several sizes on HD and loading it on demand. That is just a adm. system to do... and not doing nasty scale conversions.







flyguille
msx master
Posts: 1181
Posted: May 10 2006, 01:26   
And for anything like truetype is ALLWAYS good to work on RAM... because the same routine works in every hardware.... just cpu-ram interaction

what i means... to work in ram in a pattern buffer allwos you to draw a real true type format. Including to apply a sort of anti-aliassing is easy in that way. (note: the anti-aliassing slows the thing 6 times) using an algorith like unfocusing-selectively


PingPong
msx professional
Posts: 859
Posted: May 10 2006, 11:18   
Prodatron, check your mail...
Prodatron
msx master
Posts: 1088
Posted: May 11 2006, 18:58   
Another question: When I read the information about the sprite attributes, it seems, that the X-pos of a sprite can't be >255, as it is stored in only one byte. Does it mean, that in screen 6 (512x212) sprites can only be placed in the left half of the screen?
jltursan
msx professional
Posts: 820
Posted: May 11 2006, 19:06   
If I'm not wrong in this modes the horizontal sprite resolution is two pixels.
manuel
msx guru
Posts: 3351
Posted: May 11 2006, 19:38   
Indeed, in 512-wide modes, sprites can only be on even X-coordinates.
flyguille
msx master
Posts: 1181
Posted: May 11 2006, 20:50   
yes, the sprite's screen is always 256width.
Prodatron
msx master
Posts: 1088
Posted: May 11 2006, 23:23   
Ah, ok, so the sprites will also stay with a ratio of 1:1? Meaning, that a pixel pixel is like 2 screen pixels?
Hope that it will be ok for a mouse pointer in mode 6.
flyguille
msx master
Posts: 1181
Posted: May 11 2006, 23:39   
yes, it is correct

in screen 5 / 8 is 1:1 ratio

in screen 6 / 7 is 2:1 ratio
k0ga
msx user
Posts: 51
Posted: May 12 2006, 11:35   
Quote:

Hm, I couldn't stop. Logical Copy made it to about 2500 4x8 blocks (this is the average size of a char in SymbOS) in one second (I hope I didn't make a mistake). This is about 1,7 times faster than on the CPC! I hope the final routine won't be much slower, but as the Z80 and the VDP can work parallel I don't see a big problem here.



A fast copy of 8x8 consume about 702 z80 cycles, so you can do a lot of things while you are waiting vdp command ending. Unique problem for real pararell process is non end of command feature in v9938. I was thinking in this trouble long time ago, and unique solution allowing this can be using line interrupt to generate interrupts to measure time waste in the 8x8 copy. I know that is a nasty solution, but this workaround could save a lot of time and free z80 to realize other tasks.
Prodatron
msx master
Posts: 1088
Posted: May 12 2006, 13:07   
Again a quick question:
Currently I am loading and executing the binary with a basic program (autoexec.bas). The binary would be limited to less than 32K I think.
Someone already wrote in another thread, that I can move the basic memory to #c000 and do bankswitching for page 2 (#8000-#bfff). In this case I could load several 16K binaries in the extended memory before executing the code.
So how can I move the basic memory to #c000 (while the basic program is running)?
 
Goto page ( Previous Page 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 Next Page )
 







(c) 1994 - 2008 MSX Resource Center Foundation. MSX is a trademark of MSX Licensing Corporation.