Jump to content

Platis

Members
  • Posts

    29
  • Joined

  • Last visited

Platis's Achievements

Space Invader

Space Invader (2/9)

7

Reputation

  1. Nice machines, my first computer was a Laser 200! This series was perhaps the worst in the whole Vtech range, but a good initiation computer ! Afterwards I wonder why the didn't use more of the capabilites of the 6847 chip. If you look at the Tandy CoCo you see there was more power in it than they used, like higher resolution and so. Probably because memory constrains, mine came with very little memory. The Laser 128 was released earlier! https://en.wikipedia.org/wiki/Laser_128 One more thing about the Laser 500, if it isn't mention earlier; Language of the keyboard is selected between english/german/france by a shorted pad in the keyboard matrix! English=no shorted pad Germen=A5 and KD4 French=A5 and KD5 @nippur72 Thanks for the scans of the Laser Club Magazines!
  2. Very nice work! I did a nosedive in the manual today/tonight to try and find out some questions! /TOPBK= Top memory bank select, tells if there is ROM in the expansionport (ROM Cartridge or expansion), 4 possible banks, C to F, 16K each, can be switched in at window 0000-3FFF if you place right code in first four memory locations FRSEL=50/60Hz select(PAL/NTSC?), connected to +5V in the schematic Laser 500 memory map at start 0000-3FFF=16K ROM Basic (bank 0) 4000-7FFF=16K ROM Basic (bank 1), 16K Video RAM(bank 7), Memory mapped I/O(bank 2) 8000-BFFF=16K RAM(bank 4) C000-FFFF=16K RAM(bank 5) I wonder where bank 6 with supposedly 16K RAM is hiding in the memory map, can't really find out in the book/manual!? Wonder how freely exactly you can assign a bank with which 16K window/16K socket? I have my 500 stored away for the moment, otherwise I would have tested to write to the I/O ports 40-43H and see whats happening! There is a little program in the book that use unused RAM as a RAM disk with simple Load and Save commands!! Laser 500 suprise me to be a more interesting computer than I tought, also the manual goes much more in deepth than before with other VTECH/LASER machines! Ok, that perhaps don't tell so much for an Asian computer, but anyway! I haven't still understand what market or machines VTECH really wanted to compete with! You Italian guy/guys, where there ever any DIY projects for the Laser 350/500/700 in Italy, like expansion cards and so on? I'm little keen to build an AY2149 card add on, whould be nice! And maybe a SD-card interface to easily store things on! There where a couple of Italian "Laser Computer Club" magazine to download at the archive.org, very nice, is there any more source to this magazines? How many years/numbers in existens? Please correct me if you see something misspelled or hard to understand, English is not my native language! Have a nice day!
  3. "Laser Computer Club" magazine; https://archive.org/search.php?query=laser%20computer%20club
  4. Maybe little off topic, but have you ever seen this book before? https://www.ebay.com/itm/Programming-the-Dick-Smith-Electronics-VZ300-1986-/333038434946?hash=item4d8aa33a82
  5. Vertical and horizontal retrace time? https://en.wikipedia.org/wiki/Vertical_blanking_interval
  6. Sorry for all typos, trying to do better! Tell me if something is not understandable! Okay, I read little more on bank-switching, this is my conclusion so far; The logical memory address space of the Z80, 64K, is divided in to four 16K windows. The physical memory space is 256K=16 by 16K shunks/banks/pages or whatever you want to call it. Each of the four windows of the logical memory space can be assigned with anyone of the 16 different pages/banks of the physical memory space( in theory, there are probably some limitations). The logical 64K memory space that the CPU see is divided like this and is assigned to four I/O ports; Window/bank 0, 0000-3FFF, port 40H Window/bank 1, 4000-7FFF, port 41H Window/bank 2, 8000-BFFF, port 42H Window/bank 3, C000-FFFF, port 43H You simply write the bank/page number(1-16) to the right I/O port of the window you want to assign it with! Ex. Out &H43, 7 (swapping in 16K video RAM page 7 in the top 16K logical memory map, C000-FFFF) Out &H43, 5 (swapping in 16K RAM page 5 in the same area) Machine language LD A, 7 OUT (43H), A Page 7(or 3) is tied to the video circuits at all time and constantly update your screen with its contents. When you switch it in, in one of the four 16K windows, you can access it and change it contents at those window addresses. All do, access time is shared between CPU and video circuits, which perhaps explain garbage on the screen and possible limitation. It would have been a nice feature if it really was possible to switch between two VRAM pages(3 and 7) on the fly. The manual states the VLSI chip is the same in all Laser 350/500/700 and that it is possible to switch between page 3 and 7 when writing to bit 3 in port 44H. But I suspect there is no RAM at page 3 on a 500 because it is mapped differently than the 350, a 350 with RAM expansion could possible reach both pages. The 500 64K RAM is said to be at page 4 to 7. The bank-switching on Laser 350/500/700 seem to be very dynamic. It seems to switch in and out pages very regularly/frequently to do even basic things like for example reading the keyboard(page 2=memory mapped I/O) or write to the video memory. I am not to familiar with bank-switching before but usually I associate it with extended RAM or other expansion, here the computer wouldn't work on basic level without it----only my reflection! There are of course a clear parallel to the VLSI chip on the LASER 128 which also have a crisp video/80 column and does a tons of things. But also to Sinclair(ULA), Acorn and Amstrad. Probably this was a major achievement for VTECH in 1984-85 to produce its own custom ASIC chip. In Laser 350/500/700 it says to compromise hundreds of regular ICs. Be aware that nothing above is tested on real hardware, but be welcome to verify whats working or not!
  7. I think the hole bank-switching scheme and memory addressing is little confusing to fully understand, also little different between 350 and the 500/700. C000-FFFFH screen map addresses is mapped in at 4000-7FFFH in the logic 64K memory space(as the cpu sees it) and can be C000-FFFH(page 3) or 1C000-1FFFFH(page 7) of the physical 256K memory space(determined by bit 3 at I/O port 44H). The logic 64K memory space is divided in to four 16K "windows" by ports 40-43H(43H=C000-FFFF). Then some different memory pages can be flipped in and out of some of this 16K windows. Page 1(4000-8000H) that is 16K ROM at start up can be flipped out with page 3 or 7(display RAM) or page 2(memory mapped I/O) temporarily. Page 0, the first 16K(BASIC ROM) can not be flipped and therefore also always = window 0000-4000H! Edit; The memory map for Laser 500 here; http://www.razzmoket.esy.es/memoire.htm, seems to be much more logic and correct,with page 7(video RAM) placed in the top 16K. I think page 3 are only availably on Laser 350 that has RAM in this lower area!? Logic memory space RAM between 8000-C000H in the left picture, marked as page 3 is probably a miss print and should be 4. I/O port 44H controls the display modes; In textmode; Bit 0: 0=40 column, 1=80 column Bit 1: x Bit 2: x In graphics mode; GR0 Bit 0=x Bit 1=0 Bit 2=1 GR1 Bit 0=1 Bit 1=1 Bit 2=1 GR2 Bit 0=0 Bit 1=1 Bit 1=1 GR3 Bit 0=1 Bit 1=1 Bit 2=0 GR4 Bit 0=0 Bit 1=1 Bit 2=0 GR5 Bit 0=x Bit 1=0 Bit 2=0 Bit 3; 0=page 3 and 1=page 7 in all modes Bit 4-7, is the backdrop color, 4=Blue, 5=Green, 6=Red, 7=Brightness The ports are write only and can not be read back if I understand things right! The difference between "2 of 16 colors" and "2 colors"(also of a 16 color palette) graphic modes is that in "2 of 16 colors" you can change color after every 8 pixels(every odd byte holds the info of the two colors) in the other case you can only change for the hole screen at once(write color info to port 45H)!
  8. This is one of the four I/O ports (40-43H) that control the bank-switching!
  9. Display modes: Lowest memory location is in left upper screen corner, highest in the right lower corner, All addresses are from the screen maps. Text modes 2K; 80 bytes/row 24 rows F800-FFFF(FFA0H=beginning of row 24) 40 character, 16 colors (even byte=character code, odd byte=color) 80 character, 2 of 16 colors (back and foreground color is written to I/O port 45H) Character= 5x7 dots in a 8x8 grid Graphic modes 8K; All modes 40 bytes/line E000-FFFF(FFA0=beginning of last line) GR0 160H x 96V, 16 colors, (vertical resolution is in fact 192, but every odd line is a duplication of the last even line) GR1 160 x 192, 2 of 16 colors GR2 320x192, 2 colors Graphics modes 16K; All modes 80 bytes/line C000-FFFF(FFA0H=beginning last line) GR3 160x192, 16 colors GR4 320x192, 2 of 16 colors(even byte=8 pixels(1=foreground color , 0=background color), odd byte=back and foreground color info for the 8 pixels) GR5 640x192, 2 colors, every bit is an pixel(80 bytes=80x8=640 pixels), back and foreground color info written to I/O port 45H
  10. Yes, and I am more and more convinced that it also uses the main RAM memory after checking schematics! The memory map is for all three version of Laser 350, 500 and 700 so it can appear little confusing. 350 has 16K RAM at page 3 500 and 700 has 64K RAM at page 4-7 700 has a total 128K RAM=more RAM can be bank switched in under program control!
  11. Only control codes to switch modes, background color etc uses the I/O space I think! Z80 I/O space can only adress 256 different locations(8 bits)! Do you mean Sega SG-1000?
  12. Nope, can't find any mention about custom graphics in the manual! But it seems no obvious reason why not(if not a design choice?)! The custom VLSI chip does the video, memory mapping(even bank switching) and I/O decoding. Separate external character ROM. I think it uses the regular/main RAM so possible you can POKE it if you get the right location!? It uses bank switching, 16 pages a' 16K in a 256K space, page 3 and 7 are used as video RAM! Some I/O locations to control modes etc. Screen map adresses does not really seems direct to correlate to this(maybe as page 7 adresses ?). Let me read this more carefully and come back later! Says it uses 40/80 bytes per display line in all modes, do not know if this mean that all modes use same memory locations versus screen location?? Should simplify things alot. Also it seems to be some overshoot(empty memory space after each line). Syntax for CLEAR is; CLEAR, M, N M=set the highest memory in use for BASIC N=set aside stack space for BASIC (default 512 bytes)
  13. Very nice, many thanks! A little goldmine there! Can someone verify that it is really a AY-3-8910 in the NEC TREK(as stated on the old-computers.com website)!?
×
×
  • Create New...