2017-04-12 62 views
0

如何在基本6502版中等待x個時間量?我在VICE xpet上,我想打印一個字符,稍等一會,然後刪除它,然後重複一段時間,作爲一種狀態指示器。唯一的問題是,它刪除到快速,所以指標永遠不會顯示。我試過在參考資料上尋找這樣的命令,但沒有什麼可以等待一點點。我知道,如果我做了一個巨大的循環,我可能會放慢機器的強度,但如果可能的話,我寧願避免這樣做。沒有更好的方法嗎? 謝謝!如何在6502基礎版中等待x秒

+0

喜歡的東西的Thread.sleep(X)。謝謝! – 18AdrianoH

+1

根據@BillHileman寫的內容 - 看看:https://www.c64-wiki.com/wiki/TIME - 頁面底部有一個延遲子例程。 – Pawel

+0

@ 18AdrianoH:你在這裏得到了很好的信息,但如果你不知道,還有http://retrocomputing.stackexchange.com/。 –

回答

1

自從我在6502(C-64/VIC-20)上編程已經有幾十年了,但我很確定他們的BASIC版本中有關鍵字TIMER。如果內存服務,它計算毫秒,但我可能是錯的。你可能需要玩它。設置一個等於TIMER的變量,做一個for/next循環來佔用一些時間,然後再次檢查它的值。一旦你計算出一秒鐘內有多少次滴答,你就可以使其保持不變,然後循環,直到變量=定時器開始加上每秒的常量滴答(當然,在循環之前首先將定時變量設置爲定時器)。

2

您可以參考系統變量TI進行計時。該變量的值在1/60秒內自動遞增。它不會是完美的,但它的工作原理。

下面的示例將打印TI的電流值對每個第二:在Java

10 PRINT "START " TI 
20 T0=T1 
30 IF TI-T0>=60 THEN PRINT TI;TI-T0 : GOTO 20 
40 GOTO 30