Jump to content

etxmato

Members
  • Posts

    35
  • Joined

Recent Profile Visitors

1,516 profile views

etxmato's Achievements

Space Invader

Space Invader (2/9)

36

Reputation

  1. @carlsson Definitely interested to add a Cybervision emulator in Emma 02! I have been wanting to do so since 2016 when I first heard mention of the Cybervisions, but minimum requirement is the ROM and it looks like the above is indeed corrupt somehow. Data bit 4 is always 1 which is suspicious but there might be other issues. Also need to dig into this video chip to be able to get going... Cheers, Marcel.
  2. Yes TVOFF should stop the interrupt and as such the DMA outs. Haven’t tested it but fairly sure it will speed up.
  3. Hi Anders, I got a scan of the VIP Tiny BASIC manual from Ed Keefe; thanks Ed! As mentioned Studio IV BASIC is more or less the same however has a higher video resolution and is of course missing the Simple sound board. Have fun! If the speed is a problem for you, you can always give it a bit higher CPU frequency in Emma 02 ;). Cheers, Marcel. VIP Tiny Basic - Instruction Manual - VP700.pdf
  4. Hi Anders, intvnut, The Studio IV needs a lot of CPU power to do the screen update. Both the Pixie chip used in the VIP and the Studio IV video are very basic, or in other words the 1802 does most of the work. This leaves a lot less processing power for the the 'rest' of the code. Anyway, glad to see my NTSC 2020 version has the same speed as the 1978 one :). The reason why my 2020 PAL version runs so much slower is only caused by the video routines. There are no other differences. The Studio video needs to be updated with a frequency of 50 Hz on PAL. On every update the complete video memory (1K) will be outputted via DMA out instructions. On NTSC (60 Hz) every byte is outputted twice (total of 2K DMA outs) and on a PAL every byte is done 3 times (total of 3K DMA outs). This as we have more lines to show on a PAL system. Besides the 3K DMA outs instructions there is additional 'overhead'; to get the output timed it also delays at every horizontal sync. This is another 6 instruction for every line, i.e. every 16 DMAs. These 6 instructions are actually needed/used to make sure lines are repeated twice or three times depending on PAL/NTSC systems. So we are actually doing 22 instructions per visible line, every vertical sync, meaning PAL: 64*3*22=4224, NTSC 64*2*22=2816 instructions needed for every vsync. I think on a PAL system that leaves about 1500+ instructions for regular code :(. The 1978 version is an NTSC version, so yes you can run it on a PAL emulation but the video output will in that case use the same amount of lines as the NTSC mode. Maybe also worth noting is that the 1802 uses 16 clock cycles per CPU instruction (at leats on a pixie system, other systems 16 or 24). And as said before on all of this we have an interpreter running the BASIC interpreter... TI is a timer, 1 = 1/60 of a second. So TI=300 sets a 5 seconds timer. Didn't actually test that on Emma 02 but would be a good test to see if I got it right :). I expect a PAL will do 1/50 of a second. To use this you need something like 10 TI=300 20 X=TI 30 IF TI>0 THEN 30 FQ sets the tone generator frequency, but this is for the VP-595 simple sound board; not sure if it does anything on the Studio. TO generates the tone, so TO=180 should create a tone of 3 seconds. Again not sure it does anything on a Studio, would need to check. Not sure about the BASIC manual, will check and let you know.... Cheers, Marcel.
  5. Hi Anders, Yes the Studio IV BASIC is rather slow. One reason for it being slow is that it is written in a pseudo code language, similar set-up as the Chip8. The same BASIC was released for the VIP as the VP700 Tiny BASIC. Both use the same pseudo code (more or less) but interpreters have some larger differences. So the fact that it is not really coded in 1802 code makes it that much slower. Floating Point BASIC 2.2 (or VP701 BASIC) as running in Emma 02 on the VIP II is a completely different BASIC and is more related to COMX BASIC or the Quest BASICs. So purely coded in machine code. The VIP VP700 BASIC uses a lower resolution compared to the Studio IV. But as you say the Studio runs on a faster CPU clock so I would still expect the Studio one to be faster than the VIP VP700. Didn't check or test that. I'm not sure which version you tested. But note that the '2020' versions use my code for the interpreter, i.e. I took the VP700 interpreter and adapted that to the Studio IV HW and higher resolution. This as we did not have a copy of the Studio IV Interpreter code, we just had the pseudo code part. A few months later Kevin found us a copy of the original interpreter code which I included as 'am4kbas 1978.bin'. I looked thru both interpreters a bit and of course they differ. Possibly my code is slower, I did not test this theory :). Also the Studio IV or the ST IV BASIC were never released, maybe because RCA came to the same conclusion as you :). Cheers, Marcel.
  6. Hi there, Maybe slightly off topic but I finally released Emma 02 V1.37 with my VIP and Studio IV Super-chip interpreter, both would need modifications to run on real machines, i.e. high resolution mod on the VIP and different memory configuration on the Studio IV. Runs on windows, linux and OSX but unfortunately NOT on Big Sur at the moment. For more details see the change log and if you like to give it a spin use the download page. Comments, bug reports or other are welcome as always. Cheers, Marcel.
  7. Hi Sly DC, Correct, 1K RAM is needed for video RAM in the 128x64 resolution, whereas the lower res only needs 256 bytes of video RAM. Some of the chip8 games do need to be running in RAM, that was one of the issues I had when porting to the Studio II.... Two S-CHIP games tested 'ok' now on the VIP, most still have some strange graphics here and there. Possible caused by my code or incompatibilities like the shift and load quirks from chip8.... will continue tomorrow :). Cheers, Marcel.
  8. Hi Maybe slightly off topic but when I looked at Sly DCs Chip8 archive and the links he provided in previous posts, I got interested (again) in super-chip. Way back I had seen different super and mega chip descriptions but I had dismissed them for the 1802 machines, mainly due to higher resolutions. Now I noticed super-chip uses the same resolution as the chip10 which is running on a HW modified VIP. So I thought hmm, couldn't we run super-chip on that same modified VIP? and....? Yes! Super-chip Blinky running on a very early version of my new 1802 super-chip interpreter :). So far this is the only game I got running, I did have to make the shift_quirk fixes which were done in the chip8 version but than it does run. I might be able to fix those in this interpreter as I have made some more 'space' available. It will also need a VIP with 8K due to the larger interpreter size and 1K video memory which would otherwise leave less than 2K for games. I have the down scroll working but it is way too slow for any game play, left and right scroll is not implemented and just scrolling 4 pixels is going to be impossible on the 1802 due to speed. 8 pixels would be possible but also as slow as the down scroll. So we'll have some speed problems.... but it was fun to see Super Blinky come to live on the VIP. When I have this running, I also intend to see if I can port it to the Studio IV. The IV has the same resolution so it should be doable. To be continued.... Cheers, Marcel.
  9. Hi Sly DC, Are you sure the Highres Blinky is the same as the original? I did see a 00FF code in there somewhere which is code for switching to high res in super-chip8.... Thanks for the game explanations, that helped for a few: Death Star vs Yoda - I added a fix so it doesn't crash in the end Mysterious - I added a fix to display numbers correct on the VIP X-Ray - found some typos when I compared the first 512 bytes with the manual, now it runs better. There might be more typos. Also note X-Ray is a hybrid! it includes 1802 code and as such probably won't run on Chip8 emulators. These 3 fixes are attached.... Others: Deep8, snafu, super block - all indeed run 'ok' with your manual... super block is a bit slow on the VIP and the ''player' looks slightly different then on the chip8 emulator online. Might also be due to speed, not sure. Snake and Sokoban1 are as far as I can figure out not complying to chip8 code. They store data over 0-0x200 which crashes the VIP. When I try to correct that and also correct a shift error they still don't run properly. I also think Snek and Tank! have bugs or don't comply to chip8 code. Warhaws Revenge might be 'ok', but still not sure what the end game is.... I will not include the games which don't run. Anyway, thanks a mill for all the work you must have put in to try and collect all this :). Cheers, Marcel. X-Ray (fix)(Rand Miller)(1980).txt X-Ray (fix)(Rand Miller)(1980).ch8 Mysterious (fix)(by Guillaume Desquesnes)(2019).txt Mysterious (fix)(by Guillaume Desquesnes)(2019).ch8 Death Star vs Yoda (fix)(by TodPunk)(2018).txt Death Star vs Yoda (fix)(by TodPunk)(2018).ch8
  10. Hi Sly DC & others, Some findings and fixes attached. Not all of these were done by me but for some reason I already had some fixed code. Some others I corrected, all shortly described in matching txt files. The only load_store_quirk program (that I know of) that I don't have a fix for is the stars demo. I also found some games with wrong type or in the wrong folder: The following code is Super-chip8: Super Square (tann)(2014).ch8 (is in the chip8 folder) Traffic (by Christian Kosman)(2018).sc8 (is in the chip8 folder) Hires Blinky (by Michael Wales)(2015).ch8 (is in the high res folder but is not a high res game) The following code is hybrid not chip8X: Bingo [Andrew Modla] (hybrid).c8x Blackjack [Andrew Modla] (hybrid).c8x Message Center [Andrew Modla] (hybrid).c8x Pinball [Andrew Modla] (hybrid).c8x Video Display Draw [TCNJ S.572.2].c8x Video Display Drawing Game [Joseph Weisbecker] (hybrid).c8x Chip8X is the colour / sound version whereas hybrid is Chip8 and 1802 code combined. Last the following games gave some problem or I don't really 'get them', if anyone has more info please comment: Death Star vs Yoda (by TodPunk)(2018).ch8 - Hitting the Y causes a crash Deep8 (by John Earnest)(2014).ch8 - I have seen this working once; but most times there is no possibility to 'do' anything before the ship is blown up. Mysterious (by Guillaume Desquesnes)(2019).ch8 - F key starts something but I just see rubish on the screen on subsequent key presses Snafu (Shendo)(2010).ch8 - looks like nothing moves the snake Snake (by Daniel Jianoran)(2018).ch8 - Looks like chip 8 code is using RAM 0-0x200 where the VIP interpreter is located and as such crashes the game SNEK (by glitchland)(2020).ch8 - looks like nothing moves the snake Sokoban1 (by Daniel Jianoran)(2018).ch8 - Looks like chip 8 code is using RAM 0-0x200 where the VIP interpreter is located. Space Intercept (fix)(Joseph Weisbecker)(1978).ch8 - Does anyone know what was fixed, I thought the original game was 'ok'? Super Block (by Joshua Barretto)(2019).ch8 - key 5 and 6 do something but I don't really get it Tank! (by RectusSA)(2018).ch8 - Key E fires but screen doesn't get cleared after shot? Tick-Tack-Toe (fix)(by Joseph Weisbecker)(1977) - Does anyone know what was fixed, I thought the original game was 'ok'? Warshaws Revenge (by Ethan Pini)(2019).ch8 - Some graphics look strange? Not sure how the game works either X-Ray (Rand Miller)(1980).ch8 - looks like it gets into an endless loop after a few key presses Boot-128 (hybrid).c8x - No clue what this does I also had problems with some of the demos but haven't listed the errors (as yet). Cheers, Marcel. Animal Race (fix)[Brian Astle].ch8 Animal Race (fix)[Brian Astle].txt Astro Dodge (fix)[Revival Studios, 2008].ch8 Astro Dodge (fix)[Revival Studios, 2008].txt Blinky (fix)[Hans Christian Egeberg, 1991].ch8 Blinky (fix)[Hans Christian Egeberg, 1991].txt BMP Viewer - Andnxor (fix)(by And!Xor Team)(2017).ch8 BMP Viewer - Andnxor (fix)(by And!Xor Team)(2017).txt BMP Viewer - Hello (C8 example) (fix)[Hap, 2005].ch8 BMP Viewer - Hello (C8 example) (fix)[Hap, 2005].txt Connect 4 (fix)[David Winter].ch8 Connect 4 (fix)[David Winter].txt Hidden (fix)[David Winter, 1996].ch8 Hidden (fix)[David Winter, 1996].txt LabVIEW Splash Screen (fix)(by Richard James Lewis)(2019).ch8 LabVIEW Splash Screen (fix)(by Richard James Lewis)(2019).txt Lainchain (fix)(by Ashton Harding)(2018).ch8 Lainchain (fix)(by Ashton Harding)(2018).txt Lombat Lombat Asoy! (fix)(by Razka173 Team)(2018).ch8 Lombat Lombat Asoy! (fix)(by Razka173 Team)(2018).txt Loose Cannon (fix)(demo).ch8 Loose Cannon (fix)(demo).txt SierpChaos (fix)(by Marco Varesio)(2015).ch8 SierpChaos (fix)(by Marco Varesio)(2015).txt Tic-Tac-Toe (fix)[David Winter].ch8 Tic-Tac-Toe (fix)[David Winter].txt
  11. Looked into the shift_quirk, that is actually not that easy to do in the chip8 interpreters. The code is the same for all/multiple 8XY. commands so it would alter other commands as well. So for the moment I will leave that idea. Also the shift command is rather easily fixed in the game code and a fix would run on both type of interpreters. So maybe an idea is to 'fix' the shift errors in the games and have a load_store_quirk version for the different interpreters (VIP, Elf, Studio II and maybe the Elf2K). Cheers, Marcel.
  12. Hi sly DC, Ok, we have a bit of a problem here.... I see that some of the games in your archive are different form the ones I have in the Emma 02 archive. Like Blinky, Connect 4, Tic Tac Toe, Space Invaders etc. All of 'my' versions work fine, the ones you have don't. I was sure my versions were the original but thought I check on David's site and to my surprise mine are NOT the originals, yours are :). So someone has already fixed some of these, not sure who.... Now the question is what we should fix, should we have multiple versions of the chip8 games or correct the chip8 code on the VIP, Studio II, Elf 2K and Elf? I did a test with the chip8 on the VIP and have made a version to have the same load_store-quirk as on the page linked by you above. With this fix I could run the Connect 4 and Star demo from your archive correctly. It is all a bit messy, unfortunate that the Chip8 versions deviated from each other over the years. Of course my opinion is that the original VIP is the 'correct' one but at the same time we have a lot of code now that won't run on that version.... so maybe creating multiple chip8 interpreters with the quirk fixes is better? Opinions from anyone? Cheers, Marcel.
  13. Hi sly DC, Attached are the fixed BMP viewer files. If you or anyone else knows which other chip8 programs/games have a similar shift issue, just let me know and I can provide fixed code. Cheers, Marcel. BMP Viewer - Andnxor (by And!Xor Team)(2017).ch8 BMP Viewer - Black Cat (by Sly DC)(2016).ch8 BMP Viewer - CCJVQ (by Sly DC)(2013).ch8 BMP Viewer - Chippy Bros (Sly DC)(2016).ch8 BMP Viewer - Elf-Trek (by Sly DC)(2013).ch8 BMP Viewer - Hello (C8 example) [Hap, 2005].ch8 BMP Viewer - Hello World (bySly DC)(2016).ch8 BMP Viewer - Invader (by Sly DC)(2016).ch8 BMP Viewer - Je Suis Charlie (by Sly DC)(2016).ch8 BMP Viewer - Joseph A. Weisbecker Signature (by Sly DC)(2016).ch8 BMP Viewer - Kiwi (by Thomas Daley)(2017).ch8 BMP Viewer - Kiwi8_logo_1 (by Thomas Daley)(2017).ch8 BMP Viewer - Kiwi8_logo_2 (by Thomas Daley)(2017).ch8 BMP Viewer - Not Windows! (by Sly DC)(2013).ch8 BMP Viewer - Octo Logo (by Sly DC)(2016).ch8 BMP Viewer - RCA Studio II Logo (by Sly DC)(2015).ch8 BMP Viewer - Sexy Girl (by Sly DC)(2016).ch8 BMP Viewer - Sly DC (by Sly DC)(2016).ch8 BMP Viewer - Sly DC 2013 (by Sly DC)(2013).ch8 BMP Viewer - Those Eyes (by Sly DC)(2016).ch8 BMP Viewer - Tron Legacy (by Sly DC)(2013).ch8 BMP Viewer - Youtube (by Sly DC)(2016).ch8
  14. Hi slydc, Indeed, I remember now that we talked when we ported the chip8 interpreter to the Studio II; that was fun. Since then I also ported chip8 to the Elf2K :). Anyway I read your blog after I posted here yesterday, read it again today and looked at the shift command definition. So at least for the bmp viewer there is an easy fix; just change the SHR V1,V0 to SHR V1. Or in other words change byte ‘F’ (byte 15) from 6 to hex 16. Just tested that for the Hello version and it ran directly. Traced as well and the code makes sense to me know ?. I cannot really ‘fix’ it in Emma 02 as I don’t emulate chip8 as such there is no bug in Emma 02. I emulate the 1802 and then the chip8 interpreter running on the 1802 decides how to handle the chip8 shift commands. If needed I can post converted files here later tonight. Cheers, Marcel
  15. Hi Slydc, I started adding the missing files to the Emma 02 archive, however ran into some problems when I tested the BMP viewer. I did have that included before but only the Hello version from 'Hap'. When I run this or any of the other BMP viewer demos on the VIP, Elf or Studio II chip8 they don't actually show a picture (except for the Andnxor one which also crashes in the end on the VIP). Have you tested these, if so on what? I'm suspecting they are not compatible with the original chip 8 interpreter but of course I could be mistaken.... It looks like V0 gets initialised to 2 instead of 0x40 and V1 to 1 I think instead of 0x20. Haven't really figured out why as yet... Cheers, Marcel.
×
×
  • Create New...